From e0ab2796bd6845ed1b08294855589383a472c9e2 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Sun, 2 Mar 2025 11:49:58 +0100 Subject: [PATCH] Patch Production II - Fixed crash when shift-clicking items in the package filter UI #7497 - Fixed crash caused by the create menu button when loaded too early #7521 - Safety check for fan processing type view crashing #7499 (Might be a concurrency issue, maybe investigate this further) --- gradle.properties | 4 ++-- .../fan/processing/FanProcessingTypeRegistry.java | 2 +- .../content/logistics/filter/PackageFilterMenu.java | 6 ++++++ .../infrastructure/gui/OpenCreateMenuButton.java | 12 +++++++++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index f771e6bdaa..2a1063b29a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,8 @@ org.gradle.caching = true # mod version info # build_info_mod_version is the version that gets filled into CreateBuildInfo.java -mod_version = 6.0.0 -build_info_mod_version = 6.0.0 +mod_version = 6.0.1 +build_info_mod_version = 6.0.1 artifact_minecraft_version = 1.20.1 minecraft_version = 1.20.1 diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java index 74d7bff5d2..0712ac1874 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java @@ -16,7 +16,7 @@ public class FanProcessingTypeRegistry { @UnmodifiableView public static List getSortedTypesView() { - if (sortedTypes == null) { + if (sortedTypes == null || sortedTypesView == null) { sortedTypes = new ReferenceArrayList<>(); CreateBuiltInRegistries.FAN_PROCESSING_TYPE.forEach(sortedTypes::add); diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterMenu.java b/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterMenu.java index cd1a0364d4..f9111f274a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterMenu.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/PackageFilterMenu.java @@ -5,6 +5,7 @@ import com.simibubi.create.AllMenuTypes; import net.minecraft.client.gui.components.EditBox; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.ItemStack; import net.minecraftforge.items.ItemStackHandler; @@ -62,5 +63,10 @@ public class PackageFilterMenu extends AbstractFilterMenu { filterItem.getOrCreateTag() .putString("Address", address); } + + @Override + public ItemStack quickMoveStack(Player playerIn, int index) { + return ItemStack.EMPTY; + } } diff --git a/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java b/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java index 4c9b2ec587..265e6bd39c 100644 --- a/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java +++ b/src/main/java/com/simibubi/create/infrastructure/gui/OpenCreateMenuButton.java @@ -20,6 +20,7 @@ import net.minecraft.client.gui.screens.PauseScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.TitleScreen; import net.minecraft.client.resources.language.I18n; +import net.minecraft.client.resources.model.BakedModel; import net.minecraft.network.chat.CommonComponents; import net.minecraft.world.item.ItemStack; @@ -30,15 +31,20 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber; public class OpenCreateMenuButton extends Button { - public static final ItemStack ICON = AllItems.GOGGLES.asStack(); - public OpenCreateMenuButton(int x, int y) { super(x, y, 20, 20, CommonComponents.EMPTY, OpenCreateMenuButton::click, DEFAULT_NARRATION); } @Override public void renderString(GuiGraphics graphics, Font pFont, int pColor) { - graphics.renderItem(ICON, getX() + 2, getY() + 2); + ItemStack icon = AllItems.GOGGLES.asStack(); + BakedModel bakedmodel = Minecraft.getInstance() + .getItemRenderer() + .getModel(icon, Minecraft.getInstance().level, Minecraft.getInstance().player, 0); + if (bakedmodel == null) + return; + + graphics.renderItem(icon, getX() + 2, getY() + 2); } public static void click(Button b) {