Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.39 KB | None | 0 0
  1. import java.util.Random;
  2.  
  3. import com.olrustyeye.vincentsmod.blocks.BlockModOre;
  4. import com.olrustyeye.vincentsmod.creativetabs.TabOVREMBlocks;
  5. import com.olrustyeye.vincentsmod.creativetabs.TabOVREMItems;
  6. import com.olrustyeye.vincentsmod.handlers.AchievementHandler;
  7. import com.olrustyeye.vincentsmod.handlers.OreDictionaryHandler;
  8. import com.olrustyeye.vincentsmod.handlers.RecipeHandler;
  9. import com.olrustyeye.vincentsmod.init.ModArmor;
  10. import com.olrustyeye.vincentsmod.init.ModBlocks;
  11. import com.olrustyeye.vincentsmod.init.ModItems;
  12. import com.olrustyeye.vincentsmod.init.ModTools;
  13. import com.olrustyeye.vincentsmod.proxy.CommonProxy;
  14. import com.olrustyeye.vincentsmod.util.Utils;
  15.  
  16. import net.minecraft.block.Block;
  17. import net.minecraft.block.BlockGrass;
  18. import net.minecraft.block.BlockOre;
  19. import net.minecraft.block.BlockRedstoneOre;
  20. import net.minecraft.block.SoundType;
  21. import net.minecraft.block.material.Material;
  22. import net.minecraft.block.state.IBlockState;
  23. import net.minecraft.creativetab.CreativeTabs;
  24. import net.minecraft.entity.EntityLivingBase;
  25. import net.minecraft.init.Blocks;
  26. import net.minecraft.init.Items;
  27. import net.minecraft.item.Item;
  28. import net.minecraft.item.ItemBlock;
  29. import net.minecraft.item.ItemStack;
  30. import net.minecraft.util.ResourceLocation;
  31. import net.minecraft.util.math.BlockPos;
  32. import net.minecraft.world.World;
  33. import net.minecraftforge.fml.common.Mod;
  34. import net.minecraftforge.fml.common.Mod.EventHandler;
  35. import net.minecraftforge.fml.common.SidedProxy;
  36. import net.minecraftforge.fml.common.event.FMLInitializationEvent;
  37. import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
  38. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  39. import net.minecraftforge.fml.common.registry.ExistingSubstitutionException;
  40. import net.minecraftforge.fml.common.registry.GameRegistry;
  41. import net.minecraftforge.fml.common.registry.GameRegistry.Type;
  42.  
  43.  
  44. @Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION, acceptedMinecraftVersions = Reference.ACCEPTED_VERSIONS)
  45.  
  46. public class VincentRustyeyesMod {
  47.     public static final CreativeTabs blocks = new TabOVREMBlocks();
  48.     public static final CreativeTabs items = new TabOVREMItems();
  49.    
  50.  
  51.     com.olrustyeye.vincentsmod.handlers.EventHandler eventHandler = new com.olrustyeye.vincentsmod.handlers.EventHandler();
  52.    
  53.     @Mod.Instance(Reference.MOD_ID)
  54.     public static VincentRustyeyesMod instance;
  55.  
  56.    
  57.     @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
  58.     public static CommonProxy proxy;
  59.    
  60.     @EventHandler
  61.     public void preInit(FMLPreInitializationEvent event)
  62.     {  
  63.         substitute(Blocks.IRON_ORE, new ModBlockOre2("oreIron"));
  64.         //substitute(Blocks.REDSTONE_ORE, new ModBlockOre2("oreRedstone"));
  65.         substitute(Blocks.DIAMOND_ORE, new ModBlockOre2("oreDiamond"));
  66.         substitute(Blocks.GOLD_ORE, new ModBlockOre2("oreGold"));
  67.         //substitute(Blocks.COAL_ORE, new ModBlockOre2("oreCoal"));
  68.        
  69.         ModItems.init();
  70.         ModBlocks.init();
  71.         ModTools.init();
  72.         ModArmor.init();
  73.         ModItems.register();       
  74.         ModBlocks.register();
  75.         ModTools.register();
  76.         ModArmor.register();
  77.        
  78.         proxy.registerRenders();
  79.  
  80.  
  81.         AchievementHandler.registerAchievements();
  82.  
  83.     }
  84.    
  85.  
  86.  
  87.     @EventHandler
  88.     public void Init(FMLInitializationEvent event)
  89.     {
  90.         proxy.init();
  91.         OreDictionaryHandler.registerOreDictionary();
  92.         proxy.registerModelBakeryVariants();
  93.         eventHandler.registerEvent();
  94.         RecipeHandler.registerCraftingRecipes();
  95.         RecipeHandler.registerSmeltingRecipes();
  96.     }
  97.    
  98.     @EventHandler
  99.     public void PostInit(FMLPostInitializationEvent event)
  100.     {
  101.  
  102.     }
  103.     public static void substitute(Block toReplace, Block newBlock) {
  104.         substitute(toReplace, newBlock, new ItemBlock(newBlock));
  105.     }
  106.     public static void substitute(Block toReplace, Block newBlock, Item newItem) {
  107.         try {
  108.             ResourceLocation oldName = Block.REGISTRY.getNameForObject(toReplace);
  109.             String nameToSubstitute = oldName.toString();
  110.             String nameToRegister = Reference.MOD_ID + ":" + oldName.getResourcePath();
  111.            
  112.             newBlock.setRegistryName(nameToRegister);
  113.             GameRegistry.addSubstitutionAlias(nameToSubstitute.toString(), GameRegistry.Type.BLOCK, newBlock);
  114.            
  115.             newItem.setRegistryName(nameToRegister);
  116.             GameRegistry.addSubstitutionAlias(nameToSubstitute.toString(), GameRegistry.Type.ITEM, newItem);
  117.         } catch (ExistingSubstitutionException e) {
  118.             e.printStackTrace();
  119.             throw new RuntimeException(e);
  120.         }
  121.     }
  122.    
  123.     public static class ModBlockOre2 extends BlockOre {
  124.         public ModBlockOre2(String name) {
  125.             this.setUnlocalizedName(name);
  126.            
  127.             Utils.getLogger().info("Renaming Block for " + name);
  128.        
  129.         }
  130.         protected Item getDiamond()
  131.         {
  132.             return Items.DIAMOND;
  133.         }
  134.         public Item getItemDropped(IBlockState state, Random rand, int fortune)
  135.         {      
  136.             return Item.getItemFromBlock(this);
  137.         }
  138.         public java.util.List<ItemStack> getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
  139.         {
  140.             java.util.List<ItemStack> ret = super.getDrops(world, pos, state, fortune);
  141.              Random rand = world instanceof World ? ((World)world).rand : new Random();
  142.  
  143.                         if(rand.nextInt(10) == 0){
  144.                         ret.add(new ItemStack(this.getDiamond(), 1, 0));
  145.                         }        
  146.             return ret;
  147.         }
  148.     }
  149.  
  150.  
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement