Forráskód Böngészése

Fix #418

Signed-off-by: shedaniel <daniel@shedaniel.me>
shedaniel 4 éve
szülő
commit
80d87e7bd8

+ 10 - 2
RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java

@@ -100,6 +100,8 @@ import org.apache.logging.log4j.Logger;
 import org.jetbrains.annotations.ApiStatus;
 
 import java.util.*;
+import java.util.function.Consumer;
+import java.util.function.IntConsumer;
 import java.util.function.UnaryOperator;
 import java.util.stream.Stream;
 
@@ -183,12 +185,18 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin {
         EntryStack stack = EntryStack.create(Items.ENCHANTED_BOOK);
         List<EntryStack> enchantments = new ArrayList<>();
         for (Enchantment enchantment : Registry.ENCHANTMENT) {
-            for (int i = enchantment.getMinLevel(); i <= enchantment.getMaxLevel(); i++) {
+            IntConsumer consumer = level -> {
                 Map<Enchantment, Integer> map = new HashMap<>();
-                map.put(enchantment, i);
+                map.put(enchantment, level);
                 ItemStack itemStack = new ItemStack(Items.ENCHANTED_BOOK);
                 EnchantmentHelper.setEnchantments(map, itemStack);
                 enchantments.add(EntryStack.create(itemStack).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE));
+            };
+            if (enchantment.getMaxLevel() - enchantment.getMinLevel() >= 10) {
+                consumer.accept(enchantment.getMinLevel());
+                consumer.accept(enchantment.getMaxLevel());
+            } else {
+                for (int i = enchantment.getMinLevel(); i <= enchantment.getMaxLevel(); i++) consumer.accept(i);
             }
         }
         entryRegistry.registerEntriesAfter(stack, enchantments);