From 8f67b8f6ae538b1bf384354fb0745bd1dd152e6e Mon Sep 17 00:00:00 2001 From: Vasco Lavos Date: Mon, 25 Dec 2023 12:33:54 +0000 Subject: [PATCH] Fix #4526 --- .../render/be/VariantChestRenderer.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/violetmoon/quark/content/building/client/render/be/VariantChestRenderer.java b/src/main/java/org/violetmoon/quark/content/building/client/render/be/VariantChestRenderer.java index a3f3311d8c..95a9d9d247 100644 --- a/src/main/java/org/violetmoon/quark/content/building/client/render/be/VariantChestRenderer.java +++ b/src/main/java/org/violetmoon/quark/content/building/client/render/be/VariantChestRenderer.java @@ -1,5 +1,13 @@ package org.violetmoon.quark.content.building.client.render.be; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.base.Quark; +import org.violetmoon.quark.content.building.module.VariantChestsModule; + import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.blockentity.ChestRenderer; import net.minecraft.client.resources.model.Material; @@ -8,16 +16,10 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.ChestBlockEntity; import net.minecraft.world.level.block.state.properties.ChestType; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.base.Quark; -import org.violetmoon.quark.content.building.module.VariantChestsModule; - -import java.util.IdentityHashMap; -import java.util.Map; public class VariantChestRenderer extends ChestRenderer { - private final Map materialMap = new IdentityHashMap<>(); + private final Map, Material> materialMap = new HashMap<>(); protected final boolean isTrap; public VariantChestRenderer(BlockEntityRendererProvider.Context context, boolean isTrap) { @@ -29,8 +31,9 @@ public VariantChestRenderer(BlockEntityRendererProvider.Context context, boolean @Override public Material getMaterial(ChestBlockEntity tile, ChestType type) { Block block = tile.getBlockState().getBlock(); - - return materialMap.computeIfAbsent(block, b -> { + + Pair pair = Pair.of(block, type); + return materialMap.computeIfAbsent(pair, b -> { if (!(block instanceof VariantChestsModule.IVariantChest v)) return null; //apply the texture naming convention StringBuilder tex = new StringBuilder(v.getTextureFolder())