aboutsummaryrefslogtreecommitdiff
path: root/default-plugin/src/main/java/me/shedaniel/rei/plugin/common
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2024-03-02 03:09:05 +0900
committershedaniel <daniel@shedaniel.me>2024-03-02 03:09:05 +0900
commit52a6bf840ed665a2086ed37bbe0f99907d160350 (patch)
tree75687fc5f19a5d6880e396e0c316a70f88d6ea7f /default-plugin/src/main/java/me/shedaniel/rei/plugin/common
parente4cf4d7a272dbf5da9a8ca868d003f011f5b0fc9 (diff)
downloadRoughlyEnoughItems-52a6bf840ed665a2086ed37bbe0f99907d160350.tar.gz
RoughlyEnoughItems-52a6bf840ed665a2086ed37bbe0f99907d160350.tar.bz2
RoughlyEnoughItems-52a6bf840ed665a2086ed37bbe0f99907d160350.zip
Update to 24w09a
Diffstat (limited to 'default-plugin/src/main/java/me/shedaniel/rei/plugin/common')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java39
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultInformationDisplay.java9
2 files changed, 22 insertions, 26 deletions
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 e6a3e33ce..fc76dff56 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
@@ -27,13 +27,9 @@ import dev.architectury.event.CompoundEventResult;
import dev.architectury.hooks.fluid.FluidBucketHooks;
import dev.architectury.hooks.fluid.FluidStackHooks;
import me.shedaniel.rei.api.common.display.DisplaySerializerRegistry;
-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;
-import me.shedaniel.rei.api.common.transfer.info.MenuInfoRegistry;
-import me.shedaniel.rei.api.common.transfer.info.simple.RecipeBookGridMenuInfo;
-import me.shedaniel.rei.api.common.transfer.info.simple.SimpleMenuInfoProvider;
import me.shedaniel.rei.api.common.util.EntryStacks;
import me.shedaniel.rei.plugin.common.displays.*;
import me.shedaniel.rei.plugin.common.displays.beacon.DefaultBeaconBaseDisplay;
@@ -46,14 +42,16 @@ import me.shedaniel.rei.plugin.common.displays.cooking.DefaultSmeltingDisplay;
import me.shedaniel.rei.plugin.common.displays.cooking.DefaultSmokingDisplay;
import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCraftingDisplay;
import me.shedaniel.rei.plugin.common.displays.tag.TagNodes;
-import net.minecraft.nbt.CompoundTag;
-import net.minecraft.nbt.ListTag;
-import net.minecraft.nbt.Tag;
-import net.minecraft.world.inventory.InventoryMenu;
-import net.minecraft.world.item.*;
+import net.minecraft.core.component.DataComponents;
+import net.minecraft.world.item.BucketItem;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.material.Fluid;
import org.jetbrains.annotations.ApiStatus;
+import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Stream;
@@ -65,23 +63,20 @@ public class DefaultPlugin implements BuiltinPlugin, REIServerPlugin {
@Override
public void registerItemComparators(ItemComparatorRegistry registry) {
- EntryComparator<Tag> nbtHasher = EntryComparator.nbt();
- Function<ItemStack, ListTag> enchantmentTag = stack -> {
- CompoundTag tag = stack.getTag();
- if (tag == null) return null;
- if (!tag.contains(ItemStack.TAG_ENCH, Tag.TAG_LIST)) {
- if (tag.contains(EnchantedBookItem.TAG_STORED_ENCHANTMENTS, Tag.TAG_LIST)) {
- return tag.getList(EnchantedBookItem.TAG_STORED_ENCHANTMENTS, Tag.TAG_COMPOUND);
+ Function<ItemStack, ItemEnchantments> enchantmentTag = stack -> {
+ if (!stack.has(DataComponents.ENCHANTMENTS)) {
+ if (stack.has(DataComponents.STORED_ENCHANTMENTS)) {
+ return stack.get(DataComponents.STORED_ENCHANTMENTS);
}
return null;
}
- return tag.getList(ItemStack.TAG_ENCH, Tag.TAG_COMPOUND);
+ return stack.get(DataComponents.ENCHANTMENTS);
};
- registry.register((context, stack) -> nbtHasher.hash(context, enchantmentTag.apply(stack)), Items.ENCHANTED_BOOK);
- registry.registerNbt(Items.POTION);
- registry.registerNbt(Items.SPLASH_POTION);
- registry.registerNbt(Items.LINGERING_POTION);
- registry.registerNbt(Items.TIPPED_ARROW);
+ registry.register((context, stack) -> Objects.hashCode(enchantmentTag.apply(stack)), Items.ENCHANTED_BOOK);
+ registry.registerComponents(Items.POTION);
+ registry.registerComponents(Items.SPLASH_POTION);
+ registry.registerComponents(Items.LINGERING_POTION);
+ registry.registerComponents(Items.TIPPED_ARROW);
}
@Override
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultInformationDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultInformationDisplay.java
index 7b88ed0b5..e5cd3efab 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultInformationDisplay.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultInformationDisplay.java
@@ -27,6 +27,7 @@ import com.google.common.collect.Lists;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.Display;
import me.shedaniel.rei.api.common.display.DisplaySerializer;
+import me.shedaniel.rei.api.common.display.basic.BasicDisplay;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.plugin.common.BuiltinPlugin;
@@ -104,10 +105,10 @@ public class DefaultInformationDisplay implements Display {
@Override
public CompoundTag save(CompoundTag tag, DefaultInformationDisplay display) {
tag.put("stacks", display.getEntryStacks().saveIngredient());
- tag.putString("name", Component.Serializer.toJson(display.getName()));
+ tag.putString("name", Component.Serializer.toJson(display.getName(), BasicDisplay.registryAccess()));
ListTag descriptions = new ListTag();
for (Component text : display.getTexts()) {
- descriptions.add(StringTag.valueOf(Component.Serializer.toJson(text)));
+ descriptions.add(StringTag.valueOf(Component.Serializer.toJson(text, BasicDisplay.registryAccess())));
}
tag.put("descriptions", descriptions);
return tag;
@@ -116,10 +117,10 @@ public class DefaultInformationDisplay implements Display {
@Override
public DefaultInformationDisplay read(CompoundTag tag) {
EntryIngredient stacks = EntryIngredient.read(tag.getList("stacks", Tag.TAG_COMPOUND));
- Component name = Component.Serializer.fromJson(tag.getString("name"));
+ Component name = Component.Serializer.fromJson(tag.getString("name"), BasicDisplay.registryAccess());
List<Component> descriptions = new ArrayList<>();
for (Tag descriptionTag : tag.getList("descriptions", Tag.TAG_STRING)) {
- descriptions.add(Component.Serializer.fromJson(descriptionTag.getAsString()));
+ descriptions.add(Component.Serializer.fromJson(descriptionTag.getAsString(), BasicDisplay.registryAccess()));
}
return new DefaultInformationDisplay(stacks, name).lines(descriptions);
}