diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-05-16 20:11:55 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-05-16 20:11:55 +0800 |
| commit | 0cd2336ababe5d6c78a64943adde5b54cb3e72b6 (patch) | |
| tree | 68650d989c4b44c2f9db4ae8aa3ad0f5cec1a2ec /default-plugin | |
| parent | 59b876a013e2f626be4c848704da02e72780961b (diff) | |
| parent | 7ebb226c85529ef9de4c93ce91f24c9ca6f608a7 (diff) | |
| download | RoughlyEnoughItems-0cd2336ababe5d6c78a64943adde5b54cb3e72b6.tar.gz RoughlyEnoughItems-0cd2336ababe5d6c78a64943adde5b54cb3e72b6.tar.bz2 RoughlyEnoughItems-0cd2336ababe5d6c78a64943adde5b54cb3e72b6.zip | |
Merge remote-tracking branch 'origin/6.x' into 6.x-1.17
# Conflicts:
# build.gradle
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java
Diffstat (limited to 'default-plugin')
3 files changed, 22 insertions, 7 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java index 97d46d254..325995f52 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java @@ -29,6 +29,8 @@ import com.google.common.collect.Sets; import it.unimi.dsi.fastutil.objects.Object2FloatMap; import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; import it.unimi.dsi.fastutil.objects.ReferenceSet; +import me.shedaniel.architectury.annotations.ExpectPlatform; +import me.shedaniel.architectury.annotations.PlatformOnly; import me.shedaniel.architectury.platform.Platform; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.favorites.FavoriteEntry; @@ -42,6 +44,7 @@ import me.shedaniel.rei.api.client.registry.screen.ExclusionZones; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.api.client.registry.transfer.TransferHandlerRegistry; import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.api.common.util.EntryStacks; @@ -226,14 +229,14 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin } EntryIngredient arrowStack = EntryIngredient.of(EntryStacks.of(Items.ARROW)); ReferenceSet<Potion> registeredPotions = new ReferenceOpenHashSet<>(); - EntryRegistry.getInstance().getEntryStacks().filter(entry -> entry.getValue() == Items.LINGERING_POTION).forEach(entry -> { + EntryRegistry.getInstance().getEntryStacks().filter(entry -> entry.getValueType() == ItemStack.class && entry.<ItemStack>cast().getValue().getItem() == Items.LINGERING_POTION).forEach(entry -> { ItemStack itemStack = (ItemStack) entry.getValue(); Potion potion = PotionUtils.getPotion(itemStack); if (registeredPotions.add(potion)) { List<EntryIngredient> input = new ArrayList<>(); for (int i = 0; i < 4; i++) input.add(arrowStack); - input.add(EntryIngredient.of(EntryStacks.of(itemStack))); + input.add(EntryIngredients.of(itemStack)); for (int i = 0; i < 4; i++) input.add(arrowStack); ItemStack outputStack = new ItemStack(Items.TIPPED_ARROW, 8); @@ -292,9 +295,17 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin registerBrewingRecipe(base, ingredient, output); } } + } else { + registerForgePotions(registry, this); } } + @ExpectPlatform + @PlatformOnly(PlatformOnly.FORGE) + private static void registerForgePotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) { + + } + @Override public void registerExclusionZones(ExclusionZones zones) { zones.register(EffectRenderingInventoryScreen.class, new DefaultPotionEffectExclusionZones()); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java index c3b59ba3f..a4cf1fd7c 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java @@ -29,7 +29,7 @@ import me.shedaniel.architectury.hooks.FluidStackHooks; import me.shedaniel.architectury.platform.Platform; import me.shedaniel.architectury.utils.NbtType; import me.shedaniel.rei.api.common.display.DisplaySerializerRegistry; -import me.shedaniel.rei.api.common.entry.comparison.ItemComparator; +import me.shedaniel.rei.api.common.entry.comparison.EntryComparator; import me.shedaniel.rei.api.common.entry.comparison.ItemComparatorRegistry; import me.shedaniel.rei.api.common.fluid.FluidSupportProvider; import me.shedaniel.rei.api.common.plugins.REIServerPlugin; @@ -65,7 +65,7 @@ import java.util.stream.Stream; public class DefaultPlugin implements BuiltinPlugin, REIServerPlugin { @Override public void registerItemComparators(ItemComparatorRegistry registry) { - ToLongFunction<Tag> nbtHasher = ItemComparator.nbtHasher(); + ToLongFunction<Tag> nbtHasher = EntryComparator.nbtHasher(); Function<ItemStack, ListTag> enchantmentTag = stack -> { CompoundTag tag = stack.getTag(); if (tag == null) return null; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java index cd4f38e38..97dc31e2d 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java @@ -66,9 +66,13 @@ public abstract class DefaultCraftingDisplay implements SimpleMenuDisplay { return list; } - public static int getSlotWithSize(DefaultCraftingDisplay recipeDisplay, int num, int craftingGridWidth) { - int x = num % recipeDisplay.getWidth(); - int y = (num - x) / recipeDisplay.getWidth(); + public static int getSlotWithSize(DefaultCraftingDisplay recipeDisplay, int index, int craftingGridWidth) { + return getSlotWithSize(recipeDisplay.getWidth(), index, craftingGridWidth); + } + + public static int getSlotWithSize(int recipeWidth, int index, int craftingGridWidth) { + int x = index % recipeWidth; + int y = (index - x) / recipeWidth; return craftingGridWidth * y + x; } |
