Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Shane2482.DeadPlanet.enums;
- import net.minecraft.util.IStringSerializable;
- public class block_enums
- {
- public enum basalt_enums implements IStringSerializable
- {
- Rough("rough", 0),
- Smooth("smooth", 1),
- Brick("brick", 2),
- Chisel("chisel", 3);
- private String name;
- private int meta;
- private basalt_enums(String name, int meta)
- {
- this.name = name;
- this.meta = meta;
- }
- public String getName()
- {
- return name;
- }
- public int getMeta()
- {
- return meta;
- }
- @Override
- public String toString()
- {
- return getName();
- }
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////
- package Shane2482.DeadPlanet.blocks;
- import java.util.List;
- import Shane2482.DeadPlanet.Reference;
- import Shane2482.DeadPlanet.enums.block_enums;
- 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.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.util.math.RayTraceResult;
- import net.minecraft.world.World;
- public class basalt extends Block implements IMetaBlockName
- {
- public static final PropertyEnum<block_enums.basalt_enums> TYPE = PropertyEnum.<block_enums.basalt_enums> create("type", block_enums.basalt_enums.class);
- public basalt()
- {
- super(Material.ROCK);
- setUnlocalizedName(Reference.DeadPlanetBlocks.Basalt.getUnlocalizedName());
- setRegistryName(Reference.DeadPlanetBlocks.Basalt.getRegistryName());
- setHarvestLevel("pickaxe", 1);
- setHardness(5.0f);
- setResistance(25.0f);
- //setCreativeTab();
- setDefaultState(this.blockState.getBaseState().withProperty(TYPE, block_enums.basalt_enums.Rough));
- }
- @Override
- protected BlockStateContainer createBlockState()
- {
- return new BlockStateContainer(this, new IProperty[] {TYPE});
- }
- @Override
- public int getMetaFromState(IBlockState state)
- {
- block_enums.basalt_enums type = (block_enums.basalt_enums) state.getValue(TYPE);
- return type.getMeta();
- }
- @Override
- public IBlockState getStateFromMeta(int meta)
- {
- return this.getDefaultState().withProperty(TYPE, block_enums.basalt_enums.values()[meta]);
- }
- @Override
- public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> list)
- {
- for (int i = 0; i < block_enums.basalt_enums.values().length; i++)
- {
- list.add(new ItemStack(item, 1, i));
- }
- }
- @Override
- public int damageDropped(IBlockState state) {
- return getMetaFromState(state);
- }
- @Override
- public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
- EntityPlayer player) {
- return new ItemStack(Item.getItemFromBlock(this), 1, this.getMetaFromState(world.getBlockState(pos)));
- }
- @Override
- public String getSpecialName(ItemStack stack)
- {
- return block_enums.basalt_enums.values()[stack.getItemDamage()].getName();
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- package Shane2482.DeadPlanet.init;
- import Shane2482.DeadPlanet.Reference;
- import Shane2482.DeadPlanet.blocks.basalt;
- import Shane2482.DeadPlanet.blocks.cracked_dirt;
- import Shane2482.DeadPlanet.blocks.item_blocks;
- import Shane2482.DeadPlanet.utils.Utils;
- import net.minecraft.block.Block;
- import net.minecraft.client.renderer.block.model.ModelResourceLocation;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemBlock;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.client.model.ModelLoader;
- import net.minecraftforge.fml.common.registry.GameRegistry;
- public class ModBlocks
- {
- public static Block Basalt;
- public static Block Cracked_Dirt;
- public static void init()
- {
- Cracked_Dirt = new cracked_dirt();
- Basalt = new basalt();
- }
- public static void register()
- {
- registerBlock(Cracked_Dirt);
- registerMetaBlock(Basalt);
- }
- public static void registerRenders()
- {
- registerRender(Cracked_Dirt);
- registerRender(Basalt);
- }
- public static void registerBlock(Block block)
- {
- GameRegistry.register(block);
- GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
- Utils.getLogger().info("Registered block: " + block.getUnlocalizedName().substring(5));
- }
- public static void registerMetaBlock(Block block)
- {
- GameRegistry.register(block);
- item_blocks item = new item_blocks(block);
- item.setRegistryName(block.getRegistryName());
- GameRegistry.register(item);
- Utils.getLogger().info("Registered block: " + block.getRegistryName());
- }
- public static void registerRender(Block block)
- {
- Item item = Item.getItemFromBlock(block);
- ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation(new ResourceLocation(Reference.MOD_ID, block.getUnlocalizedName().substring(5)), "inventory"));
- }
- public static void registerRender(Block block, int meta, String filename)
- {
- ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), meta, new ModelResourceLocation(new ResourceLocation(Reference.MOD_ID, filename), "inventory"));
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////
- package Shane2482.DeadPlanet.blocks;
- import net.minecraft.block.Block;
- import net.minecraft.item.ItemBlock;
- import net.minecraft.item.ItemStack;
- import scala.reflect.internal.Trees.If;
- public class item_blocks extends ItemBlock
- {
- public item_blocks(Block block)
- {
- super(block);
- if (!(block instanceof IMetaBlockName))
- {
- throw new IllegalArgumentException(String.format("The given Block %s is not an instance of IMetaBlockName", block.getUnlocalizedName()));
- }
- setHasSubtypes(true);
- setMaxDamage(0);
- }
- @Override
- public String getUnlocalizedName(ItemStack stack) {
- return super.getUnlocalizedName(stack) + "." + ((IMetaBlockName) this.block).getSpecialName(stack);
- }
- public int getMeta(int damage) {
- return damage;
- }
- }
- ///////////////////////////////////////////////////////////////////////
- package Shane2482.DeadPlanet.blocks;
- import net.minecraft.item.ItemStack;
- public interface IMetaBlockName
- {
- String getSpecialName(ItemStack stack);
- }
- ////////////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement