Guest User

Untitled

a guest
Mar 10th, 2019
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.29 KB | None | 0 0
  1. package net.mod.topazmod;
  2.  
  3. import cpw.mods.fml.common.FMLCommonHandler;
  4. import cpw.mods.fml.common.IFuelHandler;
  5. import cpw.mods.fml.common.Mod;
  6. import cpw.mods.fml.common.Mod.EventHandler;
  7. import cpw.mods.fml.common.Mod.Instance;
  8. import cpw.mods.fml.common.SidedProxy;
  9. import cpw.mods.fml.common.event.FMLInitializationEvent;
  10. import cpw.mods.fml.common.event.FMLPostInitializationEvent;
  11. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  12. import cpw.mods.fml.common.event.FMLServerStartingEvent;
  13. import cpw.mods.fml.common.eventhandler.SubscribeEvent;
  14. import cpw.mods.fml.common.network.NetworkRegistry;
  15. import cpw.mods.fml.common.registry.EntityRegistry;
  16. import cpw.mods.fml.common.registry.GameRegistry;
  17. import cpw.mods.fml.relauncher.Side;
  18. import cpw.mods.fml.relauncher.SideOnly;
  19. import net.minecraft.block.Block;
  20. import net.minecraft.block.material.Material;
  21. import net.minecraft.client.renderer.texture.IIconRegister;
  22. import net.minecraft.creativetab.CreativeTabs;
  23. import net.minecraft.entity.item.EntityItem;
  24. import net.minecraft.entity.player.EntityPlayer;
  25. import net.minecraft.init.Items;
  26. import net.minecraft.item.Item;
  27. import net.minecraft.item.ItemStack;
  28. import net.minecraft.util.IIcon;
  29. import net.minecraftforge.common.MinecraftForge;
  30. import net.minecraftforge.event.entity.player.FillBucketEvent;
  31. import net.minecraftforge.fluids.Fluid;
  32. import net.minecraftforge.fluids.FluidContainerRegistry;
  33. import net.minecraftforge.fluids.FluidRegistry;
  34. import net.mod.topazmod.blocks.BlockFluidPoison;
  35. import net.mod.topazmod.blocks.ColoriumOre;
  36. import net.mod.topazmod.dynamite.EntityDynamite;
  37. import net.mod.topazmod.event.event;
  38. import net.mod.topazmod.init.BlockMod;
  39. import net.mod.topazmod.init.EntityMod;
  40. import net.mod.topazmod.init.ItemMod;
  41. import net.mod.topazmod.init.Recipe;
  42. import net.mod.topazmod.items.ItemBucketPoison;
  43. import net.mod.topazmod.proxy.CommonProxy;
  44. import net.mod.topazmod.world.WorldRegister;
  45.  
  46.  
  47. @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
  48.  
  49. public class TopazMod
  50.  
  51. {
  52. public static Block poisenouswaterb;
  53. public static Fluid poison;
  54. public static Item poisonbucket;
  55.  
  56. @Instance(Reference.MOD_NAME)
  57.  
  58.  
  59. public static TopazMod instance;
  60.  
  61. public SpikeTopaze SpikeTopaze = new SpikeTopaze();
  62. @SidedProxy(clientSide = Reference.CLIENT_PROXY, serverSide = Reference.SERVER_PROXY)
  63. public static CommonProxy proxy;
  64.  
  65.  
  66. public static CreativeTabs topatab = new CreativeTabs("topaTabs")
  67. {
  68. @SideOnly(Side.CLIENT)
  69. public Item getTabIconItem()
  70. {
  71. return ItemMod.item_topaze;
  72. }
  73. };
  74.  
  75.  
  76. @EventHandler
  77. public void load(FMLInitializationEvent event) {
  78. SpikeTopaze.load();
  79. }
  80.  
  81. @EventHandler
  82. public void serverLoad(FMLServerStartingEvent event) {
  83. SpikeTopaze.serverLoad(event);
  84. }
  85.  
  86. @EventHandler
  87. public void preInit (FMLPreInitializationEvent event)
  88. {
  89. ColoriumOre.init();
  90. ColoriumOre.register();
  91. BlockMod.init();
  92. BlockMod.register();
  93. ItemMod.init();
  94. ItemMod.register();
  95. Recipe.init();
  96. Recipe.register();
  97. WorldRegister.manRegistry();
  98. SpikeTopaze.preInit(event);
  99. proxy.registerRenderers(this);
  100.  
  101.  
  102.  
  103. poison = new Fluid("poison").setLuminosity(0).setDensity(500).setViscosity(1000).setGaseous(false); //on cree notre fluid que l'on nomme poison
  104. FluidRegistry.registerFluid(poison); // on register notre fluid
  105. poison = FluidRegistry.getFluid("poison");
  106.  
  107. poisenouswaterb = new BlockFluidPoison(poison, Material.water){
  108.  
  109. @SideOnly(Side.CLIENT)
  110. protected IIcon stillIcon;
  111. @SideOnly(Side.CLIENT)
  112. protected IIcon flowingIcon;
  113.  
  114. @Override
  115. public IIcon getIcon(int side, int meta) {
  116. IIcon result = stillIcon;
  117. if (side == 1) {
  118. result = flowingIcon;
  119. }
  120. return result;
  121. }
  122.  
  123. @SideOnly(Side.CLIENT)
  124. @Override
  125. public void registerBlockIcons(IIconRegister iir) {
  126. stillIcon = iir.registerIcon(Reference.MOD_ID + ":PoisonStill");
  127. flowingIcon = iir.registerIcon(Reference.MOD_ID + ":PoisonFlowing");
  128.  
  129. }
  130.  
  131. }; // on crée notre block
  132. GameRegistry.registerBlock(poisenouswaterb, poisenouswaterb.getUnlocalizedName().substring(5)); //puis on le register
  133.  
  134. poisonbucket = new ItemBucketPoison(TopazMod.poisenouswaterb).setMaxDamage(1).setUnlocalizedName("poisonbucket").setCreativeTab(CreativeTabs.tabMisc).setContainerItem(Items.bucket).setTextureName(Reference.MOD_ID + ":poisonbucket"); //on definit notre sceau de poison
  135.  
  136. GameRegistry.registerItem(poisonbucket , "poisonbucket "); // on register l'item
  137.  
  138. FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluidStack("poison", FluidContainerRegistry.BUCKET_VOLUME), new ItemStack(TopazMod.poisonbucket), FluidContainerRegistry.EMPTY_BUCKET);
  139.  
  140.  
  141. }
  142.  
  143. @EventHandler
  144. public void init (FMLInitializationEvent event)
  145. {
  146. proxy.registerRenders();
  147. EntityMod.init();
  148. }
  149.  
  150.  
  151. @EventHandler
  152. public void postInit (FMLPostInitializationEvent event)
  153. {
  154.  
  155. }
  156.  
  157. @SubscribeEvent
  158. public void onBucketFill(FillBucketEvent event)
  159. {
  160. Block id = event.world.getBlock(event.target.blockX, event.target.blockY, event.target.blockZ);
  161. int metadata = event.world.getBlockMetadata(event.target.blockX, event.target.blockY, event.target.blockZ);
  162. if(id == this.poisenouswaterb && metadata == 0)
  163. {
  164. event.world.setBlockToAir(event.target.blockX, event.target.blockY, event.target.blockZ);
  165. if (!event.world.isRemote){
  166. event.entityPlayer.inventory.consumeInventoryItem(Items.bucket);
  167. EntityItem itemsc = new EntityItem(event.world, event.entityPlayer.posX, event.entityPlayer.posY, event.entityPlayer.posZ, new ItemStack(TopazMod.poisonbucket, 1));
  168. event.world.spawnEntityInWorld(itemsc);
  169. }
  170. }
  171. }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment