ClientProxy.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package me.km;
  2. import me.km.entities.ModEntities;
  3. import me.km.items.ModelCylinder;
  4. import me.km.items.ModelHat;
  5. import net.minecraft.block.Block;
  6. import net.minecraft.block.state.IBlockState;
  7. import net.minecraft.client.model.ModelBiped;
  8. import net.minecraft.client.renderer.block.model.ModelBakery;
  9. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  10. import net.minecraft.client.renderer.block.statemap.StateMapperBase;
  11. import net.minecraft.client.renderer.entity.Render;
  12. import net.minecraft.entity.Entity;
  13. import net.minecraft.item.Item;
  14. import net.minecraft.server.MinecraftServer;
  15. import net.minecraftforge.client.model.ModelLoader;
  16. import net.minecraftforge.fluids.IFluidBlock;
  17. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  18. import net.minecraftforge.fml.relauncher.Side;
  19. import net.minecraftforge.fml.relauncher.SideOnly;
  20. public class ClientProxy extends CommonProxy
  21. {
  22. @Override
  23. public void registerItemRenderer(Item item, int meta, String id, String variant)
  24. {
  25. ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(KajetansMod.MODID + ":" + id, variant));
  26. }
  27. @Override
  28. public void registerItemRenderer(Item item, int meta, String id)
  29. {
  30. registerItemRenderer(item, meta, id, null);
  31. }
  32. @Override
  33. public void registerFluidModel(IFluidBlock fluidBlock)
  34. {
  35. final Item item = Item.getItemFromBlock((Block) fluidBlock);
  36. assert item != null;
  37. ModelBakery.registerItemVariants(item);
  38. ModelResourceLocation modelResourceLocation = new ModelResourceLocation(KajetansMod.MODID + ":fluids", fluidBlock.getFluid().getName());
  39. ModelLoader.setCustomMeshDefinition(item, MeshDefinitionFix.create(stack -> modelResourceLocation));
  40. ModelLoader.setCustomStateMapper((Block) fluidBlock, new StateMapperBase()
  41. {
  42. @Override
  43. protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  44. {
  45. return modelResourceLocation;
  46. }
  47. });
  48. }
  49. @Override
  50. public void registerEntityRenderer(Class<? extends Entity> c, Render<? extends Entity> r)
  51. {
  52. RenderingRegistry.registerEntityRenderingHandler(c, r);
  53. }
  54. @Override
  55. public void initEntities()
  56. {
  57. ModEntities.initClient();
  58. }
  59. @Override
  60. public void overloadPlayerList(MinecraftServer server)
  61. {
  62. }
  63. @SideOnly(Side.CLIENT)
  64. private final static ModelHat STRAW_HAT = new ModelHat(1);
  65. @SideOnly(Side.CLIENT)
  66. private final static ModelCylinder CYLINDER = new ModelCylinder(1);
  67. @Override
  68. public ModelBiped getCylinderModel()
  69. {
  70. return CYLINDER;
  71. }
  72. @Override
  73. public ModelBiped getStrawHatModel()
  74. {
  75. return STRAW_HAT;
  76. }
  77. }