diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java index 2c732a07e..3afb1cc05 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockSmileyCloud.java @@ -135,16 +135,16 @@ public class BlockSmileyCloud extends BlockContainerBase{ int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; if(rotation == 0){ - PosUtil.setMetadata(pos, world, 0, 2); + PosUtil.setMetadata(pos, world, 2, 2); } if(rotation == 1){ - PosUtil.setMetadata(pos, world, 3, 2); - } - if(rotation == 2){ PosUtil.setMetadata(pos, world, 1, 2); } + if(rotation == 2){ + PosUtil.setMetadata(pos, world, 0, 2); + } if(rotation == 3){ - PosUtil.setMetadata(pos, world, 2, 2); + PosUtil.setMetadata(pos, world, 3, 2); } super.onBlockPlacedBy(world, pos, state, player, stack); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java index b277ef052..b0f17b2eb 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/base/BlockContainerBase.java @@ -280,4 +280,9 @@ public abstract class BlockContainerBase extends BlockContainer{ protected PropertyInteger getMetaProperty(){ return null; } + + @Override + public int getRenderType(){ + return 3; + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java index 1864d8937..8b76e26b8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/proxy/ClientProxy.java @@ -85,19 +85,24 @@ public class ClientProxy implements IProxy{ //VillagerRegistry.instance().registerVillagerSkin(ConfigIntValues.JAM_VILLAGER_ID.getValue(), new ResourceLocation(ModUtil.MOD_ID_LOWER, "textures/entity/villager/jamVillager.png")); for(Object o : Util.ITEMS_AND_BLOCKS){ - ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); + + ItemStack stack = null; if(o instanceof Item){ - List subItems = new ArrayList(); - ((Item)o).getSubItems((Item)o, null, subItems); - for(ItemStack aStack : subItems){ - mesher.register(aStack.getItem(), aStack.getItemDamage(), new ModelResourceLocation(ModUtil.MOD_ID_LOWER+":"+aStack.getItem().getRegistryName(), "inventory")); - } + stack = new ItemStack((Item)o); } else if(o instanceof Block){ + stack = new ItemStack((Block)o); + } + + if(stack != null){ + ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); + String name = stack.getItem().getRegistryName(); + List subItems = new ArrayList(); - ((Block)o).getSubBlocks(Item.getItemFromBlock((Block)o), null, subItems); + stack.getItem().getSubItems(stack.getItem(), null, subItems); + for(ItemStack aStack : subItems){ - mesher.register(aStack.getItem(), aStack.getItemDamage(), new ModelResourceLocation(ModUtil.MOD_ID_LOWER+":"+aStack.getItem().getRegistryName(), "inventory")); + mesher.register(aStack.getItem(), aStack.getItemDamage(), new ModelResourceLocation(name, "inventory")); } } } diff --git a/src/main/resources/assets/actuallyadditions/models/item/itemBooklet.json b/src/main/resources/assets/actuallyadditions/models/item/itemBooklet.json new file mode 100644 index 000000000..fb3016358 --- /dev/null +++ b/src/main/resources/assets/actuallyadditions/models/item/itemBooklet.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "actuallyadditions:items/itemBooklet" + }, + "display": { + "thirdperson": { + "rotation": [ -90, 0, 0 ], + "translation": [ 0, 1, -3 ], + "scale": [ 0.55, 0.55, 0.55 ] + }, + "firstperson": { + "rotation": [ 0, -135, 25 ], + "translation": [ 0, 4, 2 ], + "scale": [ 1.7, 1.7, 1.7 ] + } + } +}