aboutsummaryrefslogtreecommitdiff
path: root/default-plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-05-16 20:11:55 +0800
committershedaniel <daniel@shedaniel.me>2021-05-16 20:11:55 +0800
commit0cd2336ababe5d6c78a64943adde5b54cb3e72b6 (patch)
tree68650d989c4b44c2f9db4ae8aa3ad0f5cec1a2ec /default-plugin
parent59b876a013e2f626be4c848704da02e72780961b (diff)
parent7ebb226c85529ef9de4c93ce91f24c9ca6f608a7 (diff)
downloadRoughlyEnoughItems-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')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java15
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java10
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;
}