mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-17 10:24:23 +01:00
Render the pattern on beds with nbt
This commit is contained in:
parent
3ab4159125
commit
515efb93cb
2 changed files with 19 additions and 1 deletions
|
@ -25,6 +25,7 @@ import com.minelittlepony.unicopia.client.render.spell.SpellRendererFactory;
|
|||
import com.minelittlepony.unicopia.entity.mob.UEntities;
|
||||
import com.minelittlepony.unicopia.item.ChameleonItem;
|
||||
import com.minelittlepony.unicopia.item.EnchantableItem;
|
||||
import com.minelittlepony.unicopia.item.FancyBedItem;
|
||||
import com.minelittlepony.unicopia.item.UItems;
|
||||
import com.minelittlepony.unicopia.particle.UParticles;
|
||||
import com.terraformersmc.terraform.boat.api.client.TerraformBoatClientHelper;
|
||||
|
@ -127,7 +128,9 @@ public interface URenderers {
|
|||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static void renderBedItem(ItemStack stack, ModelTransformationMode mode, MatrixStack matrices, VertexConsumerProvider vertices, int light, int overlay) {
|
||||
MinecraftClient.getInstance().getBlockEntityRenderDispatcher().renderEntity(((Supplier<BlockEntity>)stack.getItem()).get(), matrices, vertices, light, overlay);
|
||||
BlockEntity entity = ((Supplier<BlockEntity>)stack.getItem()).get();
|
||||
((FancyBedBlock.Tile)entity).setPattern(FancyBedItem.getPattern(stack));
|
||||
MinecraftClient.getInstance().getBlockEntityRenderDispatcher().renderEntity(entity, matrices, vertices, light, overlay);
|
||||
}
|
||||
|
||||
private static void renderJarItem(ItemStack stack, ModelTransformationMode mode, MatrixStack matrices, VertexConsumerProvider vertices, int light, int overlay) {
|
||||
|
|
|
@ -2,12 +2,18 @@ package com.minelittlepony.unicopia.item;
|
|||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.google.common.base.Suppliers;
|
||||
import com.minelittlepony.unicopia.block.FancyBedBlock;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockEntityProvider;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.item.BedItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NbtCompound;
|
||||
import net.minecraft.nbt.NbtElement;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class FancyBedItem extends BedItem implements Supplier<BlockEntity> {
|
||||
|
@ -23,4 +29,13 @@ public class FancyBedItem extends BedItem implements Supplier<BlockEntity> {
|
|||
public BlockEntity get() {
|
||||
return renderEntity.get();
|
||||
}
|
||||
|
||||
public static FancyBedBlock.SheetPattern getPattern(ItemStack stack) {
|
||||
@Nullable
|
||||
NbtCompound blockEntityNbt = getBlockEntityNbt(stack);
|
||||
if (blockEntityNbt == null || !blockEntityNbt.contains("pattern", NbtElement.STRING_TYPE)) {
|
||||
return FancyBedBlock.SheetPattern.NONE;
|
||||
}
|
||||
return FancyBedBlock.SheetPattern.byId(blockEntityNbt.getString("pattern"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue