Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Blocks
- public class ExkvaBlocks {
- public static final List<BlockOre> ores = new ArrayList<>();
- @GameRegistry.ObjectHolder("exkva:tungsten_ore")
- public static BlockOre tungstenOre = createOre("tungsten_ore", 3, 4.0f);
- @GameRegistry.ObjectHolder("exkva:silver_ore")
- public static BlockOre silverOre = createOre("silver_ore", 2, 2.5f);
- @GameRegistry.ObjectHolder("exkva:zinc_ore")
- public static BlockOre zincOre = createOre("zinc_ore", 2, 2.0f);
- @GameRegistry.ObjectHolder("exkva:nickel_ore")
- public static BlockOre nickelOre = createOre("nickel_ore", 2, 3.0f);
- @GameRegistry.ObjectHolder("exkva:copper_ore")
- public static BlockOre copperOre = createOre("copper_ore", 1, 2.0f);
- @GameRegistry.ObjectHolder("exkva:tin_ore")
- public static BlockOre tinOre = createOre("tin_ore", 2, 2.0f);
- @GameRegistry.ObjectHolder("exkva:titanium_ore")
- public static BlockOre titaniumOre = createOre("titanium_ore", 3, 4.0f);
- @GameRegistry.ObjectHolder("exkva:silicon_ore")
- public static BlockOre siliconOre = createOre("silicon_ore", 3, 4.0f, ExkvaItems.silicon, 1, 4);
- @GameRegistry.ObjectHolder("exkva:component_assembly")
- public static MachineAssembly assembly;
- @GameRegistry.ObjectHolder("exkva:arc_furnace")
- public static MachineArcFurnace arcFurnace;
- @GameRegistry.ObjectHolder("exkva:matter_atomizer")
- public static MachineMatterAtomizer matterAtomizer;
- @GameRegistry.ObjectHolder("exkva:magnetic_compressor")
- public static MachineMagneticCompressor magneticCompressor;
- @GameRegistry.ObjectHolder("exkva:item_converter")
- public static MachineItemConverter itemConverter;
- @GameRegistry.ObjectHolder("exkva:passive_collector")
- public static MachinePassiveCollector passiveCollector;
- @SideOnly(Side.CLIENT)
- public static void initModels() {
- tungstenOre.initModel();
- silverOre.initModel();
- zincOre.initModel();
- nickelOre.initModel();
- copperOre.initModel();
- tinOre.initModel();
- titaniumOre.initModel();
- siliconOre.initModel();
- assembly.initModel();
- arcFurnace.initModel();
- matterAtomizer.initModel();
- magneticCompressor.initModel();
- itemConverter.initModel();
- passiveCollector.initModel();
- }
- public static BlockOre createOre(String resource, int level, float hardness) {
- return new BlockOre(resource, level, hardness);
- }
- public static BlockOre createOre(String resource, int level, float hardness, Item drop, int min, int max) {
- return new BlockOre(resource, level, hardness) {
- @Override
- public Item getItemDropped(IBlockState state, Random rand, int fortune) {
- return drop;
- }
- @Override
- public int quantityDropped(Random random) {
- return (int) (Math.random() * max + min);
- }
- };
- }
- }
- //CommonProxy
- @Mod.EventBusSubscriber
- public class ProxyCommon {
- public static Configuration config;
- public void preInit(FMLPreInitializationEvent e) {
- File directory = e.getModConfigurationDirectory();
- config = new Configuration(new File(directory.getPath(), "exkva.cfg"));
- Config.syncConfig(config);
- GameRegistry.registerWorldGenerator(OreGenerator.instance, 5);
- }
- public void init(FMLInitializationEvent e) {
- }
- public void postInit(FMLPostInitializationEvent e) {
- if(config.hasChanged()) {
- config.save();
- }
- GameRegistry.addSmelting(ExkvaBlocks.tungstenOre, new ItemStack(ExkvaItems.tungstenIngot, 1), 0.5f);
- OreDictionary.registerOre("oreTungsten", ExkvaBlocks.tungstenOre);
- GameRegistry.addSmelting(ExkvaBlocks.silverOre, new ItemStack(ExkvaItems.silverIngot, 1), 0.5f);
- OreDictionary.registerOre("oreSilver", ExkvaBlocks.silverOre);
- GameRegistry.addSmelting(ExkvaBlocks.zincOre, new ItemStack(ExkvaItems.zincIngot, 1), 0.5f);
- OreDictionary.registerOre("oreZinc", ExkvaBlocks.zincOre);
- GameRegistry.addSmelting(ExkvaBlocks.nickelOre, new ItemStack(ExkvaItems.nickelIngot, 1), 0.5f);
- OreDictionary.registerOre("oreNickel", ExkvaBlocks.nickelOre);
- GameRegistry.addSmelting(ExkvaBlocks.copperOre, new ItemStack(ExkvaItems.copperIngot, 1), 0.5f);
- OreDictionary.registerOre("oreCopper", ExkvaBlocks.copperOre);
- GameRegistry.addSmelting(ExkvaBlocks.tinOre, new ItemStack(ExkvaItems.tinIngot, 1), 0.5f);
- OreDictionary.registerOre("oreTin", ExkvaBlocks.tinOre);
- GameRegistry.addSmelting(ExkvaBlocks.titaniumOre, new ItemStack(ExkvaItems.titaniumIngot, 1), 0.5f);
- OreDictionary.registerOre("oreTitanium", ExkvaBlocks.titaniumOre);
- OreDictionary.registerOre("oreSilicon", ExkvaBlocks.siliconOre);
- }
- @SubscribeEvent
- public static void registerBlocks(RegistryEvent.Register<Block> e) {
- for(BlockOre ore : ExkvaBlocks.ores) {
- e.getRegistry().register(ore);
- }
- e.getRegistry().register(new MachineAssembly());
- e.getRegistry().register(new MachineArcFurnace());
- e.getRegistry().register(new MachineMatterAtomizer());
- e.getRegistry().register(new MachineMagneticCompressor());
- e.getRegistry().register(new MachineItemConverter());
- e.getRegistry().register(new MachinePassiveCollector());
- GameRegistry.registerTileEntity(TileEntityArcFurnace.class, new ResourceLocation(Exkva.MODID, "_arc_furnace"));
- GameRegistry.registerTileEntity(TileEntityMatterAtomizer.class, new ResourceLocation(Exkva.MODID, "_matter_atomizer"));
- GameRegistry.registerTileEntity(TileEntityMagneticCompressor.class, new ResourceLocation(Exkva.MODID, "_magnetic_compressor"));
- GameRegistry.registerTileEntity(TileEntityItemConverter.class, new ResourceLocation(Exkva.MODID, "_item_converter"));
- GameRegistry.registerTileEntity(TileEntityPassiveCollector.class, new ResourceLocation(Exkva.MODID, "_passive_collector"));
- }
- @SubscribeEvent
- public static void registerItems(RegistryEvent.Register<Item> e) {
- for(Item item : ExkvaItems.items) {
- e.getRegistry().register(item);
- }
- for(Block block : ExkvaBlocks.ores) {
- if(block.getRegistryName() != null) {
- e.getRegistry().register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
- }
- }
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.assembly).setRegistryName(MachineAssembly.COMPONENT_ASSEMBLY));
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.arcFurnace).setRegistryName(ExkvaBlocks.arcFurnace.getRegistryName()));
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.matterAtomizer).setRegistryName(ExkvaBlocks.matterAtomizer.getRegistryName()));
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.magneticCompressor).setRegistryName(ExkvaBlocks.magneticCompressor.getRegistryName()));
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.itemConverter).setRegistryName(ExkvaBlocks.itemConverter.getRegistryName()));
- e.getRegistry().register(new ItemBlock(ExkvaBlocks.passiveCollector).setRegistryName(ExkvaBlocks.passiveCollector.getRegistryName()));
- e.getRegistry().register(new ItemTungstenPickaxe());
- }
- }
- //Ore class
- public class BlockOre extends BlockBase {
- public static final PropertyEnum<OreType> ORETYPE = PropertyEnum.create("oretype", OreType.class);
- public BlockOre(String resourcePathIn, int level, float hardness) {
- super(resourcePathIn, Material.ROCK);
- setHarvestLevel("pickaxe", level);
- setHardness(hardness);
- }
- @Override
- public int damageDropped(IBlockState state) {
- return state.getValue(ORETYPE).ordinal();
- }
- @SideOnly(Side.CLIENT)
- public void initModel() {
- ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "oretype=overworld"));
- }
- @Override
- public int getMetaFromState(IBlockState state) {
- return state.getValue(ORETYPE).ordinal();
- }
- @Override
- public IBlockState getStateFromMeta(int meta) {
- return getDefaultState().withProperty(ORETYPE, OreType.values()[meta]);
- }
- @Override
- protected BlockStateContainer createBlockState() {
- return new BlockStateContainer(this, ORETYPE);
- }
- @Override
- public int quantityDropped(Random random) {
- return 1;
- }
- @Override
- public Item getItemDropped(IBlockState state, Random rand, int fortune) {
- return Item.getItemFromBlock(this);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement