From 0060e0cd5cd3d73a816d8327a661b8a700ddd31d Mon Sep 17 00:00:00 2001 From: Walaryne Date: Wed, 16 Jun 2021 19:31:17 -0400 Subject: [PATCH 1/2] Fixes #205 --- src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java b/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java index da984f66..d51e5b52 100644 --- a/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java +++ b/src/main/java/org/dimdev/dimdoors/fluid/ModFluids.java @@ -2,6 +2,8 @@ package org.dimdev.dimdoors.fluid; import java.util.function.Function; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.texture.Sprite; import net.minecraft.fluid.FlowableFluid; @@ -36,6 +38,7 @@ public class ModFluids { setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, new Identifier("dimdoors:eternal_fluid")); } + @Environment(EnvType.CLIENT) private static void setupFluidRendering(Fluid still, Fluid flowing, final Identifier textureFluidId) { final Identifier stillSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_still"); final Identifier flowingSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_flow"); From f6e918e6e82b9c19f7f88b5318672c9e07a9ac22 Mon Sep 17 00:00:00 2001 From: Walaryne Date: Wed, 16 Jun 2021 21:58:30 -0400 Subject: [PATCH 2/2] Fixed another error related to sidedness, DimDoors now works on dedicated servers --- .../dimdoors/client/UnderlaidChildItemRenderer.java | 9 ++++++++- .../dimdoors/item/DimensionalDoorItemRegistrar.java | 9 +++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/client/UnderlaidChildItemRenderer.java b/src/main/java/org/dimdev/dimdoors/client/UnderlaidChildItemRenderer.java index dc7848de..b91cd25a 100644 --- a/src/main/java/org/dimdev/dimdoors/client/UnderlaidChildItemRenderer.java +++ b/src/main/java/org/dimdev/dimdoors/client/UnderlaidChildItemRenderer.java @@ -1,5 +1,7 @@ package org.dimdev.dimdoors.client; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.VertexConsumerProvider; @@ -8,11 +10,16 @@ import net.minecraft.client.render.model.json.ModelTransformation; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar; +@Environment(EnvType.CLIENT) public class UnderlaidChildItemRenderer implements BuiltinItemRendererRegistry.DynamicItemRenderer { - private final ItemStack underlay; + //Dirty hack? IDK this is the only instance of the class, fix later? + public final static UnderlaidChildItemRenderer RENDERER = new UnderlaidChildItemRenderer(Items.ENDER_PEARL); + + private final ItemStack underlay; public UnderlaidChildItemRenderer(Item underlay) { this.underlay = new ItemStack(underlay); } diff --git a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java index dc56e01e..92320878 100644 --- a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java +++ b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java @@ -1,6 +1,7 @@ package org.dimdev.dimdoors.item; import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; @@ -39,7 +40,6 @@ import java.util.function.Function; public class DimensionalDoorItemRegistrar { public static final String PREFIX = "item_ag_dim_"; - private static final UnderlaidChildItemRenderer renderer = new UnderlaidChildItemRenderer(Items.ENDER_PEARL); private final Registry registry; @@ -118,10 +118,15 @@ public class DimensionalDoorItemRegistrar { } placementFunctions.put(original, dimItem::place); if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) { - BuiltinItemRendererRegistry.INSTANCE.register(dimItem, renderer); + registerItemRenderer(dimItem); } } + @Environment(EnvType.CLIENT) + private void registerItemRenderer(BlockItem dimItem) { + BuiltinItemRendererRegistry.INSTANCE.register(dimItem, UnderlaidChildItemRenderer.RENDERER); + } + private static class AutoGenDimensionalDoorItem extends DimensionalDoorItem implements ChildItem { private final Item originalItem;