Advertisement
Exokem

Untitled

May 26th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.73 KB | None | 0 0
  1. //Blocks
  2. public class ExkvaBlocks {
  3.  
  4.     public static final List<BlockOre> ores = new ArrayList<>();
  5.  
  6.     @GameRegistry.ObjectHolder("exkva:tungsten_ore")
  7.     public static BlockOre tungstenOre = createOre("tungsten_ore", 3, 4.0f);
  8.     @GameRegistry.ObjectHolder("exkva:silver_ore")
  9.     public static BlockOre silverOre = createOre("silver_ore", 2, 2.5f);
  10.     @GameRegistry.ObjectHolder("exkva:zinc_ore")
  11.     public static BlockOre zincOre = createOre("zinc_ore", 2, 2.0f);
  12.     @GameRegistry.ObjectHolder("exkva:nickel_ore")
  13.     public static BlockOre nickelOre = createOre("nickel_ore", 2, 3.0f);
  14.     @GameRegistry.ObjectHolder("exkva:copper_ore")
  15.     public static BlockOre copperOre = createOre("copper_ore", 1, 2.0f);
  16.     @GameRegistry.ObjectHolder("exkva:tin_ore")
  17.     public static BlockOre tinOre = createOre("tin_ore", 2, 2.0f);
  18.     @GameRegistry.ObjectHolder("exkva:titanium_ore")
  19.     public static BlockOre titaniumOre = createOre("titanium_ore", 3, 4.0f);
  20.     @GameRegistry.ObjectHolder("exkva:silicon_ore")
  21.     public static BlockOre siliconOre = createOre("silicon_ore", 3, 4.0f, ExkvaItems.silicon, 1, 4);
  22.  
  23.     @GameRegistry.ObjectHolder("exkva:component_assembly")
  24.     public static MachineAssembly assembly;
  25.     @GameRegistry.ObjectHolder("exkva:arc_furnace")
  26.     public static MachineArcFurnace arcFurnace;
  27.     @GameRegistry.ObjectHolder("exkva:matter_atomizer")
  28.     public static MachineMatterAtomizer matterAtomizer;
  29.     @GameRegistry.ObjectHolder("exkva:magnetic_compressor")
  30.     public static MachineMagneticCompressor magneticCompressor;
  31.     @GameRegistry.ObjectHolder("exkva:item_converter")
  32.     public static MachineItemConverter itemConverter;
  33.     @GameRegistry.ObjectHolder("exkva:passive_collector")
  34.     public static MachinePassiveCollector passiveCollector;
  35.  
  36.     @SideOnly(Side.CLIENT)
  37.     public static void initModels() {
  38.         tungstenOre.initModel();
  39.         silverOre.initModel();
  40.         zincOre.initModel();
  41.         nickelOre.initModel();
  42.         copperOre.initModel();
  43.         tinOre.initModel();
  44.         titaniumOre.initModel();
  45.         siliconOre.initModel();
  46.  
  47.         assembly.initModel();
  48.         arcFurnace.initModel();
  49.         matterAtomizer.initModel();
  50.         magneticCompressor.initModel();
  51.         itemConverter.initModel();
  52.         passiveCollector.initModel();
  53.     }
  54.  
  55.     public static BlockOre createOre(String resource, int level, float hardness) {
  56.  
  57.         return new BlockOre(resource, level, hardness);
  58.     }
  59.  
  60.     public static BlockOre createOre(String resource, int level, float hardness, Item drop, int min, int max) {
  61.  
  62.         return new BlockOre(resource, level, hardness) {
  63.             @Override
  64.             public Item getItemDropped(IBlockState state, Random rand, int fortune) {
  65.                 return drop;
  66.             }
  67.  
  68.             @Override
  69.             public int quantityDropped(Random random) {
  70.                 return (int) (Math.random() * max + min);
  71.             }
  72.         };
  73.     }
  74. }
  75.  
  76. //CommonProxy
  77. @Mod.EventBusSubscriber
  78.  
  79. public class ProxyCommon {
  80.  
  81.     public static Configuration config;
  82.  
  83.     public void preInit(FMLPreInitializationEvent e) {
  84.  
  85.         File directory = e.getModConfigurationDirectory();
  86.         config = new Configuration(new File(directory.getPath(), "exkva.cfg"));
  87.         Config.syncConfig(config);
  88.         GameRegistry.registerWorldGenerator(OreGenerator.instance, 5);
  89.     }
  90.     public void init(FMLInitializationEvent e) {
  91.  
  92.     }
  93.     public void postInit(FMLPostInitializationEvent e) {
  94.  
  95.         if(config.hasChanged()) {
  96.             config.save();
  97.         }
  98.  
  99.         GameRegistry.addSmelting(ExkvaBlocks.tungstenOre, new ItemStack(ExkvaItems.tungstenIngot, 1), 0.5f);
  100.         OreDictionary.registerOre("oreTungsten", ExkvaBlocks.tungstenOre);
  101.         GameRegistry.addSmelting(ExkvaBlocks.silverOre, new ItemStack(ExkvaItems.silverIngot, 1), 0.5f);
  102.         OreDictionary.registerOre("oreSilver", ExkvaBlocks.silverOre);
  103.         GameRegistry.addSmelting(ExkvaBlocks.zincOre, new ItemStack(ExkvaItems.zincIngot, 1), 0.5f);
  104.         OreDictionary.registerOre("oreZinc", ExkvaBlocks.zincOre);
  105.         GameRegistry.addSmelting(ExkvaBlocks.nickelOre, new ItemStack(ExkvaItems.nickelIngot, 1), 0.5f);
  106.         OreDictionary.registerOre("oreNickel", ExkvaBlocks.nickelOre);
  107.         GameRegistry.addSmelting(ExkvaBlocks.copperOre, new ItemStack(ExkvaItems.copperIngot, 1), 0.5f);
  108.         OreDictionary.registerOre("oreCopper", ExkvaBlocks.copperOre);
  109.         GameRegistry.addSmelting(ExkvaBlocks.tinOre, new ItemStack(ExkvaItems.tinIngot, 1), 0.5f);
  110.         OreDictionary.registerOre("oreTin", ExkvaBlocks.tinOre);
  111.         GameRegistry.addSmelting(ExkvaBlocks.titaniumOre, new ItemStack(ExkvaItems.titaniumIngot, 1), 0.5f);
  112.         OreDictionary.registerOre("oreTitanium", ExkvaBlocks.titaniumOre);
  113.  
  114.         OreDictionary.registerOre("oreSilicon", ExkvaBlocks.siliconOre);
  115.     }
  116.  
  117.     @SubscribeEvent
  118.     public static void registerBlocks(RegistryEvent.Register<Block> e) {
  119.  
  120.         for(BlockOre ore : ExkvaBlocks.ores) {
  121.             e.getRegistry().register(ore);
  122.         }
  123.  
  124.         e.getRegistry().register(new MachineAssembly());
  125.         e.getRegistry().register(new MachineArcFurnace());
  126.         e.getRegistry().register(new MachineMatterAtomizer());
  127.         e.getRegistry().register(new MachineMagneticCompressor());
  128.         e.getRegistry().register(new MachineItemConverter());
  129.         e.getRegistry().register(new MachinePassiveCollector());
  130.  
  131.         GameRegistry.registerTileEntity(TileEntityArcFurnace.class, new ResourceLocation(Exkva.MODID, "_arc_furnace"));
  132.         GameRegistry.registerTileEntity(TileEntityMatterAtomizer.class, new ResourceLocation(Exkva.MODID, "_matter_atomizer"));
  133.         GameRegistry.registerTileEntity(TileEntityMagneticCompressor.class, new ResourceLocation(Exkva.MODID, "_magnetic_compressor"));
  134.         GameRegistry.registerTileEntity(TileEntityItemConverter.class, new ResourceLocation(Exkva.MODID, "_item_converter"));
  135.         GameRegistry.registerTileEntity(TileEntityPassiveCollector.class, new ResourceLocation(Exkva.MODID, "_passive_collector"));
  136.     }
  137.  
  138.     @SubscribeEvent
  139.     public static void registerItems(RegistryEvent.Register<Item> e) {
  140.  
  141.         for(Item item : ExkvaItems.items) {
  142.             e.getRegistry().register(item);
  143.         }
  144.  
  145.         for(Block block : ExkvaBlocks.ores) {
  146.             if(block.getRegistryName() != null) {
  147.                 e.getRegistry().register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
  148.             }
  149.         }
  150.  
  151.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.assembly).setRegistryName(MachineAssembly.COMPONENT_ASSEMBLY));
  152.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.arcFurnace).setRegistryName(ExkvaBlocks.arcFurnace.getRegistryName()));
  153.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.matterAtomizer).setRegistryName(ExkvaBlocks.matterAtomizer.getRegistryName()));
  154.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.magneticCompressor).setRegistryName(ExkvaBlocks.magneticCompressor.getRegistryName()));
  155.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.itemConverter).setRegistryName(ExkvaBlocks.itemConverter.getRegistryName()));
  156.         e.getRegistry().register(new ItemBlock(ExkvaBlocks.passiveCollector).setRegistryName(ExkvaBlocks.passiveCollector.getRegistryName()));
  157.  
  158.         e.getRegistry().register(new ItemTungstenPickaxe());
  159.     }
  160. }
  161.  
  162. //Ore class
  163. public class BlockOre extends BlockBase {
  164.  
  165.     public static final PropertyEnum<OreType> ORETYPE = PropertyEnum.create("oretype", OreType.class);
  166.  
  167.     public BlockOre(String resourcePathIn, int level, float hardness) {
  168.         super(resourcePathIn, Material.ROCK);
  169.  
  170.         setHarvestLevel("pickaxe", level);
  171.         setHardness(hardness);
  172.     }
  173.  
  174.     @Override
  175.     public int damageDropped(IBlockState state) {
  176.         return state.getValue(ORETYPE).ordinal();
  177.     }
  178.  
  179.     @SideOnly(Side.CLIENT)
  180.     public void initModel() {
  181.         ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "oretype=overworld"));
  182.     }
  183.  
  184.     @Override
  185.     public int getMetaFromState(IBlockState state) {
  186.         return state.getValue(ORETYPE).ordinal();
  187.     }
  188.  
  189.     @Override
  190.     public IBlockState getStateFromMeta(int meta) {
  191.         return getDefaultState().withProperty(ORETYPE, OreType.values()[meta]);
  192.     }
  193.  
  194.     @Override
  195.     protected BlockStateContainer createBlockState() {
  196.         return new BlockStateContainer(this, ORETYPE);
  197.     }
  198.  
  199.     @Override
  200.     public int quantityDropped(Random random) {
  201.         return 1;
  202.     }
  203.  
  204.     @Override
  205.     public Item getItemDropped(IBlockState state, Random rand, int fortune) {
  206.         return Item.getItemFromBlock(this);
  207.     }
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement