| package mekanism.common.block.states; |
| |
| import mekanism.common.block.BlockPlastic; |
| import net.minecraft.block.properties.PropertyEnum; |
| import net.minecraft.block.state.BlockStateContainer; |
| import net.minecraft.block.state.IBlockState; |
| import net.minecraft.client.renderer.block.model.ModelResourceLocation; |
| import net.minecraft.client.renderer.block.statemap.StateMapperBase; |
| import net.minecraft.item.EnumDyeColor; |
| import net.minecraft.util.IStringSerializable; |
| import net.minecraft.util.ResourceLocation; |
| |
| public class BlockStatePlastic extends BlockStateContainer |
| { |
| public static PropertyEnum<EnumDyeColor> colorProperty = PropertyEnum.create("color", EnumDyeColor.class); |
| |
| public BlockStatePlastic(BlockPlastic block) |
| { |
| super(block, colorProperty); |
| } |
| |
| public static enum PlasticBlockType implements IStringSerializable |
| { |
| PLASTIC, |
| SLICK, |
| GLOW, |
| REINFORCED, |
| ROAD; |
| |
| @Override |
| public String getName() |
| { |
| return name().toLowerCase(); |
| } |
| } |
| |
| public static class PlasticBlockStateMapper extends StateMapperBase |
| { |
| @Override |
| protected ModelResourceLocation getModelResourceLocation(IBlockState state) |
| { |
| PlasticBlockType type = ((BlockPlastic)state.getBlock()).type; |
| String property = "type=" + type.getName(); |
| |
| ResourceLocation baseLocation = new ResourceLocation("mekanism", "plastic_block"); |
| return new ModelResourceLocation(baseLocation, property); |
| } |
| } |
| } |