Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.wuppy.peacefulpackmod.block;
- import java.util.List;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyEnum;
- import net.minecraft.block.state.BlockState;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.renderer.entity.RenderItem;
- import net.minecraft.client.resources.model.ModelBakery;
- import net.minecraft.client.resources.model.ModelResourceLocation;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.IStringSerializable;
- import net.minecraftforge.fml.common.registry.GameRegistry;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- import com.wuppy.peacefulpackmod.PeacefulPack;
- import com.wuppy.peacefulpackmod.item.ItemPeacefulOresblock;
- public class BlockPeacefulOres extends Block
- {
- public static final PropertyEnum VARIANT = PropertyEnum.create("variant", BlockPeacefulOres.OreType.class);
- private final String name = "oreBlock";
- public BlockPeacefulOres()
- {
- super(Material.rock);
- GameRegistry.registerBlock(this, ItemPeacefulOresblock.class, name);
- setUnlocalizedName(PeacefulPack.modid + "_" + name);
- setStepSound(soundTypeStone);
- setHardness(3F);
- setResistance(1.0F);
- setCreativeTab(PeacefulPack.ppBlocksTab);
- }
- public String getName()
- {
- return name;
- }
- @Override
- public IBlockState getStateFromMeta(int meta)
- {
- return this.getDefaultState().withProperty(VARIANT, BlockPeacefulOres.OreType.byMetadata(meta));
- }
- @Override
- public int getMetaFromState(IBlockState state)
- {
- return ((BlockPeacefulOres.OreType)state.getValue(VARIANT)).getMetadata();
- }
- @Override
- protected BlockState createBlockState()
- {
- return new BlockState(this, new IProperty[] {VARIANT});
- }
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @SideOnly(Side.CLIENT)
- @Override
- public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List)
- {
- for (int var4 = 0; var4 < BlockPeacefulOres.OreType.getValues(); ++var4)
- {
- par3List.add(new ItemStack(par1, 1, var4));
- }
- }
- public static enum OreType implements IStringSerializable
- {
- SULPHER(0, "sulphur"),
- NITER(1, "niter"),
- FOSSIL1(2, "fossil1"),
- FOSSIL2(3, "fossil2"),
- FOSSIL3(4, "fossil3");
- private final int metadata;
- private final String name;
- //private static final BlockPeacefulOres.OreType[] ORE_TYPES = new BlockPeacefulOres.OreType[values().length];
- private OreType(int metadata, String name)
- {
- this.metadata = metadata;
- this.name = name;
- }
- public int getMetadata()
- {
- return this.metadata;
- }
- @Override
- public String getName()
- {
- return name;
- }
- public static BlockPeacefulOres.OreType byMetadata(int metadata)
- {
- if (metadata < 0 || metadata >= values().length)
- {
- metadata = 0;
- }
- return values()[metadata];
- }
- public static int getValues()
- {
- return values().length;
- }
- static
- {
- BlockPeacefulOres.OreType[] values = values();
- int length = values.length;
- for (int i = 0; i < length; ++i)
- {
- BlockPeacefulOres.OreType type = values[i];
- values()[type.getMetadata()] = type;
- }
- }
- public static void registerVariants()
- {
- String[] variants = new String[values().length];
- for(int i = 0; i < values().length; i++)
- {
- variants[i] = PeacefulPack.modid + ":" + values()[i].name;
- }
- ModelBakery.addVariantName(Item.getItemFromBlock(ModBlocks.oreBlock), variants);
- }
- public static void registerRenders()
- {
- RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
- for(int i = 0; i < values().length; i++)
- {
- renderItem.getItemModelMesher().register(Item.getItemFromBlock(ModBlocks.oreBlock), i, new ModelResourceLocation(PeacefulPack.modid + ":" + values()[i].name, "inventory"));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement