Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2013
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.48 KB | None | 0 0
  1. package DragonvaleMod;
  2.  
  3.  
  4. import net.minecraft.block.Block;
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.creativetab.CreativeTabs;
  7. import net.minecraft.entity.Entity;
  8. import net.minecraft.entity.EntityList;
  9. import net.minecraft.item.Item;
  10. import net.minecraft.item.ItemStack;
  11. import net.minecraft.server.MinecraftServer;
  12. import net.minecraft.src.ModLoader;
  13. import net.minecraft.util.ChunkCoordinates;
  14. import net.minecraft.world.Teleporter;
  15. import net.minecraft.world.WorldServer;
  16. import net.minecraft.world.biome.BiomeGenBase;
  17. import net.minecraftforge.common.Configuration;
  18. import net.minecraftforge.common.DimensionManager;
  19. import DragonvaleMod.blocks.*;
  20. import DragonvaleMod.entity.tile.TileEntityCoinPress;
  21. import DragonvaleMod.gui.GuiHandlerDragonvale;
  22. import DragonvaleMod.items.*;
  23. import DragonvaleMod.models.dragons.*;
  24. import DragonvaleMod.proxy.Common;
  25. import DragonvaleMod.renderer.*;
  26. import DragonvaleMod.world.*;
  27. import cpw.mods.fml.common.Mod;
  28. import cpw.mods.fml.common.Mod.EventHandler;
  29. import cpw.mods.fml.common.Mod.Init;
  30. import cpw.mods.fml.common.Mod.Instance;
  31. import cpw.mods.fml.common.Mod.PostInit;
  32. import cpw.mods.fml.common.Mod.PreInit;
  33. import cpw.mods.fml.common.Mod.ServerStarted;
  34. import cpw.mods.fml.common.Mod.ServerStarting;
  35. import cpw.mods.fml.common.SidedProxy;
  36. import cpw.mods.fml.common.event.FMLEvent;
  37. import cpw.mods.fml.common.event.FMLInitializationEvent;
  38. import cpw.mods.fml.common.event.FMLPostInitializationEvent;
  39. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  40. import cpw.mods.fml.common.event.FMLServerStartedEvent;
  41. import cpw.mods.fml.common.event.FMLServerStartingEvent;
  42. import cpw.mods.fml.common.network.NetworkMod;
  43. import cpw.mods.fml.common.network.NetworkRegistry;
  44. import cpw.mods.fml.common.registry.GameRegistry;
  45. import cpw.mods.fml.common.registry.LanguageRegistry;
  46. import cpw.mods.fml.common.registry.TickRegistry;
  47. import cpw.mods.fml.relauncher.Side;
  48. import cpw.mods.fml.relauncher.SideOnly;
  49.  
  50. @Mod(modid = "DragonvaleMod", name = "Dragonvale", version = "alpha.1.0.1")
  51. @NetworkMod(clientSideRequired = true, serverSideRequired = true)
  52. public class DragonvaleMod
  53. {
  54.  
  55.  
  56. @SidedProxy(clientSide = "DragonvaleMod.proxy.Client", serverSide = "DragonvaleMod.proxy.Common")
  57. public static Common proxy;
  58.  
  59. @Instance("Dragonvale")
  60. public static DragonvaleMod instance;
  61.  
  62. public static final String modid = "dragonv:";
  63.  
  64. //----------------declaration-------------------
  65. //stacksize
  66. public static int moneyStackSize = 64;
  67.  
  68. //IDs
  69. public static int portalblockid = 500;
  70. public static int blockForPortalid = 501;
  71. public static int portalFireid = 502;
  72. public static int gemOreid = 503;
  73. public static int coinPressid = 504;
  74. public static int coinPressONid = 505;
  75.  
  76. public static int portalPlacerid = 1500;
  77. public static int portalMakerid = 1501;
  78. public static int itemGemid = 1502;
  79. public static int itemMoneyid = 1503;
  80. public static int itemScaleid= 1504;
  81. public static int itemDragonEggid= 1505;
  82.  
  83. public static int dimensionid = 2;
  84. public static int biomeid = 199;
  85.  
  86. //Names
  87. public static final String[] NDRAGONS = new String[]{"Plant","Fire","Earth","Blue"};
  88.  
  89. //Blocks and Items
  90. public static PortalBlock portalBlock = new PortalBlock(portalblockid);
  91. public static Block blockForPortal = new BlockForPortal(blockForPortalid);
  92. public static Block portalFire = new PortalFire(portalFireid);
  93. public static Block BlockGemOre = new BlockGemOre(gemOreid);
  94. public static Block BlockCoinPress = new BlockCoinPress(coinPressid, false);
  95. public static Block BlockCoinPressON = new BlockCoinPress(coinPressONid, true);
  96.  
  97. public static Item portalPlacer = new PortalPlacer(portalPlacerid);
  98. public static Item portalMaker = new PortalMaker(portalMakerid);
  99. public static Item itemGem = new ItemGem(itemGemid);
  100. public static Item itemMoney = new ItemMoney(itemMoneyid);
  101. public static Item itemScale = new ItemScale(itemScaleid);
  102. public static Item itemDragonEgg = new ItemDragonEgg(itemDragonEggid);
  103.  
  104. //Biomes
  105. public static BiomeGenBase islands = new BiomeGenDragonIslands(biomeid);
  106.  
  107.  
  108. //Renderer
  109. public static final ModelDragons[] MODELDRAGONS = new ModelDragons[]{new ModelPlantDragon(),new ModelFireDragon(),new ModelEarthDragon(),new ModelBlueEyes()};
  110. public static final RenderDragons[] RDRAGONS = new RenderDragons[]{new RenderPlantDragon(MODELDRAGONS[0], 0.6F),new RenderFireDragon(MODELDRAGONS[1], 0.6F),
  111. new RenderEarthDragon(MODELDRAGONS[2], 0.5F),new RenderBlueDragon(MODELDRAGONS[3], 0.6F)};//float fuer schatten
  112.  
  113.  
  114. //-----------------------------------
  115. public static CreativeTabs tabdragonvale = new CreativeTabs("Dragonvale")
  116. {
  117. public int getTabIconItemIndex()
  118. {
  119. return DragonvaleMod.itemDragonEgg.itemID;
  120. }
  121.  
  122. public ItemStack getIconItemStack()
  123. {
  124. return new ItemStack(getTabIconItem(), 1, 0);
  125. }
  126. };
  127.  
  128. @EventHandler
  129. public void preInit(FMLPreInitializationEvent event)
  130. {
  131. Configuration config = new Configuration(event.getSuggestedConfigurationFile());
  132. config.load();
  133. portalblockid = config.get(config.CATEGORY_BLOCK, "portalblockid", 500).getInt();
  134. blockForPortalid = config.get(config.CATEGORY_BLOCK, "blockforPortal", 501).getInt();
  135. portalFireid = config.get(config.CATEGORY_BLOCK, "Fireid", 502).getInt();
  136. gemOreid = config.get(config.CATEGORY_BLOCK, "GemOreid", 503).getInt();
  137. coinPressid = config.get(config.CATEGORY_BLOCK, "CoinPressid", 504).getInt();
  138. coinPressONid = config.get(config.CATEGORY_BLOCK, "CoinPressONid", 505).getInt();
  139.  
  140.  
  141. portalPlacerid = config.get(config.CATEGORY_ITEM, "Portalstarterid", 1500).getInt();
  142. portalMakerid = config.get(config.CATEGORY_ITEM, "PortalCreatorid", 1501).getInt();
  143. itemGemid = config.get(config.CATEGORY_ITEM, "Gemid", 1502).getInt();
  144. itemMoneyid = config.get(config.CATEGORY_ITEM, "Moneyid", 1503).getInt();
  145. itemScaleid = config.get(config.CATEGORY_ITEM, "Dragonscaleid", 1504).getInt();
  146. itemDragonEggid = config.get(config.CATEGORY_ITEM, "Dragoneggid",1505).getInt();
  147.  
  148. dimensionid = config.get(config.CATEGORY_GENERAL, "dimensionid", 2).getInt();
  149. biomeid = config.get(config.CATEGORY_GENERAL, "biomeid", 199).getInt();
  150. config.save();
  151.  
  152. }
  153. @EventHandler
  154. public void init(FMLInitializationEvent event)
  155. {
  156.  
  157. DimensionManager.registerProviderType(dimensionid, WorldProviderDragonvale.class, false);
  158. DimensionManager.registerDimension(dimensionid, dimensionid);
  159. islands.setBiomeName("DragonIslands").setColor(353825).setTemperatureRainfall(0.5F, 0.6F).setMinMaxHeight(0.5F, 1F);
  160.  
  161. portalBlock.setHardness(10F).setResistance(2F).setLightValue(10F);
  162. blockForPortal.setCreativeTab(tabdragonvale).func_111022_d(this.modid+"blockforportal").setHardness(5F).setResistance(25F);
  163. portalFire.func_111022_d(this.modid+"none");
  164. BlockGemOre.setCreativeTab(tabdragonvale).func_111022_d(this.modid+"Gem Ore").setHardness(5F).setResistance(2F);
  165. BlockCoinPress.setCreativeTab(tabdragonvale).setHardness(1F).setResistance(5F);
  166. BlockCoinPressON.setHardness(1F).setResistance(5F).setUnlocalizedName("CoinPressOn");
  167.  
  168. portalPlacer.setCreativeTab(tabdragonvale).func_111206_d(this.modid+"portalplacer");
  169. portalMaker.setCreativeTab(tabdragonvale).func_111206_d(this.modid+"portalmaker");
  170. itemGem.setCreativeTab(tabdragonvale).func_111206_d(this.modid+"itemGem");
  171. itemMoney.setCreativeTab(tabdragonvale).func_111206_d(this.modid+"coin_real");
  172. itemScale.setCreativeTab(tabdragonvale).func_111206_d(this.modid+"Dragonscale");
  173. itemDragonEgg.setCreativeTab(tabdragonvale);
  174.  
  175. //Coinpress
  176. GameRegistry.registerTileEntity(TileEntityCoinPress.class, "CoinPress");
  177. NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerDragonvale());
  178.  
  179. craftrecipes();
  180. proxy.registerRenderThings();
  181. proxy.registerSound();
  182. proxy.registerTickHandler();
  183. regItemsBlocks();
  184. updatelang();
  185. regGen();
  186.  
  187. }
  188.  
  189. @EventHandler
  190. public static void postInit(FMLPostInitializationEvent event)
  191. {
  192. }
  193.  
  194. @EventHandler
  195. public static void onServerStarting(FMLServerStartingEvent event)
  196. {
  197. }
  198.  
  199. @EventHandler
  200. public static void onServerStarted(FMLServerStartedEvent event)
  201. {
  202. }
  203.  
  204. //methods------------------------------------------
  205.  
  206. private void craftrecipes()
  207. {
  208. //recipes
  209. GameRegistry.addRecipe(new ItemStack(portalMaker),
  210. "ttt", "isi", "ttt", 't', this.blockForPortal, 's', this.portalPlacer, 'i', this.itemGem);
  211.  
  212. GameRegistry.addRecipe(new ItemStack(portalPlacer),
  213. "rrg","rsr","srr", 's', Item.stick, 'r', Item.redstone, 'g', this.itemGem);
  214.  
  215. //shapeless
  216. GameRegistry.addShapelessRecipe(new ItemStack(blockForPortal),
  217. this.itemGem,this.itemGem,this.itemGem,this.itemGem);
  218.  
  219. //smelting
  220. GameRegistry.addSmelting(this.BlockGemOre.blockID, new ItemStack(itemGem), 0.6F);
  221.  
  222.  
  223. }
  224. private void regib(Object object, String name)
  225. {
  226. if(object == null){System.out.println("Not Registerd: "+ name==null?"AND Name is null":name);}
  227. else
  228. {
  229. if(object instanceof Block)
  230. {
  231. GameRegistry.registerBlock((Block) object, name);
  232. LanguageRegistry.addName(object, name);
  233. }
  234. else if(object instanceof Item)
  235. {
  236. GameRegistry.registerItem((Item) object, name);
  237. LanguageRegistry.addName(object, name);
  238. }
  239. else
  240. {
  241. System.out.println("Wrong input in regib");
  242. }
  243. }
  244. }
  245.  
  246. private void regItemsBlocks()
  247. {
  248. //blocks
  249. this.regib(portalBlock, "PortalBlockToDragonvale");
  250. this.regib(blockForPortal, "Portal Block");
  251. this.regib(BlockGemOre, "Gemore");
  252. this.regib(BlockCoinPress, "Coinpress");
  253.  
  254. //items
  255. this.regib(portalPlacer, "Portalstarter");
  256. this.regib(portalMaker, "Portalcreator");
  257. this.regib(itemGem, "Gem");
  258. this.regib(itemMoney, "Coin");
  259. this.regib(itemScale, "Dragonscale");
  260. this.regib(itemDragonEgg, "Dragonegg");
  261. }
  262.  
  263. private void regGen()
  264. {
  265. GameRegistry.registerWorldGenerator(new GeneratorOres());
  266. }
  267.  
  268. private void updatelang()
  269. {
  270. //DragonEggs
  271. for(int i=0;i<ItemDragonEgg.DragonEggNames.length;i++)
  272. {
  273. LanguageRegistry.instance().addStringLocalization("item.itemDragonEgg."+ItemDragonEgg.DragonEggNames[i] + ".name", "en_US", ItemDragonEgg.DragonEggNames[i]+" Dragonegg");
  274. }
  275.  
  276. //things
  277. LanguageRegistry.instance().addStringLocalization("itemGroup.Dragonvale", "en_US", "Dragonvale");
  278.  
  279. //dragons
  280. for(int i=0;i<this.NDRAGONS.length;i++)
  281. {
  282. LanguageRegistry.instance().addStringLocalization("entity."+NDRAGONS[i]+".name", "en_US", NDRAGONS[i]+" Dragon");
  283. }
  284. }
  285.  
  286. /**
  287. * Args: entity, dimensionID, teleporter
  288. * */
  289. public static void travelToDimension(Entity entity1, int par1, Teleporter teleporter)
  290. {
  291. if (!entity1.worldObj.isRemote && !entity1.isDead)
  292. {
  293. entity1.worldObj.theProfiler.startSection("changeDimension");
  294. MinecraftServer minecraftserver = MinecraftServer.getServer();
  295. int j = entity1.dimension;
  296. WorldServer worldserver = minecraftserver.worldServerForDimension(j);
  297. WorldServer worldserver1 = minecraftserver.worldServerForDimension(par1);
  298. entity1.dimension = par1;
  299.  
  300. if (j == 1 && par1 == 1)
  301. {
  302. worldserver1 = minecraftserver.worldServerForDimension(0);
  303. entity1.dimension = 0;
  304. }
  305.  
  306. entity1.worldObj.removeEntity(entity1);
  307. entity1.isDead = false;
  308. entity1.worldObj.theProfiler.startSection("reposition");
  309. if(teleporter != null)
  310. {
  311. minecraftserver.getConfigurationManager().transferEntityToWorld(entity1, j, worldserver, worldserver1, teleporter);
  312. }
  313. else
  314. {
  315. minecraftserver.getConfigurationManager().transferEntityToWorld(entity1, j, worldserver, worldserver1);
  316. }
  317. entity1.worldObj.theProfiler.endStartSection("reloading");
  318. Entity entity = EntityList.createEntityByName(EntityList.getEntityString(entity1), worldserver1);
  319.  
  320. if (entity != null)
  321. {
  322. entity.copyDataFrom(entity1, true);
  323.  
  324. if (j == 1 && par1 == 1)
  325. {
  326. ChunkCoordinates chunkcoordinates = worldserver1.getSpawnPoint();
  327. chunkcoordinates.posY = entity1.worldObj.getTopSolidOrLiquidBlock(chunkcoordinates.posX, chunkcoordinates.posZ);
  328. entity.setLocationAndAngles((double)chunkcoordinates.posX, (double)chunkcoordinates.posY, (double)chunkcoordinates.posZ, entity.rotationYaw, entity.rotationPitch);
  329. }
  330.  
  331. worldserver1.spawnEntityInWorld(entity);
  332. }
  333.  
  334. entity1.isDead = true;
  335. entity1.worldObj.theProfiler.endSection();
  336. worldserver.resetUpdateEntityTick();
  337. worldserver1.resetUpdateEntityTick();
  338. entity1.worldObj.theProfiler.endSection();
  339. }
  340. }
  341. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement