commit
f5e8b28b59
3 changed files with 18 additions and 3 deletions
|
@ -1,5 +1,7 @@
|
||||||
package org.dimdev.dimdoors.client;
|
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.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.render.VertexConsumerProvider;
|
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.client.util.math.MatrixStack;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
||||||
|
|
||||||
|
@Environment(EnvType.CLIENT)
|
||||||
public class UnderlaidChildItemRenderer implements BuiltinItemRendererRegistry.DynamicItemRenderer {
|
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) {
|
public UnderlaidChildItemRenderer(Item underlay) {
|
||||||
this.underlay = new ItemStack(underlay);
|
this.underlay = new ItemStack(underlay);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package org.dimdev.dimdoors.fluid;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import net.fabricmc.api.EnvType;
|
||||||
|
import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.texture.Sprite;
|
import net.minecraft.client.texture.Sprite;
|
||||||
import net.minecraft.fluid.FlowableFluid;
|
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"));
|
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) {
|
private static void setupFluidRendering(Fluid still, Fluid flowing, final Identifier textureFluidId) {
|
||||||
final Identifier stillSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_still");
|
final Identifier stillSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_still");
|
||||||
final Identifier flowingSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_flow");
|
final Identifier flowingSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_flow");
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.dimdev.dimdoors.item;
|
package org.dimdev.dimdoors.item;
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
|
import net.fabricmc.api.Environment;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry;
|
import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry;
|
||||||
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
|
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
|
||||||
|
|
||||||
|
@ -39,7 +40,6 @@ import java.util.function.Function;
|
||||||
|
|
||||||
public class DimensionalDoorItemRegistrar {
|
public class DimensionalDoorItemRegistrar {
|
||||||
public static final String PREFIX = "item_ag_dim_";
|
public static final String PREFIX = "item_ag_dim_";
|
||||||
private static final UnderlaidChildItemRenderer renderer = new UnderlaidChildItemRenderer(Items.ENDER_PEARL);
|
|
||||||
|
|
||||||
private final Registry<Item> registry;
|
private final Registry<Item> registry;
|
||||||
|
|
||||||
|
@ -118,10 +118,15 @@ public class DimensionalDoorItemRegistrar {
|
||||||
}
|
}
|
||||||
placementFunctions.put(original, dimItem::place);
|
placementFunctions.put(original, dimItem::place);
|
||||||
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
|
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 static class AutoGenDimensionalDoorItem extends DimensionalDoorItem implements ChildItem {
|
||||||
private final Item originalItem;
|
private final Item originalItem;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue