From cf69a7f3920133825719fe72203e6d1294e91533 Mon Sep 17 00:00:00 2001 From: Blood-Asp Date: Sun, 3 Jan 2016 02:16:02 +0100 Subject: [PATCH] Explosives rework --- .../java/gregtech/api/enums/ItemList.java | 4 +- .../java/gregtech/common/GT_RecipeAdder.java | 17 +++- .../common/blocks/GT_Block_Reinforced.java | 85 +++++++++++++++++- .../items/GT_MetaGenerated_Item_01.java | 1 - .../items/GT_MetaGenerated_Item_02.java | 2 + .../GT_MetaTileEntity_SeismicProspector.java | 18 +++- .../postload/GT_CraftingRecipeLoader.java | 1 + .../postload/GT_MachineRecipeLoader.java | 19 +++- .../GT_Loader_Item_Block_And_Fluid.java | 2 + .../fluids/fluid.liquid_nitrationmixture.png | Bin 0 -> 4470 bytes .../fluid.liquid_nitrationmixture.png.mcmeta | 5 ++ .../blocks/fluids/fluid.liquid_toluene.png | Bin 0 -> 11401 bytes .../fluids/fluid.liquid_toluene.png.mcmeta | 5 ++ .../textures/items/gt.metaitem.02/10.png | Bin 0 -> 559 bytes 14 files changed, 146 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png.mcmeta create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png.mcmeta create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.02/10.png diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index 1cb21e0b..63e35331 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -637,11 +637,11 @@ public enum ItemList implements IItemContainer { Crop_Drop_Bauxite, Crop_Drop_Ilmenite, Crop_Drop_Pitchblende, Crop_Drop_Uraninite, Crop_Drop_Thorium, Crop_Drop_Nickel, Crop_Drop_Zinc, Crop_Drop_Manganese, Crop_Drop_Scheelite, Crop_Drop_Platinum, Crop_Drop_Iridium, Crop_Drop_Osmium, Crop_Drop_Naquadah, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4, ModularBasicHelmet, ModularBasicChestplate, ModularBasicLeggings, ModularBasicBoots, ModularElectric1Helmet, ModularElectric1Chestplate, ModularElectric1Leggings, ModularElectric1Boots, - ModularElectric2Helmet, ModularElectric2Chestplate, ModularElectric2Leggings, ModularElectric2Boots; + ModularElectric2Helmet, ModularElectric2Chestplate, ModularElectric2Leggings, ModularElectric2Boots, Block_Powderbarrel, GelledToluene; public static final ItemList[] DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}, SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15}, SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15}, TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV}, MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX}, HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX}, HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX}, HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX}, HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX}, HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX}, HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX}, HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX}; - public static Fluid sOilExtraHeavy, sEpichlorhydrin, sDrillingFluid, sNitricAcid, sBlueVitriol, sNickelSulfate; + public static Fluid sOilExtraHeavy, sEpichlorhydrin, sDrillingFluid, sNitricAcid, sBlueVitriol, sNickelSulfate, sToluene, sNitrationMixture; private ItemStack mStack; private boolean mHasNotBeenSet = true; diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index 4c1d4c78..40175f7d 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -8,6 +8,7 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.internal.IGT_RecipeAdder; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -257,7 +258,21 @@ public class GT_RecipeAdder if ((aInput2 = GregTech_API.sRecipeFile.get("implosion", aInput1, aInput2)) <= 0) { return false; } - new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2); + int tExplosives = aInput2 > 0 ? aInput2 < 64 ? aInput2 : 64 : 1; + int tGunpowder = tExplosives * 2; + int tDynamite = tExplosives * 4; + int tTNT = Math.max(1, tExplosives/2); + int tITNT = Math.max(1, tExplosives/4); + //new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2); + if(tGunpowder<65){ + GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, ItemList.Block_Powderbarrel.get(tGunpowder, new Object[0])}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0); + } + if(tDynamite<65){ + GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0); + } + GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, new ItemStack(Blocks.tnt,tTNT)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0); + GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(true, new ItemStack[]{aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null)}, new ItemStack[]{aOutput1, aOutput2}, null, null, null, null, 20, 30, 0); + return true; } diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Reinforced.java b/src/main/java/gregtech/common/blocks/GT_Block_Reinforced.java index 37db7bcb..f2534c4c 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Reinforced.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Reinforced.java @@ -13,19 +13,26 @@ import gregtech.api.objects.MaterialStack; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureType; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; +import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import ic2.core.IC2; +import ic2.core.block.EntityIC2Explosive; +import ic2.core.block.EntityItnt; import java.util.List; import java.util.Random; @@ -41,25 +48,29 @@ public class GT_Block_Reinforced extends GT_Generic_Block { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Plascrete Block"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Tungstensteel Reinforced Block"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Brittle Charcoal"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Powderbarrel"); ItemList.Block_BronzePlate.set(new ItemStack(this.setHardness(60.0f).setResistance(150.0f), 1, 0)); ItemList.Block_IridiumTungstensteel.set(new ItemStack(this.setHardness(200.0f).setResistance(600.0f), 1, 1)); ItemList.Block_Plascrete.set(new ItemStack(this.setHardness(80.0f).setResistance(350.0f), 1, 2)); ItemList.Block_TungstenSteelReinforced.set(new ItemStack(this.setHardness(100.0f).setResistance(400.0f), 1, 3)); ItemList.Block_BrittleCharcoal.set(new ItemStack(this.setHardness(0.5f).setResistance(8.0f), 1, 4)); + ItemList.Block_Powderbarrel.set(new ItemStack(this.setHardness(2.5f).setResistance(2.0f), 1, 5)); GT_ModHandler.addCraftingRecipe(ItemList.Block_BronzePlate.get(1L, new Object[0]),GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hP ", "PBP", " P ", 'P', OrePrefixes.plate.get(Materials.Bronze), 'B', OrePrefixes.stone.get(Materials.GraniteBlack)}); GT_ModHandler.addCraftingRecipe(ItemList.Block_BronzePlate.get(1L, new Object[0]),GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hP ", "PBP", " P ", 'P', OrePrefixes.plate.get(Materials.Bronze), 'B', OrePrefixes.stone.get(Materials.GraniteRed)}); GT_ModHandler.addCraftingRecipe(ItemList.Block_IridiumTungstensteel.get(1L, new Object[0]),GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hBP", 'P', OrePrefixes.plate.get(Materials.Iridium), 'B', ItemList.Block_TungstenSteelReinforced.get(1L, new Object[0])}); GT_OreDictUnificator.setItemData(ItemList.Block_IridiumTungstensteel.get(1, new Object[0]), new ItemData(new MaterialStack(Materials.Iridium, OrePrefixes.plate.mMaterialAmount), new MaterialStack(Materials.TungstenSteel, 2*OrePrefixes.plate.mMaterialAmount),new MaterialStack(Materials.Concrete, OrePrefixes.dust.mMaterialAmount))); GT_ModHandler.addShapelessCraftingRecipe(new ItemStack(Items.coal, 1, 1), new Object[]{ItemList.Block_BrittleCharcoal.get(1, new Object[0])}); + GT_ModHandler.addCraftingRecipe(ItemList.Block_Powderbarrel.get(1L, new Object[0]),GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"WSW","GGG","WGW", 'W', OrePrefixes.plank.get(Materials.Wood), 'G', Items.gunpowder,'S',Items.string}); + } public String getHarvestTool(int aMeta) { - if (aMeta == 4) return "axe"; + if (aMeta == 4||aMeta == 5) return "axe"; return "pickaxe"; } public int getHarvestLevel(int aMeta) { - if (aMeta == 4) return 1; + if (aMeta == 4||aMeta == 5) return 1; return 4; } @@ -76,6 +87,8 @@ public class GT_Block_Reinforced extends GT_Generic_Block { return Textures.BlockIcons.BLOCK_TSREIN.getIcon(); case 4: return Blocks.coal_block.getIcon(0, 0); + case 5: + return Textures.BlockIcons.COVER_WOOD_PLATE.getIcon(); } } return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon(); @@ -98,7 +111,7 @@ public class GT_Block_Reinforced extends GT_Generic_Block { if (tMeta == 3) { return 100.0F; } - if (tMeta == 4) { + if (tMeta == 4||tMeta == 5) { return 0.5F; } return Blocks.iron_block.getBlockHardness(aWorld, aX, aY, aZ); @@ -124,6 +137,9 @@ public class GT_Block_Reinforced extends GT_Generic_Block { if (tMeta == 4) { return 8.0F; } + if (tMeta == 5) { + return 1.0F; + } return super.getExplosionResistance(par1Entity, world, x, y, z, explosionX, explosionY, explosionZ); } @@ -180,6 +196,69 @@ public class GT_Block_Reinforced extends GT_Generic_Block { super.dropBlockAsItemWithChance(aWorld, aX, aY, aZ, par5, chance, par7); } } + + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) + { + if(world.getBlockMetadata(x, y, z)==5){ + EntityIC2Explosive entitytntprimed = getExplosionEntity(world, x, y, z, player == null ? null : player); + if (entitytntprimed == null) { + return false; + } + + world.spawnEntityInWorld(entitytntprimed); + world.playSoundAtEntity(entitytntprimed, "random.fuse", 1.0F, 1.0F); + + world.setBlockToAir(x, y, z); + return false; + } + return super.removedByPlayer(world, player, x, y, z); + } + + public EntityIC2Explosive getExplosionEntity(World world, int x, int y, int z, EntityLivingBase igniter) + { + EntityIC2Explosive ret; + ret = new EntityItnt(world, x + 0.5D, y + 0.5D, z + 0.5D); + ret.setIgniter(igniter); + + return ret; + } + + public void onBlockAdded(World world, int x, int y, int z) + { + super.onBlockAdded(world, x, y, z); + if (world.isBlockIndirectlyGettingPowered(x, y, z)&&world.getBlockMetadata(x, y, z)==5) { + removedByPlayer(world, null, x, y, z); + } + } + + public void onNeighborBlockChange(World world, int x, int y, int z, Block neighbor) + { + if (world.isBlockIndirectlyGettingPowered(x, y, z)&&world.getBlockMetadata(x, y, z)==5) { + removedByPlayer(world, null, x, y, z); + } + } + + public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) + { + EntityIC2Explosive entitytntprimed = getExplosionEntity(world, x, y, z, explosion == null ? null : explosion.getExplosivePlacedBy()); + if (entitytntprimed == null) { + return; + } + entitytntprimed.fuse = (world.rand.nextInt(entitytntprimed.fuse / 4) + entitytntprimed.fuse / 8); + world.spawnEntityInWorld(entitytntprimed); + } + + public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset) + { + if ((player.getCurrentEquippedItem() != null) && (player.getCurrentEquippedItem().getItem() == Items.flint_and_steel)&&par1World.getBlockMetadata(x, y, z)==5) + { +// par1World.setBlockMetadataWithNotify(x, y, z, 6, 7); + removedByPlayer(par1World, player, x, y, z); + + return true; + } + return super.onBlockActivated(par1World, x, y, z, player, side, xOffset, yOffset, zOffset); + } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister aIconRegister) { diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 9ad61edc..beac0efb 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -338,7 +338,6 @@ public class GT_MetaGenerated_Item_01 GT_ModHandler.addRollingMachineRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), new Object[]{"IAI", "ADA", "IAI", Character.valueOf('D'), GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "iridiumplate", true) ? OreDictNames.craftingIndustrialDiamond : OrePrefixes.dust.get(Materials.Diamond), Character.valueOf('A'), OrePrefixes.plateAlloy.get("Advanced"), Character.valueOf('I'), OrePrefixes.plate.get(Materials.Iridium)}); GT_ModHandler.addCraftingRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"IAI", "ADA", "IAI", Character.valueOf('D'), GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "iridiumplate", true) ? OreDictNames.craftingIndustrialDiamond : OrePrefixes.dust.get(Materials.Diamond), Character.valueOf('A'), OrePrefixes.plateAlloy.get("Advanced"), Character.valueOf('I'), OrePrefixes.plate.get(Materials.Iridium)}); - GT_Values.RA.addImplosionRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), 8, GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)); ItemList.Paper_Printed_Pages.set(addItem(tLastID = 481, "Printed Pages", "Used to make written Books", new Object[]{new ItemData(Materials.Paper, 10886400L, new MaterialStack[0]), new Behaviour_PrintedPages(), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 2L)})); ItemList.Paper_Magic_Empty.set(addItem(tLastID = 482, "Magic Paper", "", new Object[]{SubTag.INVISIBLE, new ItemData(Materials.Paper, 3628800L, new MaterialStack[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTIO, 1L)})); diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java index 2856d24d..f1a5df2d 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java @@ -48,6 +48,8 @@ public class GT_MetaGenerated_Item_02 ItemList.ThermosCan_Sweet_Tea.set(addItem(tLastID = 8, "Sweet Tea", "How about a Tea Party? In Boston?", new Object[]{SubTag.INVISIBLE, new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.ThermosCan_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[0]), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)})); ItemList.ThermosCan_Ice_Tea.set(addItem(tLastID = 9, "Ice Tea", "Better than this purple Junk Drink from failed Potions", new Object[]{new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.ThermosCan_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.moveSlowdown.id, 300, 0, 50}), new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L)})); + ItemList.GelledToluene.set(addItem(tLastID = 10, "Gelled Toluene", "Raw Explosive", new Object[]{})); + ItemList.Bottle_Purple_Drink.set(addItem(tLastID = 100, "Purple Drink", "How about Lemonade. Or some Ice Tea? I got Purple Drink!", new Object[]{new GT_FoodStat(8, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.moveSlowdown.id, 400, 1, 90}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 1L)})); ItemList.Bottle_Grape_Juice.set(addItem(tLastID = 101, "Grape Juice", "This has a cleaning effect on your internals.", new Object[]{new GT_FoodStat(4, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.hunger.id, 400, 1, 60}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L)})); ItemList.Bottle_Wine.set(addItem(tLastID = 102, "Wine", "Ordinary", new Object[]{new GT_FoodStat(2, 0.2F, EnumAction.drink, ItemList.Bottle_Empty.get(1L, new Object[0]), GregTech_API.sDrinksAlwaysDrinkable, false, false, new int[]{Potion.confusion.id, 400, 1, 60, Potion.heal.id, 0, 0, 60, Potion.poison.id, 200, 1, 5}), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L)})); diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_SeismicProspector.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_SeismicProspector.java index e25eb3e6..c0fa372c 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_SeismicProspector.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_SeismicProspector.java @@ -10,6 +10,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.ItemData; +import gregtech.api.objects.MaterialStack; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.common.blocks.GT_Block_Ores; @@ -31,7 +32,7 @@ public class GT_MetaTileEntity_SeismicProspector extends GT_MetaTileEntity_Basic boolean ready = false; public GT_MetaTileEntity_SeismicProspector(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 1, "Place, activate with explosives, use Data Stick", 1, 1, "Default.png", "", new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_ROCK_BREAKER)}); + super(aID, aName, aNameRegional, aTier, 1, "Place, activate with explosives(8 Dynamite, 1 Glyceryl, 4 TNT or 2 ITNT), use Data Stick", 1, 1, "Default.png", "", new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_ROCK_BREAKER), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_ROCK_BREAKER_ACTIVE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_ROCK_BREAKER)}); } public GT_MetaTileEntity_SeismicProspector(String aName, int aTier, String aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) { @@ -46,9 +47,22 @@ public class GT_MetaTileEntity_SeismicProspector extends GT_MetaTileEntity_Basic public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { if (aBaseMetaTileEntity.isServerSide()) { ItemStack aStack = aPlayer.getCurrentEquippedItem(); - if ((aStack != null) && (aStack.getItem() == Item.getItemFromBlock(Blocks.tnt) || aStack.getItem() == Ic2Items.industrialTnt.getItem()) && aStack.stackSize > 7 && !ready) { + if (!ready && (aStack != null) && ( + (aStack.getItem() == Item.getItemFromBlock(Blocks.tnt) && aStack.stackSize > 3 ) || + (aStack.getItem() == Ic2Items.industrialTnt.getItem() && aStack.stackSize > 1 ) || + (aStack.getItem() == Ic2Items.dynamite.getItem() && aStack.stackSize > 7 ) || + (GT_OreDictUnificator.getItemData(aStack).mMaterial.mMaterial == Materials.Glyceryl && aStack.stackSize > 0 ) + ) ) { if ((!aPlayer.capabilities.isCreativeMode) && (aStack.stackSize != 111)) { + if(aStack.getItem() == Item.getItemFromBlock(Blocks.tnt)){ + aStack.stackSize -= 4; + }else if(aStack.getItem() == Ic2Items.industrialTnt.getItem()){ + aStack.stackSize -= 2; + }else if(aStack.getItem() == Ic2Items.dynamite.getItem()){ aStack.stackSize -= 8; + }else{ + aStack.stackSize -= 1; + } } this.ready = true; this.mMaxProgresstime = 200; diff --git a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java index a77d5fd1..9775ce80 100644 --- a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java @@ -72,6 +72,7 @@ public class GT_CraftingRecipeLoader GT_ModHandler.removeRecipeByOutput(ItemList.Bottle_Empty.get(1L, new Object[0])); GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Spray_WeedEx.get(1L, new Object[0])); GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("reBattery", 1L)); + GT_ModHandler.removeRecipeByOutput(new ItemStack(Blocks.tnt)); ItemStack tStack = GT_ModHandler.removeRecipe(new ItemStack[]{new ItemStack(Blocks.planks, 1, 0), null, null, new ItemStack(Blocks.planks, 1, 0)}); if (tStack != null) { diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 4a53f581..af5e7f93 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -461,9 +461,18 @@ public class GT_MachineRecipeLoader GT_Values.RA.addUniversalDistillationRecipe(new FluidStack(FluidRegistry.getFluid("oilgc"), 50), new FluidStack[]{Materials.SulfuricGas.getGas(15), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricHeavyFuel.getFluid(15)}, null, 32, 64); } GT_Values.RA.addUniversalDistillationRecipe(Materials.OilHeavy.getFluid(30), new FluidStack[]{Materials.SulfuricGas.getGas(5), Materials.SulfuricNaphtha.getFluid(5), Materials.SulfuricLightFuel.getFluid(15), Materials.SulfuricHeavyFuel.getFluid(75)}, null, 32, 64); - GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedLightFuel.getFluid(100), new FluidStack[]{Materials.Gas.getGas(30), Materials.Naphtha.getFluid(50), Materials.HeavyFuel.getFluid(20)}, null, 32, 64); - GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedHeavyFuel.getFluid(100), new FluidStack[]{Materials.Gas.getGas(10), Materials.Naphtha.getFluid(15), Materials.LightFuel.getFluid(50), Materials.Lubricant.getFluid(5)}, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.HydratedCoal, 1L), 32, 64); + GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedLightFuel.getFluid(100), new FluidStack[]{Materials.Gas.getGas(25), Materials.Naphtha.getFluid(50), new FluidStack(ItemList.sToluene,10),Materials.HeavyFuel.getFluid(15)}, null, 32, 64); + GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedHeavyFuel.getFluid(100), new FluidStack[]{Materials.Gas.getGas(5), Materials.Naphtha.getFluid(10), Materials.LightFuel.getFluid(40), new FluidStack(ItemList.sToluene,40), Materials.Lubricant.getFluid(5)}, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.HydratedCoal, 1L), 32, 64); + GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 1L, new Object[0]), Materials.HeavyFuel.getFluid(5L), new FluidStack(ItemList.sToluene,2), 16, 24, false); + GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ball.get(0L, new Object[0]), new FluidStack(ItemList.sToluene,100), ItemList.GelledToluene.get(1, new Object[0]), 100, 16); + GT_Values.RA.addChemicalRecipe(ItemList.GelledToluene.get(4, new Object[0]), GT_Values.NI, Materials.SulfuricAcid.getFluid(250), GT_Values.NF, new ItemStack(Blocks.tnt,1), 200, 24); + + GT_Values.RA.addChemicalRecipe(new ItemStack(Items.sugar), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plastic, 1), new FluidStack(ItemList.sToluene, 133), GT_Values.NF, ItemList.GelledToluene.get(2, new Object[0]), 140, 192); + + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell,Materials.SulfuricAcid, 1), null, null, null, new FluidStack(ItemList.sNitricAcid,1000), new FluidStack(ItemList.sNitrationMixture,2000), ItemList.Cell_Empty.get(1, new Object[0]), 500, 2); + GT_Values.RA.addChemicalRecipe(ItemList.GelledToluene.get(4, new Object[0]), GT_Values.NI, new FluidStack(ItemList.sNitrationMixture,250), GT_Values.NF, GT_ModHandler.getIC2Item("industrialTnt", 1L), 80, 480); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), ItemList.Cell_Empty.get(1, new Object[0]), Materials.NatruralGas.getGas(8000), Materials.Gas.getGas(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 2L), 160); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), ItemList.Cell_Empty.get(1, new Object[0]), Materials.SulfuricGas.getGas(8000), Materials.Gas.getGas(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 2L), 160); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), ItemList.Cell_Empty.get(1, new Object[0]), Materials.SulfuricNaphtha.getFluid(7000), Materials.Naphtha.getFluid(7000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 2L), 160); @@ -836,6 +845,8 @@ public class GT_MachineRecipeLoader GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Fertilizer.get(1L, new Object[0])); GT_Values.RA.addImplosionRecipe(ItemList.IC2_Compressed_Coal_Chunk.get(1L, new Object[0]), 8, ItemList.IC2_Industrial_Diamond.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)); + GT_Values.RA.addImplosionRecipe(ItemList.Ingot_IridiumAlloy.get(1L, new Object[0]), 8, GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)); + GT_Values.RA.addFluidExtractionRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 1L), null, Materials.Glass.getMolten(72), 10000, 600, 28);//(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SiliconDioxide,1L), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.SiliconDioxide,2L),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Glass,1L)/** GT_Utility.fillFluidContainer(Materials.Glass.getMolten(1000), ItemList.Cell_Empty.get(1, new Object[0]), true, true)**/, 600, 16); GT_Values.RA.addDistillationTowerRecipe(Materials.Creosote.getFluid(24L), new FluidStack[]{Materials.Lubricant.getFluid(12L)}, null, 16, 96); @@ -1122,8 +1133,8 @@ public class GT_MachineRecipeLoader GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1L), new ItemStack(Items.blaze_powder, 1, 0), new ItemStack(Items.ender_eye, 1, 0), 400, 2); GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 6L), new ItemStack(Items.blaze_rod, 1, 0), new ItemStack(Items.ender_eye, 6, 0), 2500, 2); GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CobaltBrass, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), ItemList.Component_Sawblade_Diamond.get(1L, new Object[0]), 1600, 2); - GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Flint, 5L), new ItemStack(Blocks.tnt, 3, 32767), GT_ModHandler.getIC2Item("industrialTnt", 5L), 800, 2); - GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 4L), new ItemStack(Blocks.sand, 4, 32767), new ItemStack(Blocks.tnt, 1), 400, 1); +// GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Flint, 5L), new ItemStack(Blocks.tnt, 3, 32767), GT_ModHandler.getIC2Item("industrialTnt", 5L), 800, 2); +// GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 4L), new ItemStack(Blocks.sand, 4, 32767), new ItemStack(Blocks.tnt, 1), 400, 1); GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 4L), new ItemStack(Blocks.redstone_lamp, 1), 400, 1); GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), new ItemStack(Blocks.redstone_torch, 1), 400, 1); GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 4L), new ItemStack(Items.compass, 1), 400, 4); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index c6550b7c..c781e73b 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -378,6 +378,8 @@ public class GT_Loader_Item_Block_And_Fluid ItemList.sOilExtraHeavy = GT_Mod.gregtechproxy.addFluid("liquid_extra_heavy_oil", "Very Heavy Oil", null, 1, 295); ItemList.sEpichlorhydrin = GT_Mod.gregtechproxy.addFluid("liquid_epichlorhydrin", "Epichlorhydrin", null, 1, 295); ItemList.sDrillingFluid = GT_Mod.gregtechproxy.addFluid("liquid_drillingfluid", "Drilling Fluid", null, 1, 295); + ItemList.sToluene = GT_Mod.gregtechproxy.addFluid("liquid_toluene", "Toluene", null, 1, 295); + ItemList.sNitrationMixture = GT_Mod.gregtechproxy.addFluid("liquid_nitrationmixture", "Nitration Mixture", null, 1, 295); GT_Mod.gregtechproxy.addFluid("liquid_heavy_oil", "Heavy Oil", Materials.OilHeavy, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.OilHeavy, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("liquid_medium_oil", "Raw Oil", Materials.OilMedium, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.OilMedium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png new file mode 100644 index 0000000000000000000000000000000000000000..11c8d78df46e1a32b416261252871ff64bcf1dc0 GIT binary patch literal 4470 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png.mcmeta new file mode 100644 index 00000000..7e77c648 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_nitrationmixture.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png new file mode 100644 index 0000000000000000000000000000000000000000..39d7f64a562bb4f5d0b4ea704a6d350ee2dfbd05 GIT binary patch literal 11401 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 X^XO;X{-_qm00000NkvXXu0mjf+Bi$Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png.mcmeta new file mode 100644 index 00000000..0df7234a --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_toluene.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.02/10.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.02/10.png new file mode 100644 index 0000000000000000000000000000000000000000..8d90bf91b0e6d6f11ecea8f59149ea4ae8e12dfe GIT binary patch literal 559 zcmV+~0?_@5P) zK~y-)t&>fw+CUVBAKQuxDHsG5>}C>fbWyPNf`t4Be^ED$J3;8mjf?&OSB3O?Qq|Lco6%QAYs-UZ;@H8F}JY}>|h9Q6};3oxD5ilU$_OUkmO)oLN7yv^Vw&-1V> z3(K+qcywLWZnr6lqKZbNaS8Yp{02ZuiD{bnzK@g=+qSVR3&(L(zu&I_hr{6#;6Fbp zUDv7C>qsf-bUGwS!fv-C2m%0RvzaQ2f-m2`-xksQ__?;-ZV^I|BuQ2EBuQvCn~X*y zEX!iOUaPxZ@SmSlx7#I-;|h|dDMAROltfX)e!s`IZ9aW?ukN-{2tk^rNGTCQRHjol zQ53P;?fyRpaU7H9IRHTrR1kpU@pyOeYNy3uFkrD*C|%b{(-ck9h~pU3G%KK{X?UK; zbULlw01U$*&vTZ`r2-fZhh$k+b;R>L{?61ta|L*Kcp%F%@;qlUnJ}Nv@qPcI+F=;h xR;v}8&F1zALI|=fBMd_T#%KTFT-WAT(I56L57+U}U002ovPDHLkV1hu-^)CPb literal 0 HcmV?d00001