Advertisement
Guest User

GemBlocksForGreg v1.1

a guest
Feb 11th, 2015
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.04 KB | None | 0 0
  1. // GemBlocksForGregMod.java
  2. package de.ultrapeeks.gemblocksforgreg;
  3.  
  4. import net.minecraft.block.Block;
  5. import net.minecraft.init.Blocks;
  6. import net.minecraft.item.ItemStack;
  7. import net.minecraftforge.common.MinecraftForge;
  8. import net.minecraftforge.oredict.OreDictionary;
  9. import net.minecraftforge.oredict.ShapedOreRecipe;
  10. import cpw.mods.fml.common.Mod;
  11. import cpw.mods.fml.common.Mod.EventHandler;
  12. import cpw.mods.fml.common.Mod.Instance;
  13. import cpw.mods.fml.common.event.FMLInitializationEvent;
  14. import cpw.mods.fml.common.registry.GameRegistry;
  15. import de.ultrapeeks.gemblocksforgreg.BasicGemBlock.GemType;
  16.  
  17. @Mod(modid = GemBlocksForGregMod.MODID, name = GemBlocksForGregMod.NAME, version = GemBlocksForGregMod.VERSION)
  18. public class GemBlocksForGregMod {
  19.     public static final String MODID = "GemBlocksForGreg";
  20.     public static final String NAME = "GemBlocksForGreg";
  21.     public static final String VERSION = "1.1";
  22.    
  23.     @Instance(value = MODID)
  24.     public static GemBlocksForGregMod instance;
  25.    
  26.     @EventHandler
  27.     public void preInit(FMLInitializationEvent event) {
  28.         for (GemType type: GemType.values()) {
  29.             Block block = new BasicGemBlock(type);
  30.             GameRegistry.registerBlock(block, type.getName());
  31.             for(String oreName: type.getOreNames()) {
  32.                 OreDictionary.registerOre(oreName, block);
  33.             }
  34.             GameRegistry.addRecipe(new ShapedOreRecipe(
  35.                     new ItemStack(block), "xxx", "xxx", "xxx", Character.valueOf('x'), type.getGemOreName()));
  36.         }
  37.     }
  38. }
  39.  
  40. //------------------------------------------------------------
  41. // BasicGemBlock.java
  42.  
  43. package de.ultrapeeks.gemblocksforgreg;
  44.  
  45. import cpw.mods.fml.relauncher.Side;
  46. import cpw.mods.fml.relauncher.SideOnly;
  47. import net.minecraft.block.Block;
  48. import net.minecraft.block.material.Material;
  49. import net.minecraft.creativetab.CreativeTabs;
  50. import net.minecraft.util.IIcon;
  51.  
  52. public class BasicGemBlock extends Block {
  53.    
  54.     public enum GemType {
  55.        
  56.         RUBY("rubyBlock", "gemRuby", "blockRuby", "blockGemRuby"),
  57.         SAPPHIRE("sapphireBlock", "gemSapphire", "blockSapphire", "blockGemSapphire"),
  58.         GREEN_SAPPHIRE("greenSapphireBlock", "gemGreenSapphire", "blockGreenSapphire", "blockGemGreenSapphire"),
  59.         OLIVINE("olivineBlock", "gemOlivine", "blockOlivine", "blockGemOlivine"),
  60.         TOPAZ("topazBlock", "gemTopaz", "blockTopaz", "blockGemTopaz"),
  61.         TANZANITE("tanzaniteBlock", "gemTanzanite", "blockTanzanite", "blockGemTanzanite"),
  62.         AMETHYST("amethystBlock", "gemAmethyst", "blockAmethyst", "blockGemAmethyst"),
  63.         OPAL("opalBlock", "gemOpal", "blockOpal", "blockGemOpal"),
  64.         JASPER("jasperBlock", "gemJasper", "blockJasper", "blockGemJasper"),
  65.         BLUE_TOPAZ("blueTopazBlock", "gemBlueTopaz", "blockBlueTopaz", "blockGemBlueTopaz"),
  66.         FOOLS_RUBY("foolsRubyBlock", "gemFoolsRuby", "blockFoolsRuby", "blockGemFoolsRuby"),
  67.         AMBER("amberBlock", "gemAmber", "blockAmber", "blockGemAmber"),
  68.         DILITHIUM("dilithiumBlock", "gemDilithium", "blockDilithium", "blockGemDilithium"),
  69.         FORCICIUM("forciciumBlock", "gemForcicium", "blockForcicium", "blockGemForcicium"),
  70.         FORCILLIUM("forcilliumBlock", "gemForcillium", "blockForcillium", "blockGemForcillium"),
  71.         FORCE("forceBlock", "gemForce", "blockForce", "blockGemForce"),
  72.         RED_GARNET("redGarnetBlock", "gemGarnetRed", "blockGarnetRed", "blockGemGarnetRed"),
  73.         YELLOW_GARNET("yellowGarnetBlock", "gemGarnetYellow", "blockGarnetYellow", "blockGemGarnetYellow"),
  74.         VINTEUM("vinteumBlock", "gemVinteum", "blockVinteum", "blockGemVinteum"),
  75.         ENDERPEARL("enderPearlBlock", "gemEnderPearl", "blockEnderPearl", "blockGemEnderPearl"),
  76.         ENDEREYE("enderEyeBlock", "gemEnderEye", "blockEnderEye", "blockGemEnderEye"),
  77.         AER("aerCrystalBlock", "gemInfusedAir", "blockInfusedAir", "blockGemInfusedAir"),
  78.         IGNIS("ignisCrystalBlock", "gemInfusedFire", "blockInfusedFire", "blockGemInfusedFire"),
  79.         TERRA("terraCrystalBlock", "gemInfusedEarth", "blockInfusedEarth", "blockGemInfusedEarth"),
  80.         AQUA("aquaCrystalBlock", "gemInfusedWater", "blockInfusedWater", "blockGemInfusedWater"),
  81.         PERDITIO("perditioCrystalBlock", "gemInfusedEntropy", "blockInfusedEntropy", "blockGemInfusedEntropy"),
  82.         ORDO("ordoCrystalBlock", "gemInfusedOrder", "blockInfusedOrder", "blockGemInfusedOrder");
  83.  
  84.         private String name;
  85.         private String gemOreName;
  86.         private String[] oreNames;
  87.        
  88.         private GemType(String name, String gemOreName, String... oreNames) {
  89.             this.name = name;
  90.             this.gemOreName = gemOreName;
  91.             this.oreNames = oreNames;
  92.         }
  93.        
  94.         public String getName() {
  95.             return name;
  96.         }
  97.        
  98.         public String[] getOreNames() {
  99.             return oreNames;
  100.         }
  101.        
  102.         public String getGemOreName() {
  103.             return gemOreName;
  104.         }
  105.     }
  106.    
  107.     private static final String TEXTURE_PREFIX = "gemblocksforgreg:";
  108.    
  109.     private GemType type;
  110.  
  111.     protected BasicGemBlock(GemType type) {
  112.         super(Material.iron);
  113.         this.type = type;
  114.         setBlockName(type.getName());
  115.         setHardness(3.0f);
  116.         setStepSound(Block.soundTypeMetal);
  117.         setCreativeTab(CreativeTabs.tabBlock);
  118.         setHarvestLevel("pickaxe", 2);
  119.         setBlockTextureName(TEXTURE_PREFIX + type.getName());
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement