diff --git a/src/main/java/storagecraft/proxy/ClientProxy.java b/src/main/java/storagecraft/proxy/ClientProxy.java index efafaed33..6bca345ea 100644 --- a/src/main/java/storagecraft/proxy/ClientProxy.java +++ b/src/main/java/storagecraft/proxy/ClientProxy.java @@ -1,10 +1,17 @@ package storagecraft.proxy; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemModelMesher; +import net.minecraft.client.resources.model.ModelBakery; +import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import storagecraft.StorageCraftBlocks; +import storagecraft.StorageCraftItems; +import storagecraft.item.ItemStorageCell; import storagecraft.render.BlockCableRenderer; import storagecraft.render.ItemCableRenderer; import storagecraft.tile.TileCable; @@ -16,8 +23,30 @@ public class ClientProxy extends CommonProxy { super.preInit(e); + ModelBakery.addVariantName(StorageCraftItems.STORAGE_CELL, + "storagecraft:1k_storage_cell", + "storagecraft:4k_storage_cell", + "storagecraft:16k_storage_cell", + "storagecraft:64k_storage_cell", + "storagecraft:creative_storage_cell" + ); + ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new BlockCableRenderer()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(StorageCraftBlocks.CABLE), new ItemCableRenderer()); } + + @Override + public void init(FMLInitializationEvent e) + { + super.init(e); + + ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); + + mesher.register(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_1K, new ModelResourceLocation("storagecraft:1k_storage_cell", "inventory")); + mesher.register(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_4K, new ModelResourceLocation("storagecraft:4k_storage_cell", "inventory")); + mesher.register(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_16K, new ModelResourceLocation("storagecraft:16k_storage_cell", "inventory")); + mesher.register(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_64K, new ModelResourceLocation("storagecraft:64k_storage_cell", "inventory")); + mesher.register(StorageCraftItems.STORAGE_CELL, ItemStorageCell.TYPE_CREATIVE, new ModelResourceLocation("storagecraft:creative_storage_cell", "inventory")); + } } diff --git a/src/main/resources/assets/storagecraft/models/item/16k_storage_cell.json b/src/main/resources/assets/storagecraft/models/item/16k_storage_cell.json new file mode 100644 index 000000000..46baede84 --- /dev/null +++ b/src/main/resources/assets/storagecraft/models/item/16k_storage_cell.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "storagecraft:items/16k_storage_cell" + }, + "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] + } + } +} diff --git a/src/main/resources/assets/storagecraft/models/item/1k_storage_cell.json b/src/main/resources/assets/storagecraft/models/item/1k_storage_cell.json new file mode 100644 index 000000000..4d45cdf6e --- /dev/null +++ b/src/main/resources/assets/storagecraft/models/item/1k_storage_cell.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "storagecraft:items/1k_storage_cell" + }, + "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] + } + } +} diff --git a/src/main/resources/assets/storagecraft/models/item/4k_storage_cell.json b/src/main/resources/assets/storagecraft/models/item/4k_storage_cell.json new file mode 100644 index 000000000..93631a92d --- /dev/null +++ b/src/main/resources/assets/storagecraft/models/item/4k_storage_cell.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "storagecraft:items/4k_storage_cell" + }, + "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] + } + } +} diff --git a/src/main/resources/assets/storagecraft/models/item/64k_storage_cell.json b/src/main/resources/assets/storagecraft/models/item/64k_storage_cell.json new file mode 100644 index 000000000..949611b17 --- /dev/null +++ b/src/main/resources/assets/storagecraft/models/item/64k_storage_cell.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "storagecraft:items/64k_storage_cell" + }, + "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] + } + } +} diff --git a/src/main/resources/assets/storagecraft/models/item/creative_storage_cell.json b/src/main/resources/assets/storagecraft/models/item/creative_storage_cell.json new file mode 100644 index 000000000..3dce61372 --- /dev/null +++ b/src/main/resources/assets/storagecraft/models/item/creative_storage_cell.json @@ -0,0 +1,18 @@ +{ + "parent": "builtin/generated", + "textures": { + "layer0": "storagecraft:items/creative_storage_cell" + }, + "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] + } + } +} diff --git a/src/main/resources/assets/storagecraft/textures/items/storageCell2.png b/src/main/resources/assets/storagecraft/textures/items/16k_storage_cell.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/items/storageCell2.png rename to src/main/resources/assets/storagecraft/textures/items/16k_storage_cell.png diff --git a/src/main/resources/assets/storagecraft/textures/items/storageCell0.png b/src/main/resources/assets/storagecraft/textures/items/1k_storage_cell.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/items/storageCell0.png rename to src/main/resources/assets/storagecraft/textures/items/1k_storage_cell.png diff --git a/src/main/resources/assets/storagecraft/textures/items/storageCell1.png b/src/main/resources/assets/storagecraft/textures/items/4k_storage_cell.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/items/storageCell1.png rename to src/main/resources/assets/storagecraft/textures/items/4k_storage_cell.png diff --git a/src/main/resources/assets/storagecraft/textures/items/storageCell3.png b/src/main/resources/assets/storagecraft/textures/items/64k_storage_cell.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/items/storageCell3.png rename to src/main/resources/assets/storagecraft/textures/items/64k_storage_cell.png diff --git a/src/main/resources/assets/storagecraft/textures/items/storageCell4.png b/src/main/resources/assets/storagecraft/textures/items/creative_storage_cell.png similarity index 100% rename from src/main/resources/assets/storagecraft/textures/items/storageCell4.png rename to src/main/resources/assets/storagecraft/textures/items/creative_storage_cell.png