ClientProxy.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package me.km;
  2. import me.km.entities.ModEntities;
  3. import net.minecraft.block.Block;
  4. import net.minecraft.block.state.IBlockState;
  5. import net.minecraft.client.renderer.block.model.ModelBakery;
  6. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  7. import net.minecraft.client.renderer.block.statemap.StateMapperBase;
  8. import net.minecraft.client.renderer.entity.Render;
  9. import net.minecraft.entity.Entity;
  10. import net.minecraft.item.Item;
  11. import net.minecraftforge.client.model.ModelLoader;
  12. import net.minecraftforge.fluids.IFluidBlock;
  13. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  14. public class ClientProxy extends CommonProxy
  15. {
  16. @Override
  17. public void registerItemRenderer(Item item, int meta, String id)
  18. {
  19. ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(KajetansMod.MODID + ":" + id, null));
  20. }
  21. @Override
  22. public void registerFluidModel(IFluidBlock fluidBlock)
  23. {
  24. final Item item = Item.getItemFromBlock((Block) fluidBlock);
  25. assert item != null;
  26. ModelBakery.registerItemVariants(item);
  27. ModelResourceLocation modelResourceLocation = new ModelResourceLocation(KajetansMod.MODID + ":fluids", fluidBlock.getFluid().getName());
  28. ModelLoader.setCustomMeshDefinition(item, MeshDefinitionFix.create(stack -> modelResourceLocation));
  29. ModelLoader.setCustomStateMapper((Block) fluidBlock, new StateMapperBase()
  30. {
  31. @Override
  32. protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  33. {
  34. return modelResourceLocation;
  35. }
  36. });
  37. }
  38. @Override
  39. public void registerEntityRenderer(Class<? extends Entity> c, Render<? extends Entity> r)
  40. {
  41. RenderingRegistry.registerEntityRenderingHandler(c, r);
  42. }
  43. @Override
  44. public void initEntities()
  45. {
  46. ModEntities.initClient();
  47. }
  48. }