From 6104964f60bac00a4ac1359bd244d361e50786bd Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 27 Aug 2020 19:36:00 +0800 Subject: Migrate from yarn to mojmap Signed-off-by: shedaniel --- .../me/shedaniel/rei/plugin/DefaultPlugin.java | 155 +++++++++++---------- .../plugin/DefaultPotionEffectExclusionZones.java | 20 +-- .../plugin/DefaultRecipeBookExclusionZones.java | 22 +-- .../rei/plugin/DefaultServerContainerPlugin.java | 14 +- .../autocrafting/DefaultRecipeBookHandler.java | 44 +++--- .../plugin/beacon/DefaultBeaconBaseCategory.java | 32 ++--- .../plugin/beacon/DefaultBeaconBaseDisplay.java | 6 +- .../plugin/blasting/DefaultBlastingDisplay.java | 6 +- .../rei/plugin/brewing/BrewingRecipe.java | 4 +- .../rei/plugin/brewing/DefaultBrewingCategory.java | 24 ++-- .../rei/plugin/brewing/DefaultBrewingDisplay.java | 20 +-- .../plugin/brewing/RegisteredBrewingRecipe.java | 4 +- .../plugin/campfire/DefaultCampfireCategory.java | 14 +- .../plugin/campfire/DefaultCampfireDisplay.java | 20 +-- .../composting/DefaultCompostingCategory.java | 32 ++--- .../composting/DefaultCompostingDisplay.java | 14 +- .../containers/CraftingContainerInfoWrapper.java | 26 ++-- .../rei/plugin/cooking/DefaultCookingCategory.java | 28 ++-- .../rei/plugin/cooking/DefaultCookingDisplay.java | 26 ++-- .../plugin/crafting/DefaultCraftingCategory.java | 32 ++--- .../plugin/crafting/DefaultCraftingDisplay.java | 10 +- .../rei/plugin/crafting/DefaultCustomDisplay.java | 8 +- .../rei/plugin/crafting/DefaultShapedDisplay.java | 12 +- .../plugin/crafting/DefaultShapelessDisplay.java | 16 +-- .../rei/plugin/fuel/DefaultFuelCategory.java | 24 ++-- .../rei/plugin/fuel/DefaultFuelDisplay.java | 4 +- .../information/DefaultInformationCategory.java | 80 +++++------ .../information/DefaultInformationDisplay.java | 26 ++-- .../plugin/mixin/MixinBrewingRecipeRegistry.java | 87 ------------ .../rei/plugin/mixin/MixinPotionBrewing.java | 88 ++++++++++++ .../rei/plugin/pathing/DefaultPathingCategory.java | 13 +- .../rei/plugin/pathing/DefaultPathingDisplay.java | 12 +- .../rei/plugin/pathing/DummyShovelItem.java | 13 +- .../plugin/smelting/DefaultSmeltingDisplay.java | 6 +- .../plugin/smithing/DefaultSmithingCategory.java | 10 +- .../plugin/smithing/DefaultSmithingDisplay.java | 16 +-- .../rei/plugin/smoking/DefaultSmokingDisplay.java | 6 +- .../stonecutting/DefaultStoneCuttingCategory.java | 10 +- .../stonecutting/DefaultStoneCuttingDisplay.java | 26 ++-- .../plugin/stripping/DefaultStrippingCategory.java | 10 +- .../plugin/stripping/DefaultStrippingDisplay.java | 6 +- .../rei/plugin/stripping/DummyAxeItem.java | 10 +- .../rei/plugin/tilling/DefaultTillingCategory.java | 13 +- .../rei/plugin/tilling/DefaultTillingDisplay.java | 12 +- .../shedaniel/rei/plugin/tilling/DummyHoeItem.java | 12 +- 45 files changed, 532 insertions(+), 541 deletions(-) delete mode 100644 RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/mixin/MixinBrewingRecipeRegistry.java create mode 100644 RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/mixin/MixinPotionBrewing.java (limited to 'RoughlyEnoughItems-default-plugin/src/main/java/me') diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index 331c61603..51df3e7a3 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -68,24 +68,25 @@ import me.shedaniel.rei.plugin.tilling.DummyHoeItem; import me.shedaniel.rei.utils.CollectionUtils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.block.ComposterBlock; -import net.minecraft.block.entity.AbstractFurnaceBlockEntity; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.*; -import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.fluid.Fluid; -import net.minecraft.item.*; -import net.minecraft.potion.PotionUtil; -import net.minecraft.recipe.*; -import net.minecraft.tag.BlockTags; -import net.minecraft.tag.Tag; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; -import net.minecraft.util.Lazy; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.registry.Registry; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.inventory.*; +import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; +import net.minecraft.core.Registry; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.Tag; +import net.minecraft.util.LazyLoadedValue; +import net.minecraft.util.Mth; +import net.minecraft.world.item.*; +import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentHelper; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.ComposterBlock; +import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; +import net.minecraft.world.level.material.Fluid; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.ApiStatus; @@ -99,28 +100,28 @@ import static me.shedaniel.rei.impl.Internals.attachInstance; @Environment(EnvType.CLIENT) public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { private static final Logger LOGGER = LogManager.getFormatterLogger("REI/DefaultPlugin"); - public static final Identifier CRAFTING = BuiltinPlugin.CRAFTING; - public static final Identifier SMELTING = BuiltinPlugin.SMELTING; - public static final Identifier SMOKING = BuiltinPlugin.SMOKING; - public static final Identifier BLASTING = BuiltinPlugin.BLASTING; - public static final Identifier CAMPFIRE = BuiltinPlugin.CAMPFIRE; - public static final Identifier STONE_CUTTING = BuiltinPlugin.STONE_CUTTING; - public static final Identifier STRIPPING = BuiltinPlugin.STRIPPING; - public static final Identifier BREWING = BuiltinPlugin.BREWING; - public static final Identifier PLUGIN = BuiltinPlugin.PLUGIN; - public static final Identifier COMPOSTING = BuiltinPlugin.COMPOSTING; - public static final Identifier FUEL = BuiltinPlugin.FUEL; - public static final Identifier SMITHING = BuiltinPlugin.SMITHING; - public static final Identifier BEACON = BuiltinPlugin.BEACON; - public static final Identifier TILLING = BuiltinPlugin.TILLING; - public static final Identifier PATHING = BuiltinPlugin.PATHING; - public static final Identifier INFO = BuiltinPlugin.INFO; - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - private static final Identifier DISPLAY_TEXTURE_DARK = new Identifier("roughlyenoughitems", "textures/gui/display_dark.png"); - private static final List> BREWING_DISPLAYS = Lists.newArrayList(); + public static final ResourceLocation CRAFTING = BuiltinPlugin.CRAFTING; + public static final ResourceLocation SMELTING = BuiltinPlugin.SMELTING; + public static final ResourceLocation SMOKING = BuiltinPlugin.SMOKING; + public static final ResourceLocation BLASTING = BuiltinPlugin.BLASTING; + public static final ResourceLocation CAMPFIRE = BuiltinPlugin.CAMPFIRE; + public static final ResourceLocation STONE_CUTTING = BuiltinPlugin.STONE_CUTTING; + public static final ResourceLocation STRIPPING = BuiltinPlugin.STRIPPING; + public static final ResourceLocation BREWING = BuiltinPlugin.BREWING; + public static final ResourceLocation PLUGIN = BuiltinPlugin.PLUGIN; + public static final ResourceLocation COMPOSTING = BuiltinPlugin.COMPOSTING; + public static final ResourceLocation FUEL = BuiltinPlugin.FUEL; + public static final ResourceLocation SMITHING = BuiltinPlugin.SMITHING; + public static final ResourceLocation BEACON = BuiltinPlugin.BEACON; + public static final ResourceLocation TILLING = BuiltinPlugin.TILLING; + public static final ResourceLocation PATHING = BuiltinPlugin.PATHING; + public static final ResourceLocation INFO = BuiltinPlugin.INFO; + private static final ResourceLocation DISPLAY_TEXTURE = new ResourceLocation("roughlyenoughitems", "textures/gui/display.png"); + private static final ResourceLocation DISPLAY_TEXTURE_DARK = new ResourceLocation("roughlyenoughitems", "textures/gui/display_dark.png"); + private static final List> BREWING_DISPLAYS = Lists.newArrayList(); private static final List INFO_DISPLAYS = Lists.newArrayList(); - public static Identifier getDisplayTexture() { + public static ResourceLocation getDisplayTexture() { return REIHelper.getInstance().getDefaultDisplayTexture(); } @@ -131,11 +132,11 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { @Deprecated @ApiStatus.ScheduledForRemoval public static void registerBrewingDisplay(DefaultBrewingDisplay recipe) { - BREWING_DISPLAYS.add(new Lazy<>(() -> recipe)); + BREWING_DISPLAYS.add(new LazyLoadedValue<>(() -> recipe)); } public static void registerBrewingRecipe(RegisteredBrewingRecipe recipe) { - BREWING_DISPLAYS.add(new Lazy<>(() -> new DefaultBrewingDisplay(recipe.input, recipe.ingredient, recipe.output))); + BREWING_DISPLAYS.add(new LazyLoadedValue<>(() -> new DefaultBrewingDisplay(recipe.input, recipe.ingredient, recipe.output))); } public static void registerInfoDisplay(DefaultInformationDisplay display) { @@ -148,12 +149,12 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { } @Override - public void registerInformation(List entryStacks, Text name, UnaryOperator> textBuilder) { + public void registerInformation(List entryStacks, Component name, UnaryOperator> textBuilder) { registerInfoDisplay(DefaultInformationDisplay.createFromEntries(entryStacks, name).lines(textBuilder.apply(Lists.newArrayList()))); } @Override - public Identifier getPluginIdentifier() { + public ResourceLocation getPluginIdentifier() { return PLUGIN; } @@ -180,17 +181,17 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { EntryStack stack = EntryStack.create(Items.ENCHANTED_BOOK); List enchantments = new ArrayList<>(); for (Enchantment enchantment : Registry.ENCHANTMENT) { - for (int i = enchantment.getMinimumLevel(); i <= enchantment.getMaximumLevel(); i++) { + for (int i = enchantment.getMinLevel(); i <= enchantment.getMaxLevel(); i++) { Map map = new HashMap<>(); map.put(enchantment, i); ItemStack itemStack = new ItemStack(Items.ENCHANTED_BOOK); - EnchantmentHelper.set(map, itemStack); + EnchantmentHelper.setEnchantments(map, itemStack); enchantments.add(EntryStack.create(itemStack).setting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE)); } } entryRegistry.registerEntriesAfter(stack, enchantments); for (Fluid fluid : Registry.FLUID) { - if (!fluid.getDefaultState().isEmpty() && fluid.getDefaultState().isStill()) + if (!fluid.defaultFluidState().isEmpty() && fluid.defaultFluidState().isSource()) entryRegistry.registerEntry(EntryStack.create(fluid)); } } @@ -223,12 +224,12 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { recipeHelper.registerRecipes(SMOKING, SmokingRecipe.class, DefaultSmokingDisplay::new); recipeHelper.registerRecipes(BLASTING, BlastingRecipe.class, DefaultBlastingDisplay::new); recipeHelper.registerRecipes(CAMPFIRE, CampfireCookingRecipe.class, DefaultCampfireDisplay::new); - recipeHelper.registerRecipes(STONE_CUTTING, StonecuttingRecipe.class, DefaultStoneCuttingDisplay::new); - recipeHelper.registerRecipes(SMITHING, SmithingRecipe.class, DefaultSmithingDisplay::new); - for (Lazy display : BREWING_DISPLAYS) { + recipeHelper.registerRecipes(STONE_CUTTING, StonecutterRecipe.class, DefaultStoneCuttingDisplay::new); + recipeHelper.registerRecipes(SMITHING, UpgradeRecipe.class, DefaultSmithingDisplay::new); + for (LazyLoadedValue display : BREWING_DISPLAYS) { recipeHelper.registerDisplay(display.get()); } - for (Map.Entry entry : AbstractFurnaceBlockEntity.createFuelTimeMap().entrySet()) { + for (Map.Entry entry : AbstractFurnaceBlockEntity.getFuel().entrySet()) { recipeHelper.registerDisplay(new DefaultFuelDisplay(EntryStack.create(entry.getKey()), entry.getValue())); } List arrowStack = Collections.singletonList(EntryStack.create(Items.ARROW)); @@ -240,37 +241,37 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { for (int i = 0; i < 4; i++) input.add(arrowStack); ItemStack outputStack = new ItemStack(Items.TIPPED_ARROW, 8); - PotionUtil.setPotion(outputStack, PotionUtil.getPotion(entry.getItemStack())); - PotionUtil.setCustomPotionEffects(outputStack, PotionUtil.getCustomPotionEffects(entry.getItemStack())); + PotionUtils.setPotion(outputStack, PotionUtils.getPotion(entry.getItemStack())); + PotionUtils.setCustomEffects(outputStack, PotionUtils.getCustomEffects(entry.getItemStack())); List output = Collections.singletonList(EntryStack.create(outputStack).addSetting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE)); recipeHelper.registerDisplay(new DefaultCustomDisplay(null, input, output)); }); - Map map = Maps.newLinkedHashMap(); - if (ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.isEmpty()) - ComposterBlock.registerDefaultCompostableItems(); - for (Object2FloatMap.Entry entry : ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.object2FloatEntrySet()) { + Map map = Maps.newLinkedHashMap(); + if (ComposterBlock.COMPOSTABLES.isEmpty()) + ComposterBlock.bootStrap(); + for (Object2FloatMap.Entry entry : ComposterBlock.COMPOSTABLES.object2FloatEntrySet()) { if (entry.getFloatValue() > 0) map.put(entry.getKey(), entry.getFloatValue()); } - List stacks = Lists.newArrayList(map.keySet()); + List stacks = Lists.newArrayList(map.keySet()); stacks.sort(Comparator.comparing(map::get)); - for (int i = 0; i < stacks.size(); i += MathHelper.clamp(48, 1, stacks.size() - i)) { - List thisStacks = Lists.newArrayList(); + for (int i = 0; i < stacks.size(); i += Mth.clamp(48, 1, stacks.size() - i)) { + List thisStacks = Lists.newArrayList(); for (int j = i; j < i + 48; j++) if (j < stacks.size()) thisStacks.add(stacks.get(j)); - recipeHelper.registerDisplay(new DefaultCompostingDisplay(MathHelper.floor(i / 48f), thisStacks, map, new ItemStack(Items.BONE_MEAL))); + recipeHelper.registerDisplay(new DefaultCompostingDisplay(Mth.floor(i / 48f), thisStacks, map, new ItemStack(Items.BONE_MEAL))); } - DummyAxeItem.getStrippedBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> { + DummyAxeItem.getStrippedBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { recipeHelper.registerDisplay(new DefaultStrippingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue()))); }); - DummyHoeItem.getTilledBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> { + DummyHoeItem.getTilledBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { recipeHelper.registerDisplay(new DefaultTillingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue().getBlock()))); }); - DummyShovelItem.getPathBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> { + DummyShovelItem.getPathBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getKey(b.getKey()))).forEach(set -> { recipeHelper.registerDisplay(new DefaultPathingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue().getBlock()))); }); - recipeHelper.registerDisplay(new DefaultBeaconBaseDisplay(CollectionUtils.map(Lists.newArrayList(BlockTags.BEACON_BASE_BLOCKS.values()), ItemStack::new))); + recipeHelper.registerDisplay(new DefaultBeaconBaseDisplay(CollectionUtils.map(Lists.newArrayList(BlockTags.BEACON_BASE_BLOCKS.getValues()), ItemStack::new))); } @Override @@ -303,17 +304,17 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { @Override public void registerBounds(DisplayHelper displayHelper) { BaseBoundsHandler baseBoundsHandler = BaseBoundsHandler.getInstance(); - baseBoundsHandler.registerExclusionZones(AbstractInventoryScreen.class, new DefaultPotionEffectExclusionZones()); - baseBoundsHandler.registerExclusionZones(RecipeBookProvider.class, new DefaultRecipeBookExclusionZones()); - displayHelper.registerProvider(new DisplayHelper.DisplayBoundsProvider>() { + baseBoundsHandler.registerExclusionZones(EffectRenderingInventoryScreen.class, new DefaultPotionEffectExclusionZones()); + baseBoundsHandler.registerExclusionZones(RecipeUpdateListener.class, new DefaultRecipeBookExclusionZones()); + displayHelper.registerProvider(new DisplayHelper.DisplayBoundsProvider>() { @Override - public Rectangle getScreenBounds(ContainerScreen screen) { - return new Rectangle(screen.x, screen.y, screen.containerWidth, screen.containerHeight); + public Rectangle getScreenBounds(AbstractContainerScreen screen) { + return new Rectangle(screen.leftPos, screen.topPos, screen.imageWidth, screen.imageHeight); } @Override public Class getBaseSupportedClass() { - return ContainerScreen.class; + return AbstractContainerScreen.class; } }); } @@ -333,21 +334,21 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { recipeHelper.registerWorkingStations(COMPOSTING, EntryStack.create(Items.COMPOSTER)); recipeHelper.registerWorkingStations(SMITHING, EntryStack.create(Items.SMITHING_TABLE)); recipeHelper.registerWorkingStations(BEACON, EntryStack.create(Items.BEACON)); - Tag axes = MinecraftClient.getInstance().getNetworkHandler().getTagManager().getItems().getTag(new Identifier("fabric", "axes")); + Tag axes = Minecraft.getInstance().getConnection().getTags().getItems().getTag(new ResourceLocation("fabric", "axes")); if (axes != null) { - for (Item item : axes.values()) { + for (Item item : axes.getValues()) { recipeHelper.registerWorkingStations(STRIPPING, EntryStack.create(item)); } } - Tag hoes = MinecraftClient.getInstance().getNetworkHandler().getTagManager().getItems().getTag(new Identifier("fabric", "hoes")); + Tag hoes = Minecraft.getInstance().getConnection().getTags().getItems().getTag(new ResourceLocation("fabric", "hoes")); if (hoes != null) { - for (Item item : hoes.values()) { + for (Item item : hoes.getValues()) { recipeHelper.registerWorkingStations(TILLING, EntryStack.create(item)); } } - Tag shovels = MinecraftClient.getInstance().getNetworkHandler().getTagManager().getItems().getTag(new Identifier("fabric", "shovels")); + Tag shovels = Minecraft.getInstance().getConnection().getTags().getItems().getTag(new ResourceLocation("fabric", "shovels")); if (shovels != null) { - for (Item item : shovels.values()) { + for (Item item : shovels.getValues()) { recipeHelper.registerWorkingStations(PATHING, EntryStack.create(item)); } } @@ -355,7 +356,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { recipeHelper.removeAutoCraftButton(COMPOSTING); recipeHelper.removeAutoCraftButton(BEACON); recipeHelper.removeAutoCraftButton(INFO); - recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingTableScreen.class, CRAFTING); + recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingScreen.class, CRAFTING); recipeHelper.registerScreenClickArea(new Rectangle(137, 29, 10, 13), InventoryScreen.class, CRAFTING); recipeHelper.registerScreenClickArea(new Rectangle(97, 16, 14, 30), BrewingStandScreen.class, BREWING); recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), FurnaceScreen.class, SMELTING); @@ -366,7 +367,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { public @NotNull EntryStack itemToFluid(@NotNull EntryStack itemStack) { Item item = itemStack.getItem(); if (item instanceof BucketItem) - return EntryStack.create(((BucketItem) item).fluid, 1000); + return EntryStack.create(((BucketItem) item).content, 1000); return EntryStack.empty(); } }); diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java index 79116da14..9fd033af6 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java @@ -28,10 +28,10 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.REIHelper; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; -import net.minecraft.client.gui.screen.ingame.ContainerScreen; -import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; +import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; +import net.minecraft.world.effect.MobEffectInstance; import java.util.ArrayList; import java.util.Collection; @@ -43,19 +43,19 @@ import java.util.function.Supplier; public class DefaultPotionEffectExclusionZones implements Supplier> { @Override public List get() { - if (!(REIHelper.getInstance().getPreviousContainerScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen) REIHelper.getInstance().getPreviousContainerScreen()).offsetGuiForEffects) + if (!(REIHelper.getInstance().getPreviousContainerScreen() instanceof EffectRenderingInventoryScreen) || !((EffectRenderingInventoryScreen) REIHelper.getInstance().getPreviousContainerScreen()).doRenderEffects) return Collections.emptyList(); - Collection activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects(); + Collection activePotionEffects = Minecraft.getInstance().player.getActiveEffects(); if (activePotionEffects.isEmpty()) return Collections.emptyList(); - ContainerScreen containerScreen = REIHelper.getInstance().getPreviousContainerScreen(); + AbstractContainerScreen containerScreen = REIHelper.getInstance().getPreviousContainerScreen(); List list = new ArrayList<>(); - int x = containerScreen.x - 124; - int y = containerScreen.y; + int x = containerScreen.leftPos - 124; + int y = containerScreen.topPos; int height = 33; if (activePotionEffects.size() > 5) height = 132 / (activePotionEffects.size() - 1); - for (StatusEffectInstance instance : Ordering.natural().sortedCopy(activePotionEffects)) { + for (MobEffectInstance instance : Ordering.natural().sortedCopy(activePotionEffects)) { list.add(new Rectangle(x, y, 166, height)); y += height; } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java index 099bd1161..bde75067d 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java @@ -28,11 +28,11 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.REIHelper; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.ContainerScreen; -import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; -import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; -import net.minecraft.container.CraftingContainer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; +import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; +import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; +import net.minecraft.world.inventory.RecipeBookMenu; import java.util.Collections; import java.util.List; @@ -43,15 +43,15 @@ public class DefaultRecipeBookExclusionZones implements Supplier @Override public List get() { - if (!(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(REIHelper.getInstance().getPreviousContainerScreen().getContainer() instanceof CraftingContainer) || - !MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen(((CraftingContainer) REIHelper.getInstance().getPreviousContainerScreen().getContainer()).getCategory())) + if (!(Minecraft.getInstance().screen instanceof RecipeUpdateListener) || !(REIHelper.getInstance().getPreviousContainerScreen().getMenu() instanceof RecipeBookMenu) || + !Minecraft.getInstance().player.getRecipeBook().isOpen(((RecipeBookMenu) REIHelper.getInstance().getPreviousContainerScreen().getMenu()).getRecipeBookType())) return Collections.emptyList(); - RecipeBookWidget recipeBookWidget = ((RecipeBookProvider) MinecraftClient.getInstance().currentScreen).getRecipeBookWidget(); - ContainerScreen containerScreen = REIHelper.getInstance().getPreviousContainerScreen(); - List l = Lists.newArrayList(new Rectangle(containerScreen.x - 4 - 145, containerScreen.y, 4 + 145 + 30, containerScreen.containerHeight)); + RecipeBookComponent recipeBookWidget = ((RecipeUpdateListener) Minecraft.getInstance().screen).getRecipeBookComponent(); + AbstractContainerScreen containerScreen = REIHelper.getInstance().getPreviousContainerScreen(); + List l = Lists.newArrayList(new Rectangle(containerScreen.leftPos - 4 - 145, containerScreen.topPos, 4 + 145 + 30, containerScreen.imageHeight)); int size = recipeBookWidget.tabButtons.size(); if (size > 0) - l.add(new Rectangle(containerScreen.x - 4 - 145 - 30, containerScreen.y, 30, size * 27)); + l.add(new Rectangle(containerScreen.leftPos - 4 - 145 - 30, containerScreen.topPos, 30, size * 27)); return l; } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java index cdbfa789b..f0b9c978c 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java @@ -25,16 +25,16 @@ package me.shedaniel.rei.plugin; import me.shedaniel.rei.plugin.containers.CraftingContainerInfoWrapper; import me.shedaniel.rei.server.ContainerInfoHandler; -import net.minecraft.container.*; -import net.minecraft.util.Identifier; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.inventory.*; public class DefaultServerContainerPlugin implements Runnable { @Override public void run() { - ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingTableContainer.class)); - ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(PlayerContainer.class)); - ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceContainer.class)); - ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerContainer.class)); - ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/blasting"), CraftingContainerInfoWrapper.create(BlastFurnaceContainer.class)); + ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingMenu.class)); + ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(InventoryMenu.class)); + ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceMenu.class)); + ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerMenu.class)); + ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/blasting"), CraftingContainerInfoWrapper.create(BlastFurnaceMenu.class)); } } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java index f7106c04d..8da1c2072 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java @@ -31,13 +31,13 @@ import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; import me.shedaniel.rei.plugin.crafting.DefaultCraftingDisplay; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.container.CraftingContainer; -import net.minecraft.container.CraftingTableContainer; -import net.minecraft.container.PlayerContainer; -import net.minecraft.recipe.Recipe; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.world.inventory.CraftingMenu; +import net.minecraft.world.inventory.InventoryMenu; +import net.minecraft.world.inventory.RecipeBookMenu; +import net.minecraft.world.item.crafting.Recipe; import org.jetbrains.annotations.NotNull; @Environment(EnvType.CLIENT) @@ -48,17 +48,17 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { if (context.getRecipe() instanceof TransferRecipeDisplay && ClientHelper.getInstance().canUseMovePackets()) return Result.createNotApplicable(); RecipeDisplay display = context.getRecipe(); - if (!(context.getContainer() instanceof CraftingContainer)) + if (!(context.getContainer() instanceof RecipeBookMenu)) return Result.createNotApplicable(); - CraftingContainer container = (CraftingContainer) context.getContainer(); + RecipeBookMenu container = (RecipeBookMenu) context.getContainer(); if (display instanceof DefaultCraftingDisplay) { DefaultCraftingDisplay craftingDisplay = (DefaultCraftingDisplay) display; if (craftingDisplay.getOptionalRecipe().isPresent()) { int h = -1, w = -1; - if (container instanceof CraftingTableContainer) { + if (container instanceof CraftingMenu) { h = 3; w = 3; - } else if (container instanceof PlayerContainer) { + } else if (container instanceof InventoryMenu) { h = 2; w = 2; } @@ -66,15 +66,15 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { return Result.createNotApplicable(); Recipe recipe = (craftingDisplay).getOptionalRecipe().get(); if (craftingDisplay.getHeight() > h || craftingDisplay.getWidth() > w) - return Result.createFailed(I18n.translate("error.rei.transfer.too_small", h, w)); + return Result.createFailed(I18n.get("error.rei.transfer.too_small", h, w)); if (!context.getMinecraft().player.getRecipeBook().contains(recipe)) - return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked")); + return Result.createFailed(I18n.get("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); - context.getMinecraft().openScreen(context.getContainerScreen()); - if (context.getContainerScreen() instanceof RecipeBookProvider) - ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget().ghostSlots.reset(); - context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); + context.getMinecraft().setScreen(context.getContainerScreen()); + if (context.getContainerScreen() instanceof RecipeUpdateListener) + ((RecipeUpdateListener) context.getContainerScreen()).getRecipeBookComponent().ghostRecipe.clear(); + context.getMinecraft().gameMode.handlePlaceRecipe(container.containerId, recipe, Screen.hasShiftDown()); return Result.createSuccessful(); } } else if (display instanceof DefaultCookingDisplay) { @@ -82,13 +82,13 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { if (defaultDisplay.getOptionalRecipe().isPresent()) { Recipe recipe = (defaultDisplay).getOptionalRecipe().get(); if (!context.getMinecraft().player.getRecipeBook().contains(recipe)) - return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked")); + return Result.createFailed(I18n.get("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); - context.getMinecraft().openScreen(context.getContainerScreen()); - if (context.getContainerScreen() instanceof RecipeBookProvider) - ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget().ghostSlots.reset(); - context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); + context.getMinecraft().setScreen(context.getContainerScreen()); + if (context.getContainerScreen() instanceof RecipeUpdateListener) + ((RecipeUpdateListener) context.getContainerScreen()).getRecipeBookComponent().ghostRecipe.clear(); + context.getMinecraft().gameMode.handlePlaceRecipe(container.containerId, recipe, Screen.hasShiftDown()); return Result.createSuccessful(); } } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java index df9a19a4a..0d584b1af 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java @@ -24,6 +24,7 @@ package me.shedaniel.rei.plugin.beacon; import com.google.common.collect.Lists; +import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.ClothConfigInitializer; import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.clothconfig2.api.ScrollingContainer; @@ -39,13 +40,12 @@ import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.gui.widget.WidgetWithBounds; import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.utils.CollectionUtils; -import net.minecraft.block.Blocks; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Element; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.components.events.GuiEventListener; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.Blocks; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -53,13 +53,13 @@ import java.util.Objects; public class DefaultBeaconBaseCategory implements RecipeCategory { @Override - public Identifier getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.BEACON; } @Override public String getCategoryName() { - return I18n.translate("category.rei.beacon_base"); + return I18n.get("category.rei.beacon_base"); } @Override @@ -73,12 +73,12 @@ public class DefaultBeaconBaseCategory implements RecipeCategory children() { + public List children() { return widgets; } } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java index 794327c0f..d19ecb9aa 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java @@ -28,8 +28,8 @@ import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; import java.util.Collections; import java.util.List; @@ -58,7 +58,7 @@ public class DefaultBeaconBaseDisplay implements RecipeDisplay { } @Override - public Identifier getRecipeCategory() { + public ResourceLocation getRecipeCategory() { return DefaultPlugin.BEACON; } } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java index e34d580a7..1336166e2 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java @@ -27,8 +27,8 @@ import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.recipe.BlastingRecipe; -import net.minecraft.util.Identifier; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.crafting.BlastingRecipe; @Environment(EnvType.CLIENT) public class DefaultBlastingDisplay extends DefaultCookingDisplay { @@ -38,7 +38,7 @@ public class DefaultBlastingDisplay extends DefaultCookingDisplay { } @Override - public Identifier getRecipeCategory() { + public ResourceLocation getRecipeCategory() { return DefaultPlugin.BLASTING; } } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/BrewingRecipe.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/BrewingRecipe.java index 5f4a0a12f..3264f556e 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/BrewingRecipe.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/BrewingRecipe.java @@ -23,8 +23,8 @@ package me.shedaniel.rei.plugin.brewing; -import net.minecraft.item.Item; -import net.minecraft.recipe.Ingredient; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Ingredient; public class BrewingRecipe { diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java index 671c70cb3..e4bc9a64c 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java @@ -34,12 +34,12 @@ import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.block.Blocks; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.item.Items; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; import java.util.List; @@ -47,7 +47,7 @@ import java.util.List; public class DefaultBrewingCategory implements RecipeCategory { @Override - public Identifier getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.BREWING; } @@ -58,7 +58,7 @@ public class DefaultBrewingCategory implements RecipeCategory widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); widgets.add(Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> { - MinecraftClient.getInstance().getTextureManager().bindTexture(REIHelper.getInstance().getDefaultDisplayTexture()); - helper.drawTexture(matrices, startPoint.x, startPoint.y, 0, 108, 103, 59); - int width = MathHelper.ceil(System.currentTimeMillis() / 250d % 18d); - helper.drawTexture(matrices, startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4); + Minecraft.getInstance().getTextureManager().bind(REIHelper.getInstance().getDefaultDisplayTexture()); + helper.blit(matrices, startPoint.x, startPoint.y, 0, 108, 103, 59); + int width = Mth.ceil(System.currentTimeMillis() / 250d % 18d); + helper.blit(matrices, startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4); })); widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entry(EntryStack.create(Items.BLAZE_POWDER)).disableBackground().markInput()); widgets.add(Widgets.createSlot(new Point(startPoint.x + 40, startPoint.y + 1)).entries(display.getInputEntries().get(0)).disableBackground().markInput()); diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java index 12f7bead1..1d096ab1a 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java @@ -29,11 +29,11 @@ import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.Ingredient; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; import org.jetbrains.annotations.ApiStatus; import java.util.ArrayList; @@ -48,15 +48,15 @@ public class DefaultBrewingDisplay implements RecipeDisplay { @ApiStatus.Internal public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) { - this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.brewing.input").formatted(Formatting.YELLOW))); - ItemStack[] reactantStacks = reactant.getMatchingStacksClient(); + this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.input").withStyle(ChatFormatting.YELLOW))); + ItemStack[] reactantStacks = reactant.getItems(); this.reactant = new ArrayList<>(reactantStacks.length); for (ItemStack stack : reactantStacks) { EntryStack entryStack = EntryStack.create(stack); - entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableText("category.rei.brewing.reactant").formatted(Formatting.YELLOW))); + entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.reactant").withStyle(ChatFormatting.YELLOW))); this.reactant.add(entryStack); } - this.output = EntryStack.create(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.brewing.result").formatted(Formatting.YELLOW))); + this.output = EntryStack.create(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.result").withStyle(ChatFormatting.YELLOW))); } @Override @@ -70,7 +70,7 @@ public class DefaultBrewingDisplay implements RecipeDisplay { } @Override - public Identifier getRecipeCategory() { + public ResourceLocation getRecipeCategory() { return DefaultPlugin.BREWING; } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/RegisteredBrewingRecipe.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/RegisteredBrewingRecipe.java index 9ea7efe7f..51c6e054b 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/RegisteredBrewingRecipe.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/RegisteredBrewingRecipe.java @@ -23,8 +23,8 @@ package me.shedaniel.rei.plugin.brewing; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.Ingredient; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; public class RegisteredBrewingRecipe { diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java index 3c136a974..2f3da489b 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java @@ -31,10 +31,10 @@ import me.shedaniel.rei.api.RecipeCategory; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; -import net.minecraft.block.Blocks; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Identifier; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Blocks; import java.text.DecimalFormat; import java.util.List; @@ -42,7 +42,7 @@ import java.util.List; public class DefaultCampfireCategory implements RecipeCategory { @Override - public Identifier getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.CAMPFIRE; } @@ -53,7 +53,7 @@ public class DefaultCampfireCategory implements RecipeCategory ingredients, ItemStack output, int cookTime) { + public DefaultCampfireDisplay(NonNullList ingredients, ItemStack output, int cookTime) { this.inputs = EntryStack.ofIngredients(ingredients); this.output = Collections.singletonList(EntryStack.create(output)); this.cookTime = cookTime; @@ -63,7 +63,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay { } @Override - public Optional getRecipeLocation() { + public Optional getRecipeLocation() { return Optional.ofNullable(display).map(AbstractCookingRecipe::getId); } @@ -83,7 +83,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay { } @Override - public Identifier getRecipeCategory() { + public ResourceLocation getRecipeCategory() { return DefaultPlugin.CAMPFIRE; } diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java index d85fc0afe..148dcdba7 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java @@ -24,6 +24,7 @@ package me.shedaniel.rei.plugin.composting; import com.google.common.collect.Lists; +import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.EntryStack; @@ -34,15 +35,14 @@ import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.block.Blocks; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.Blocks; import java.util.*; @@ -50,7 +50,7 @@ import java.util.*; public class DefaultCompostingCategory implements RecipeCategory { @Override - public Identifier getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.COMPOSTING; } @@ -61,22 +61,22 @@ public class DefaultCompostingCategory implements RecipeCategory i ? stacks.get(i) : EntryStack.empty()}; if (!entryStack[0].isEmpty()) { display.getInputMap().entrySet().parallelStream().filter(entry -> entry.getKey() != null && Objects.equals(entry.getKey().asItem(), entryStack[0].getItem())).findAny().map(Map.Entry::getValue).ifPresent(chance -> { - entryStack[0] = entryStack[0].setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableText("text.rei.composting.chance", MathHelper.fastFloor(chance * 100)).formatted(Formatting.YELLOW))); + entryStack[0] = entryStack[0].setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableComponent("text.rei.composting.chance", Mth.fastFloor(chance * 100)).withStyle(ChatFormatting.YELLOW))); }); } widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 72 + x * 18, bounds.y + 3 + y * 18)).entry(entryStack[0]).markInput()); diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java index 2c9a8cc3b..1f166c3a2 100644 --- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java +++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java @@ -29,9 +29,9 @@ import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.utils.CollectionUtils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.item.ItemConvertible; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.ItemLike; import java.util.Collections; import java.util.List; @@ -40,11 +40,11 @@ import java.util.Map; @Environment(EnvType.CLIENT) public class DefaultCompostingDisplay implements RecipeDisplay { private List order; - private Map inputMap; + private Map inputMap; private List output; private int page; - public DefaultCompostingDisplay(int page, List order, Map inputMap, ItemStack output) { + public DefaultCompostingDisplay(int page, List order, Map inputMap, ItemStack out