diff options
Diffstat (limited to 'src/main/java/lance5057/tDefense/proxy/ClientProxy.java')
| -rw-r--r-- | src/main/java/lance5057/tDefense/proxy/ClientProxy.java | 298 |
1 files changed, 217 insertions, 81 deletions
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java index 41018a6..9443435 100644 --- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java +++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java @@ -1,157 +1,293 @@ package lance5057.tDefense.proxy; +import javax.annotation.Nonnull; + import lance5057.tDefense.Reference; import lance5057.tDefense.TD_Commands; import lance5057.tDefense.baubles.BaublesClientProxy; +import lance5057.tDefense.core.CoreBlocks; import lance5057.tDefense.core.CoreClientProxy; import lance5057.tDefense.core.CoreItems; +import lance5057.tDefense.core.blocks.TDMetalBlock; import lance5057.tDefense.core.tools.TDTools; import lance5057.tDefense.holiday.HolidayClientProxy; +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.client.renderer.block.statemap.StateMapperBase; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.ClientCommandHandler; import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fluids.Fluid; import slimeknights.tconstruct.common.ModelRegisterUtil; import slimeknights.tconstruct.library.TinkerRegistryClient; import slimeknights.tconstruct.library.client.ToolBuildGuiInfo; //import lance5057.tDefense.core.renderer.TestSkinChanger; -public class ClientProxy extends CommonProxy -{ - //static final ToolModelLoader toolmodel = new ToolModelLoader(); - //public static final ModelSheath sheath = new ModelSheath(); - //ModifierSoulHandler SoulHandler; - -// public static ModelTinkersTabard sheath; -// -// public static ModelTinkersHelm helm; -// public static ModelTinkersBreastplate breastplate; -// public static ModelTinkersGrieves grieves; -// public static ModelTinkersSabatons sabatons; -// public static ModelTinkersGauntlets gauntlets; -// -// public static ModelTinkersHood hood; -// public static ModelTinkersShawl shawl; -// public static ModelTinkersRobe robe; -// public static ModelTinkersShoes shoes; -// -// public static ModelTinkersCoif coif; -// public static ModelTinkersHauberk hauberk; -// public static ModelTinkersChausses chausses; -// public static ModelTinkersBoots boots; - +public class ClientProxy extends CommonProxy { + // static final ToolModelLoader toolmodel = new ToolModelLoader(); + // public static final ModelSheath sheath = new ModelSheath(); + // ModifierSoulHandler SoulHandler; + + // public static ModelTinkersTabard sheath; + public static BaublesClientProxy baubles = new BaublesClientProxy(); - + ToolBuildGuiInfo roundshieldGUI; ToolBuildGuiInfo heatershieldGUI; - + ToolBuildGuiInfo zweihanderGUI; - + ToolBuildGuiInfo shearsGUI; + ToolBuildGuiInfo fishingRodGUI; + + ToolBuildGuiInfo hoodGUI; + ToolBuildGuiInfo shawlGUI; + ToolBuildGuiInfo robeGUI; + ToolBuildGuiInfo shoesGUI; + + ToolBuildGuiInfo coifGUI; + ToolBuildGuiInfo hauberkGUI; + ToolBuildGuiInfo chaussesGUI; + ToolBuildGuiInfo bootsGUI; + + ToolBuildGuiInfo helmGUI; + ToolBuildGuiInfo breastplateGUI; + ToolBuildGuiInfo grievesGUI; + ToolBuildGuiInfo sabatonsGUI; + public static CoreClientProxy coreProxy = new CoreClientProxy(); public static HolidayClientProxy holiProxy = new HolidayClientProxy(); - //public static ArmorClientProxy armorProxy = new ArmorClientProxy(); - + // public static ArmorClientProxy armorProxy = new ArmorClientProxy(); + @Override - public void preInit() - { + public void preInit() { ClientCommandHandler.instance.registerCommand(new TD_Commands()); registerToolRenderers(); - + coreProxy.preInit(); - //armorProxy.preInit(); + // armorProxy.preInit(); baubles.preInit(); } - + @Override - public void init() - { -// Minecraft.getMinecraft().getRenderItem().getItemModelMesher() -// .register(TDTools.heatershield, 0, new ModelResourceLocation("modid:itemname", "inventory")); -// - + public void init() { + // Minecraft.getMinecraft().getRenderItem().getItemModelMesher() + // .register(TDTools.heatershield, 0, new + // ModelResourceLocation("modid:itemname", "inventory")); + // + createToolGuis(); - setupToolGuis(); + setToolGuis(); registerToolGuis(); + registerItemRenderer(CoreBlocks.metalItemBlock, TDMetalBlock.EnumMetal.AEONSTEEL.getID(), "aeonsteelblock"); + registerItemRenderer(CoreBlocks.metalItemBlock, TDMetalBlock.EnumMetal.QUEENSGOLD.getID(), "queensgoldblock"); + registerItemRenderer(CoreBlocks.metalItemBlock, TDMetalBlock.EnumMetal.DOGBEARIUM.getID(), "dogbeariumblock"); + registerItemRenderer(CoreItems.item_aeonsteelIngot, 0, CoreItems.item_aeonsteelIngot.getUnlocalizedName()); registerItemRenderer(CoreItems.item_dogbeariumIngot, 0, CoreItems.item_dogbeariumIngot.getUnlocalizedName()); registerItemRenderer(CoreItems.item_queensgoldIngot, 0, CoreItems.item_queensgoldIngot.getUnlocalizedName()); - + coreProxy.init(); - //armorProxy.init(); + // armorProxy.init(); holiProxy.Init(); baubles.init(); } - - public void registerToolRenderers() - { + + public void registerToolRenderers() { ModelRegisterUtil.registerToolModel(TDTools.roundshield); ModelRegisterUtil.registerToolModel(TDTools.heatershield); ModelRegisterUtil.registerToolModel(TDTools.zweihander); - + ModelRegisterUtil.registerToolModel(TDTools.shears); + ModelRegisterUtil.registerToolModel(TDTools.fishingRod); + + ModelRegisterUtil.registerToolModel(TDTools.hood); + ModelRegisterUtil.registerToolModel(TDTools.shawl); + ModelRegisterUtil.registerToolModel(TDTools.robe); + ModelRegisterUtil.registerToolModel(TDTools.shoes); + } - - public void createToolGuis() - { + + public void createToolGuis() { roundshieldGUI = new ToolBuildGuiInfo(TDTools.roundshield); heatershieldGUI = new ToolBuildGuiInfo(TDTools.heatershield); zweihanderGUI = new ToolBuildGuiInfo(TDTools.zweihander); + shearsGUI = new ToolBuildGuiInfo(TDTools.shears); + fishingRodGUI = new ToolBuildGuiInfo(TDTools.fishingRod); + + hoodGUI = new ToolBuildGuiInfo(TDTools.hood); + shawlGUI = new ToolBuildGuiInfo(TDTools.shawl); + robeGUI = new ToolBuildGuiInfo(TDTools.robe); + shoesGUI = new ToolBuildGuiInfo(TDTools.shoes); } - - public void setupToolGuis() - { - roundshieldGUI.addSlotPosition(34, 15+8); - roundshieldGUI.addSlotPosition(34, 33+8); - roundshieldGUI.addSlotPosition(34, 51+8); - - heatershieldGUI.addSlotPosition(34, 15+8); - heatershieldGUI.addSlotPosition(25, 33+8); - heatershieldGUI.addSlotPosition(43, 33+8); - heatershieldGUI.addSlotPosition(34, 51+8); - - zweihanderGUI.addSlotPosition(34, 15+8); - zweihanderGUI.addSlotPosition(25, 33+8); - zweihanderGUI.addSlotPosition(43, 33+8); - zweihanderGUI.addSlotPosition(34, 51+8); + + public void setupToolGuis() { + roundshieldGUI.addSlotPosition(34, 15 + 8); + roundshieldGUI.addSlotPosition(34, 33 + 8); + roundshieldGUI.addSlotPosition(34, 51 + 8); + + heatershieldGUI.addSlotPosition(34, 15 + 8); + heatershieldGUI.addSlotPosition(25, 33 + 8); + heatershieldGUI.addSlotPosition(43, 33 + 8); + heatershieldGUI.addSlotPosition(34, 51 + 8); + + zweihanderGUI.addSlotPosition(34, 15 + 8); + zweihanderGUI.addSlotPosition(25, 33 + 8); + zweihanderGUI.addSlotPosition(43, 33 + 8); + zweihanderGUI.addSlotPosition(34, 51 + 8); + + hoodGUI.addSlotPosition(34, 15 + 8); + hoodGUI.addSlotPosition(43, 33 + 8); + hoodGUI.addSlotPosition(34, 51 + 8); + + shawlGUI.addSlotPosition(34, 15 + 8); + shawlGUI.addSlotPosition(43, 33 + 8); + shawlGUI.addSlotPosition(34, 51 + 8); + + robeGUI.addSlotPosition(34, 15 + 8); + robeGUI.addSlotPosition(43, 33 + 8); + robeGUI.addSlotPosition(34, 51 + 8); + + shoesGUI.addSlotPosition(34, 15 + 8); + shoesGUI.addSlotPosition(43, 33 + 8); + shoesGUI.addSlotPosition(34, 51 + 8); + + shearsGUI.addSlotPosition(34, 15 + 8); + shearsGUI.addSlotPosition(43, 33 + 8); + shearsGUI.addSlotPosition(34, 51 + 8); } - - public void registerToolGuis() - { + + public void registerToolGuis() { TinkerRegistryClient.addToolBuilding(roundshieldGUI); TinkerRegistryClient.addToolBuilding(heatershieldGUI); TinkerRegistryClient.addToolBuilding(zweihanderGUI); + TinkerRegistryClient.addToolBuilding(shearsGUI); + TinkerRegistryClient.addToolBuilding(fishingRodGUI); + + TinkerRegistryClient.addToolBuilding(hoodGUI); + TinkerRegistryClient.addToolBuilding(shawlGUI); + TinkerRegistryClient.addToolBuilding(robeGUI); + TinkerRegistryClient.addToolBuilding(shoesGUI); + } - + @Override - public void reloadRenderers() - { + public void reloadRenderers() { setToolGuis(); - + baubles.reloadRenderers(); } - - public void setToolGuis() - { + + public void setToolGuis() { roundshieldGUI.positions.clear(); roundshieldGUI.addSlotPosition(34, 15); roundshieldGUI.addSlotPosition(34, 33); roundshieldGUI.addSlotPosition(34, 51); - + heatershieldGUI.positions.clear(); heatershieldGUI.addSlotPosition(34, 15); heatershieldGUI.addSlotPosition(25, 33); heatershieldGUI.addSlotPosition(43, 33); heatershieldGUI.addSlotPosition(34, 51); - + zweihanderGUI.positions.clear(); zweihanderGUI.addSlotPosition(34, 15); zweihanderGUI.addSlotPosition(25, 33); zweihanderGUI.addSlotPosition(43, 33); zweihanderGUI.addSlotPosition(34, 51); + + hoodGUI.positions.clear(); + hoodGUI.addSlotPosition(34, 15 + 8); + hoodGUI.addSlotPosition(43, 33 + 8); + hoodGUI.addSlotPosition(34, 51 + 8); + + shawlGUI.positions.clear(); + shawlGUI.addSlotPosition(34, 15 + 8); + shawlGUI.addSlotPosition(43, 33 + 8); + shawlGUI.addSlotPosition(34, 51 + 8); + + robeGUI.positions.clear(); + robeGUI.addSlotPosition(34, 15 + 8); + robeGUI.addSlotPosition(43, 33 + 8); + robeGUI.addSlotPosition(34, 51 + 8); + + shoesGUI.positions.clear(); + shoesGUI.addSlotPosition(34, 15 + 8); + shoesGUI.addSlotPosition(43, 33 + 8); + shoesGUI.addSlotPosition(34, 51 + 8); + + shearsGUI.positions.clear(); + shearsGUI.addSlotPosition(34, 15 + 8); + shearsGUI.addSlotPosition(43, 33 + 8); + shearsGUI.addSlotPosition(34, 51 + 8); + + fishingRodGUI.positions.clear(); + fishingRodGUI.addSlotPosition(34, 15 + 8); + fishingRodGUI.addSlotPosition(43, 33 + 8); + fishingRodGUI.addSlotPosition(34, 51 + 8); + } + + @Override + public void registerItemRenderer(Item item, int meta, String id) { + ModelLoader.setCustomModelResourceLocation(item, meta, + new ModelResourceLocation(Reference.MOD_ID + ":" + id, "inventory")); + } + + @Override + public void registerFluidModels(Fluid fluid) { + if (fluid == null) { + return; + } + + Block block = fluid.getBlock(); + if (block != null) { + Item item = Item.getItemFromBlock(block); + FluidStateMapper mapper = new FluidStateMapper(fluid); + + // item-model + if (item != null) { + ModelLoader.registerItemVariants(item); + ModelLoader.setCustomMeshDefinition(item, mapper); + } + // block-model + ModelLoader.setCustomStateMapper(block, mapper); + } } - public static void registerItemRenderer(Item item, int meta, String id) { - ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(Reference.MOD_ID + ":" + id, "inventory")); - } + @Override + public void registerItemBlockRenderer(Block block, int meta, String file) { + Minecraft.getMinecraft().getRenderItem().getItemModelMesher() + .register(Item.getItemFromBlock(block), meta, new ModelResourceLocation(Reference.MOD_ID + ":" + file, "inventory")); + } + + + public static class FluidStateMapper extends StateMapperBase implements ItemMeshDefinition { + + public final Fluid fluid; + public final ModelResourceLocation location; + + public FluidStateMapper(Fluid fluid) { + this.fluid = fluid; + + // have each block hold its fluid per nbt? hm + this.location = new ModelResourceLocation(new ResourceLocation(Reference.MOD_ID, "fluid_block"), fluid.getName()); + } + + @Nonnull + @Override + protected ModelResourceLocation getModelResourceLocation(@Nonnull IBlockState state) { + return location; + } + + @Nonnull + @Override + public ModelResourceLocation getModelLocation(@Nonnull ItemStack stack) { + return location; + } +} } |
