123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package me.km;
- import me.km.blocks.ModBlocks;
- import me.km.blocks.TileEntityCauldron;
- import me.km.entities.ModEntities;
- import me.km.items.ModelCylinder;
- import me.km.items.ModelHat;
- import me.km.networking.KeyManager;
- import net.minecraft.block.Block;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.model.ModelBiped;
- import net.minecraft.client.renderer.block.model.ModelBakery;
- import net.minecraft.client.renderer.block.model.ModelResourceLocation;
- import net.minecraft.client.renderer.block.statemap.StateMapperBase;
- import net.minecraft.client.renderer.color.BlockColors;
- import net.minecraft.client.renderer.color.IBlockColor;
- import net.minecraft.client.renderer.entity.Render;
- import net.minecraft.entity.Entity;
- import net.minecraft.item.Item;
- import net.minecraft.server.MinecraftServer;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.IBlockAccess;
- import net.minecraftforge.client.model.ModelLoader;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraftforge.fluids.IFluidBlock;
- import net.minecraftforge.fml.client.registry.RenderingRegistry;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class ClientProxy extends CommonProxy
- {
- @Override
- public void registerItemRenderer(Item item, int meta, String id, String variant)
- {
- ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(KajetansMod.MODID + ":" + id, variant));
- }
-
- @Override
- public void registerItemRenderer(Item item, int meta, String id)
- {
- registerItemRenderer(item, meta, id, null);
- }
- @Override
- public void registerFluidModel(IFluidBlock fluidBlock)
- {
- final Item item = Item.getItemFromBlock((Block) fluidBlock);
- assert item != null;
- ModelBakery.registerItemVariants(item);
- ModelResourceLocation modelResourceLocation = new ModelResourceLocation(KajetansMod.MODID + ":fluids", fluidBlock.getFluid().getName());
- ModelLoader.setCustomMeshDefinition(item, MeshDefinitionFix.create(stack -> modelResourceLocation));
- ModelLoader.setCustomStateMapper((Block) fluidBlock, new StateMapperBase()
- {
- @Override
- protected ModelResourceLocation getModelResourceLocation(IBlockState state)
- {
- return modelResourceLocation;
- }
- });
- }
-
- @Override
- public void registerEntityRenderer(Class<? extends Entity> c, Render<? extends Entity> r)
- {
- RenderingRegistry.registerEntityRenderingHandler(c, r);
- }
-
- @Override
- public void init()
- {
- ModEntities.initClient();
- MinecraftForge.EVENT_BUS.register(new ClientEvents());
- MinecraftForge.EVENT_BUS.register(new KeyManager());
- IBlockColor colorer = (IBlockState state, IBlockAccess w, BlockPos pos, int tintIndex) ->
- {
- TileEntityCauldron tile = (TileEntityCauldron) w.getTileEntity(pos);
- if(tile == null)
- {
- return -16777216;
- }
- return -16777216 | tile.getRed() << 16 | tile.getGreen() << 8 | tile.getBlue();
- };
- BlockColors colors = Minecraft.getMinecraft().getBlockColors();
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronOak);
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronAcacia);
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronBigOak);
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronBirch);
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronJungle);
- colors.registerBlockColorHandler(colorer, ModBlocks.cauldronSpruce);
- }
- @Override
- public void overloadPlayerList(MinecraftServer server)
- {
- }
- @SideOnly(Side.CLIENT)
- private final static ModelHat STRAW_HAT = new ModelHat(1);
- @SideOnly(Side.CLIENT)
- private final static ModelCylinder CYLINDER = new ModelCylinder(1);
-
- @Override
- public ModelBiped getCylinderModel()
- {
- return CYLINDER;
- }
- @Override
- public ModelBiped getStrawHatModel()
- {
- return STRAW_HAT;
- }
- }
|