diff options
Diffstat (limited to 'RoughlyEnoughItems-runtime/src/main/java')
77 files changed, 1828 insertions, 1834 deletions
diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 3a28fa405..a3bead190 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -49,31 +49,31 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.network.ClientSidePacketRegistry; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.ContainerScreen; -import net.minecraft.client.gui.screen.ingame.CraftingTableScreen; -import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; -import net.minecraft.client.gui.screen.ingame.InventoryScreen; -import net.minecraft.client.gui.screen.recipebook.RecipeBookGhostSlots; -import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; -import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; -import net.minecraft.client.gui.widget.TextFieldWidget; -import net.minecraft.client.gui.widget.TexturedButtonWidget; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.container.CraftingTableContainer; -import net.minecraft.fluid.Fluid; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.recipe.Ingredient; -import net.minecraft.recipe.RecipeManager; -import net.minecraft.screen.slot.Slot; -import net.minecraft.text.LiteralText; -import net.minecraft.text.StringVisitable; -import net.minecraft.text.Text; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Identifier; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.components.EditBox; +import net.minecraft.client.gui.components.ImageButton; +import net.minecraft.client.gui.components.events.GuiEventListener; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; +import net.minecraft.client.gui.screens.inventory.CraftingScreen; +import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen; +import net.minecraft.client.gui.screens.inventory.InventoryScreen; +import net.minecraft.client.gui.screens.recipebook.GhostRecipe; +import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; +import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.FormattedText; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.inventory.CraftingMenu; +import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeManager; +import net.minecraft.world.level.material.Fluid; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.ApiStatus; @@ -87,7 +87,6 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.BiFunction; -import java.util.function.Supplier; import static me.shedaniel.rei.impl.Internals.attachInstance; @@ -96,7 +95,7 @@ import static me.shedaniel.rei.impl.Internals.attachInstance; public class RoughlyEnoughItemsCore implements ClientModInitializer { @ApiStatus.Internal public static final Logger LOGGER = LogManager.getFormatterLogger("REI"); - private static final Map<Identifier, REIPluginEntry> plugins = Maps.newHashMap(); + private static final Map<ResourceLocation, REIPluginEntry> plugins = Maps.newHashMap(); private static final ExecutorService SYNC_RECIPES = Executors.newSingleThreadScheduledExecutor(r -> new Thread(r, "REI-SyncRecipes")); @ApiStatus.Experimental public static boolean isLeftModePressed = false; @@ -145,7 +144,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } @Override - public Button createButton(Rectangle bounds, Text text) { + public Button createButton(Rectangle bounds, Component text) { return new ButtonWidget(bounds, text); } @@ -155,7 +154,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } @Override - public Label createLabel(Point point, StringVisitable text) { + public Label createLabel(Point point, FormattedText text) { return new LabelWidget(point, text); } @@ -170,7 +169,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } @Override - public DrawableConsumer createTexturedConsumer(Identifier texture, int x, int y, int width, int height, float u, float v, int uWidth, int vHeight, int textureWidth, int textureHeight) { + public DrawableConsumer createTexturedConsumer(ResourceLocation texture, int x, int y, int width, int height, float u, float v, int uWidth, int vHeight, int textureWidth, int textureHeight) { return new TexturedDrawableConsumer(texture, x, y, width, height, u, v, uWidth, vHeight, textureWidth, textureHeight); } @@ -179,7 +178,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return new FillRectangleDrawableConsumer(rectangle, color); } }, Internals.WidgetsProvider.class); - attachInstance((BiFunction<@Nullable Point, Collection<Text>, Tooltip>) QueuedTooltip::create, "tooltipProvider"); + attachInstance((BiFunction<@Nullable Point, Collection<Component>, Tooltip>) QueuedTooltip::create, "tooltipProvider"); } /** @@ -199,8 +198,8 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return new LinkedList<>(plugins.values()); } - public static Optional<Identifier> getPluginIdentifier(REIPluginEntry plugin) { - for (Identifier identifier : plugins.keySet()) + public static Optional<ResourceLocation> getPluginIdentifier(REIPluginEntry plugin) { + for (ResourceLocation identifier : plugins.keySet()) if (identifier != null && plugins.get(identifier).equals(plugin)) return Optional.of(identifier); return Optional.empty(); @@ -208,7 +207,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { public static boolean hasPermissionToUsePackets() { try { - MinecraftClient.getInstance().getNetworkHandler().getCommandSource().hasPermissionLevel(0); + Minecraft.getInstance().getConnection().getSuggestionsProvider().hasPermission(0); return hasOperatorPermission() && canUsePackets(); } catch (NullPointerException e) { return true; @@ -217,7 +216,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { public static boolean hasOperatorPermission() { try { - return MinecraftClient.getInstance().getNetworkHandler().getCommandSource().hasPermissionLevel(1); + return Minecraft.getInstance().getConnection().getSuggestionsProvider().hasPermission(1); } catch (NullPointerException e) { return true; } @@ -236,7 +235,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } lastSync[0] = System.currentTimeMillis(); } - RecipeManager recipeManager = MinecraftClient.getInstance().getNetworkHandler().getRecipeManager(); + RecipeManager recipeManager = Minecraft.getInstance().getConnection().getRecipeManager(); if (ConfigObject.getInstance().doesRegisterRecipesInAnotherThread()) { CompletableFuture.runAsync(() -> ((RecipeHelperImpl) RecipeHelper.getInstance()).tryRecipesLoaded(recipeManager), SYNC_RECIPES); } else { @@ -250,7 +249,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } public static boolean canDeleteItems() { - return hasPermissionToUsePackets() || MinecraftClient.getInstance().interactionManager.hasCreativeInventory(); + return hasPermissionToUsePackets() || Minecraft.getInstance().gameMode.hasInfiniteItems(); } @SuppressWarnings("deprecation") @@ -273,16 +272,16 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } Executor.run(() -> () -> { ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, (packetContext, packetByteBuf) -> { - ItemStack stack = packetByteBuf.readItemStack(); - String player = packetByteBuf.readString(32767); - packetContext.getPlayer().addMessage(new LiteralText(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", EntryStack.create(stack.copy()).asFormattedText().getString()).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false); + ItemStack stack = packetByteBuf.readItem(); + String player = packetByteBuf.readUtf(32767); + packetContext.getPlayer().displayClientMessage(new TextComponent(I18n.get("text.rei.cheat_items").replaceAll("\\{item_name}", EntryStack.create(stack.copy()).asFormattedText().getString()).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false); }); ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.NOT_ENOUGH_ITEMS_PACKET, (packetContext, packetByteBuf) -> { - Screen currentScreen = MinecraftClient.getInstance().currentScreen; - if (currentScreen instanceof CraftingTableScreen) { - RecipeBookWidget recipeBookGui = ((RecipeBookProvider) currentScreen).getRecipeBookWidget(); - RecipeBookGhostSlots ghostSlots = recipeBookGui.ghostSlots; - ghostSlots.reset(); + S |
