diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
14 files changed, 267 insertions, 85 deletions
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java new file mode 100644 index 0000000000..c7b90b780c --- /dev/null +++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_OpenBlocks.java @@ -0,0 +1,29 @@ +package gtPlusPlus.core.common.compat; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.util.minecraft.ItemUtils; + +public class COMPAT_OpenBlocks { + + public static void OreDict(){ + run(); + } + + private static final void run(){ + + Item aGraveItem = ItemUtils.getItem("OpenBlocks:grave"); + if (aGraveItem == null) { + return; + } + Block aGraveBlock = Block.getBlockFromItem(aGraveItem); + if (aGraveBlock == null) { + return; + } + + Logger.INFO("[Hungry Node Blacklist] Setting the Hardness of the OpenBlocks Grave to 6."); + aGraveBlock.setHardness(6f); + } + +} diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index eaa17f9f87..31819c5030 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -140,6 +140,9 @@ public class COMPAT_HANDLER { if (LoadedMods.MorePlanets){ COMPAT_MorePlanets.OreDict(); } + if (LoadedMods.OpenBlocks){ + COMPAT_OpenBlocks.OreDict(); + } if (LoadedMods.Simply_Jetpacks){ COMPAT_SimplyJetpacks.OreDict(); } diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index a14073e569..b89fd2158f 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -1,28 +1,24 @@ package gtPlusPlus.core.item; -import static gtPlusPlus.core.creative.AddToCreativeTab.*; +import static gtPlusPlus.core.creative.AddToCreativeTab.tabMachines; +import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT; -import com.ibm.icu.util.RangeValueIterator.Element; - import cpw.mods.fml.common.registry.GameRegistry; - -import net.minecraft.item.*; -import net.minecraft.item.Item.ToolMaterial; -import net.minecraft.util.EnumChatFormatting; - import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gregtech.api.enums.TextureSet; import gregtech.api.util.GT_OreDictUnificator; - import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; +import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.common.compat.COMPAT_Baubles; import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.handler.OldCircuitHandler; -import gtPlusPlus.core.item.base.*; +import gtPlusPlus.core.item.base.BaseEuItem; +import gtPlusPlus.core.item.base.BaseItemBackpack; +import gtPlusPlus.core.item.base.BaseItemBurnable; import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; +import gtPlusPlus.core.item.base.BaseItemDamageable; +import gtPlusPlus.core.item.base.BaseItemTCShard; +import gtPlusPlus.core.item.base.CoreItem; import gtPlusPlus.core.item.base.foil.BaseItemFoil; import gtPlusPlus.core.item.base.foods.BaseItemFood; import gtPlusPlus.core.item.base.foods.BaseItemHotFood; @@ -31,7 +27,6 @@ import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.ingots.BaseItemIngot_OLD; import gtPlusPlus.core.item.base.misc.BaseItemMisc; import gtPlusPlus.core.item.base.misc.BaseItemMisc.MiscTypes; -import gtPlusPlus.core.item.base.misc.BaseItemParticle; import gtPlusPlus.core.item.base.plates.BaseItemPlate; import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; import gtPlusPlus.core.item.bauble.HealthBoostBauble; @@ -42,36 +37,64 @@ import gtPlusPlus.core.item.chemistry.NuclearChem; import gtPlusPlus.core.item.chemistry.RocketFuels; import gtPlusPlus.core.item.chemistry.StandardBaseParticles; import gtPlusPlus.core.item.effects.RarityUncommon; -import gtPlusPlus.core.item.general.*; +import gtPlusPlus.core.item.general.BaseItemGrindle; +import gtPlusPlus.core.item.general.BufferCore; +import gtPlusPlus.core.item.general.ItemAirFilter; +import gtPlusPlus.core.item.general.ItemAreaClear; +import gtPlusPlus.core.item.general.ItemBasicFirestarter; +import gtPlusPlus.core.item.general.ItemBlueprint; +import gtPlusPlus.core.item.general.ItemControlCore; +import gtPlusPlus.core.item.general.ItemEmpty; +import gtPlusPlus.core.item.general.ItemGemShards; +import gtPlusPlus.core.item.general.ItemGenericToken; +import gtPlusPlus.core.item.general.ItemGiantEgg; +import gtPlusPlus.core.item.general.ItemHalfCompleteCasings; +import gtPlusPlus.core.item.general.ItemLavaFilter; +import gtPlusPlus.core.item.general.RF2EU_Battery; import gtPlusPlus.core.item.general.books.ItemBaseBook; import gtPlusPlus.core.item.general.capture.ItemEntityCatcher; -import gtPlusPlus.core.item.general.chassis.*; +import gtPlusPlus.core.item.general.chassis.ItemBoilerChassis; +import gtPlusPlus.core.item.general.chassis.ItemDehydratorCoil; +import gtPlusPlus.core.item.general.chassis.ItemDehydratorCoilWire; import gtPlusPlus.core.item.general.throwables.ItemHydrofluoricAcidPotion; import gtPlusPlus.core.item.general.throwables.ItemSulfuricAcidPotion; import gtPlusPlus.core.item.init.ItemsFoods; -import gtPlusPlus.core.item.init.ItemsMultiTools; import gtPlusPlus.core.item.materials.DustDecayable; +import gtPlusPlus.core.item.tool.misc.GregtechPump; import gtPlusPlus.core.item.tool.misc.SandstoneHammer; import gtPlusPlus.core.item.tool.misc.box.AutoLunchBox; import gtPlusPlus.core.item.tool.misc.box.MagicToolBag; import gtPlusPlus.core.item.tool.misc.box.UniversalToolBox; -import gtPlusPlus.core.item.tool.misc.GregtechPump; -import gtPlusPlus.core.item.tool.staballoy.*; +import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase; +import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase; +import gtPlusPlus.core.item.tool.staballoy.StaballoyAxe; +import gtPlusPlus.core.item.tool.staballoy.StaballoyPickaxe; import gtPlusPlus.core.item.wearable.WearableLoader; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; import gtPlusPlus.core.lib.LoadedMods; -import gtPlusPlus.core.material.*; +import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.material.MaterialGenerator; +import gtPlusPlus.core.material.NONMATERIAL; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.StringUtils; import gtPlusPlus.core.util.debug.DEBUG_INIT; -import gtPlusPlus.core.util.minecraft.*; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.everglades.GTplusplus_Everglades; import gtPlusPlus.xmod.eio.material.MaterialEIO; import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java index da0357a9c4..e749885dd6 100644 --- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java +++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java @@ -40,6 +40,7 @@ public class LoadedMods { public static boolean ThermalFoundation = false; public static boolean IHL = false; public static boolean OpenComputers = false; //OpenComputers + public static boolean OpenBlocks = false; public static boolean Computronics = false; //computronics public static boolean DreamCraft = false; //GT: New Horizons public static boolean BeyondRealityCore = false; //Beyond Reality - Probably Classic @@ -140,6 +141,11 @@ public class LoadedMods { Logger.INFO("Components enabled for: StevesCarts"); totalMods++; } + if (Loader.isModLoaded("OpenBlocks")){ + OpenBlocks = true; + Logger.INFO("Components enabled for: OpenBlocks"); + totalMods++; + } if (Loader.isModLoaded("Thaumcraft")){ Thaumcraft = true; Logger.INFO("Components enabled for: Thaumcraft"); diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java index a27cace300..c7397962ad 100644 --- a/src/Java/gtPlusPlus/core/material/ALLOY.java +++ b/src/Java/gtPlusPlus/core/material/ALLOY.java @@ -623,8 +623,8 @@ public final class ALLOY { "HG-1223", //Material Name MaterialState.LIQUID, //State new short[]{39,85,159, 0}, //Material Colour - -1, //Melting Point in C - -1, //Boiling Point in C + 6357, //Melting Point in C + 8563, //Boiling Point in C -1, -1, false, //Uses Blast furnace? diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 456b535606..eca9e278e2 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -21,6 +21,7 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.MaterialStack; import gtPlusPlus.core.material.Particle; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; @@ -225,6 +226,27 @@ public class RECIPES_GREGTECH { 0, 20 * 45, 120); + + //HG1223 + CORE.RA.addBlastSmelterRecipe( + new ItemStack[] { + ItemUtils.getGregtechCircuit(5), + ELEMENT.getInstance().MERCURY.getCell(1), + ELEMENT.getInstance().BARIUM.getDust(2), + ELEMENT.getInstance().CALCIUM.getDust(2), + ELEMENT.getInstance().COPPER.getDust(3), + }, + ELEMENT.getInstance().OXYGEN.getFluid(8000), + ALLOY.HG1223.getFluid(16 * 144), + new ItemStack[] { + CI.emptyCells(1) + }, + 100, //Output Chance + 20 * 120, + 122880); + + + // Germanium Roasting CORE.RA.addBlastSmelterRecipe( @@ -1137,7 +1159,7 @@ public class RECIPES_GREGTECH { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null, FluidUtils.getFluidStack("hydrofluoricacid", 144 * 5), FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144 * 5), null, 3000, 500); - GT_Values.RA.addMixerRecipe( + /*GT_Values.RA.addMixerRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellMercury", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustBarium", 2), ItemUtils.getItemStackOfAmountFromOreDict("dustCalcium", 2), @@ -1146,7 +1168,7 @@ public class RECIPES_GREGTECH { ALLOY.HG1223.getFluid(144*16), CI.emptyCells(1), 30 * 20, - 500); + 500);*/ } private static void chemicalReactorRecipes() { @@ -1623,14 +1645,14 @@ public class RECIPES_GREGTECH { private static void advancedMixerRecipes() { // HgBa2Ca2Cu3O8 - CORE.RA.addMixerRecipe( + /*CORE.RA.addMixerRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellMercury", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustBarium", 2), ItemUtils.getItemStackOfAmountFromOreDict("dustCalcium", 2), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3), FluidUtils.getFluidStack("oxygen", 8000), null, CI.emptyCells(1), ALLOY.HG1223.getDust(16), null, null, - 30 * 20, 500); + 30 * 20, 500); */ } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 16559c4fcf..5d8c040996 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -734,7 +734,7 @@ public class RECIPES_Machines { RECIPE_IndustrialSieveGrate); } - if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer){ + if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer){/* //Industrial Tree Farmer RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1); RECIPE_TreeFarmFrame = GregtechItemList.TreeFarmer_Structural.get(Casing_Amount); @@ -759,7 +759,7 @@ public class RECIPES_Machines { "plankWood", "frameGtTumbaga", "plankWood", "plankWood", "plankWood", "plankWood", RECIPE_TreeFarmFrame); - } + */} if (CORE.ConfigSwitches.enableMachine_Tesseracts){ //Tesseracts @@ -784,11 +784,16 @@ public class RECIPES_Machines { ItemStack washerPipe; if (CORE.ConfigSwitches.enableCustom_Pipes){ washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeClay", 1); + RecipeUtils.addShapedGregtechRecipe( + plateWrought, CI.electricPump_LV, plateWrought, + plateWrought, washerPipe, plateWrought, + plateWrought, CI.machineCasing_ULV, plateWrought, + GregtechItemList.SimpleDustWasher.get(1)); } - else { - washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeCopper", 1); + else { } //Add Recipe + washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeCopper", 1); RecipeUtils.addShapedGregtechRecipe( plateWrought, CI.electricPump_LV, plateWrought, plateWrought, washerPipe, plateWrought, @@ -1091,27 +1096,49 @@ public class RECIPES_Machines { GregtechItemList.Industrial_WashPlant.get(1)); } - if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter){ + if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) { - ItemStack aCoreBlock = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemList.valueOf("Block_IridiumTungstensteel").get(1, ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1)) : ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1); + ItemStack aCoreBlock = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK + ? ItemList.valueOf("Block_IridiumTungstensteel").get(1, + ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1)) + : ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1); - RecipeUtils.recipeBuilder( - "plateTungstenSteel", CI.craftingToolHammer_Hard, "plateTungstenSteel", - "plateStellite", aCoreBlock, "plateStellite", - "plateTungstenSteel", CI.craftingToolWrench, "plateTungstenSteel", - GregtechItemList.Casing_Autocrafter.get(Casing_Amount)); + aCoreBlock.stackSize = GTNH ? 2 : 1; - RecipeUtils.recipeBuilder( - "plateTungstenSteel", ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR),"plateTungstenSteel", - CI.emitter_IV,GregtechItemList.Gregtech_Computer_Cube.get(1), CI.sensor_IV, - "plateTungstenSteel", "cableGt08Osmium","plateTungstenSteel", - GregtechItemList.GT4_Multi_Crafter.get(1)); + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), GTNH ? 2 : 1), + aCoreBlock, + CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 16), + CI.getTieredComponent(OrePrefixes.screw, GTNH ? 6 : 5, 32), + CI.getTieredComponent(OrePrefixes.bolt, GTNH ? 6 : 5, 12), + CI.getTieredComponent(OrePrefixes.plate, GTNH ? 7 : 6, 8), }, + CI.getTertiaryTieredFluid(6, 144 * (GTNH ? 12 : 4)), + GregtechItemList.Casing_Autocrafter.get(Casing_Amount), 20 * 60 * 2, + MaterialUtils.getVoltageForTier(GTNH ? 7 : 6)); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + GregtechItemList.Casing_Refinery_Structural.get(4), + ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, GTNH ? 2 : 1), + CI.getTieredComponent(OrePrefixes.cableGt08, GTNH ? 7 : 6, GTNH ? 32 : 16), + CI.getEmitter(GTNH ? 7 : 5, 2), + CI.getSensor(GTNH ? 7 : 5, 2), + GregtechItemList.Gregtech_Computer_Cube.get(1), + }, + CI.getTieredFluid(7, 144 * (GTNH ? 32 : 8)), GregtechItemList.GT4_Multi_Crafter.get(1), + 20 * 60 * 5, MaterialUtils.getVoltageForTier(GTNH ? 7 : 6)); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), Casing_Amount), + CI.getEmitter(GTNH ? 5 : 4, GTNH ? 4 : 2), CI.getRobotArm(GTNH ? 5 : 4, GTNH ? 4 : 2), + CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 8), + CI.getTieredComponent(OrePrefixes.screw, GTNH ? 4 : 3, 8), + CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 4), }, + CI.getAlternativeTieredFluid(5, 144 * 4), ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), + 20 * 30 * 3, MaterialUtils.getVoltageForTier(GTNH ? 5 : 4)); - RecipeUtils.recipeBuilder( - "plateTungstenSteel",CI.craftingToolSolderingIron,"plateStainlessSteel", - CI.robotArm_EV, ItemList.Casing_SolidSteel.get(1), CI.robotArm_EV, - "plateStainlessSteel",CI.emitter_EV,"plateTungstenSteel", - ItemUtils.getSimpleStack(ModBlocks.blockProjectTable)); } if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine){ diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index f3dccf1390..45d21a3016 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -255,8 +255,8 @@ public class MaterialUtils { } public static int getVoltageForTier(int aTier) { - aTier += 1; - if (aTier == 0) { + //aTier += 1; - Probably some logic to this, idk. + if (aTier <= 0) { return 16; } else if (aTier == 1) { return 30; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index ac2320afdb..621918b370 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -111,13 +111,30 @@ public interface IGregtech_RecipeAdder { * @param aInput = ItemStack[] (not null, and respects StackSize) * @param aFluidInput = Input of a fluid (can be null, and respects StackSize) * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize) + * @param aOutputStack = Item Output (Can be null) * @param aChances = Output Chance (can be == 0) * @param aDuration = Duration (must be >= 0) * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @param aSpecialValue = Stores the Required Temp for the Recipe * @return true if the Recipe got added, otherwise false. */ + public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, int aChance, int aDuration, int aEUt); + public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, int aDuration, int aEUt, int aSpecialValue); + + /** + * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) + * + * @param aInput = ItemStack[] (not null, and respects StackSize) + * @param aFluidInput = Input of a fluid (can be null, and respects StackSize) + * @param aFluidOutput = Output of the Molten Metal (not null, and respects StackSize) + * @param aOutputStack = Item Output (Can be null) + * @param aChances = Output Chance (can be == 0) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU per tick needed for heating up (must be >= 0) + * @param aSpecialValue = Stores the Required Temp for the Recipe + * @return true if the Recipe got added, otherwise false. + */ + public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, int aChance, int aDuration, int aEUt, int aSpecialValue); public boolean addLFTRRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java index 833c1bfcc0..96df4dbfd0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java @@ -168,14 +168,31 @@ public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_In return; } - PlayerUtils.messagePlayer(aPlayer, "This Super Bus (I) contains:"); - for (String s : aNames) { - if (s.startsWith(" ")) { - s = s.substring(1); - } - //Logger.INFO("Trying to display Super Input Bus contents. "+s); - PlayerUtils.messagePlayer(aPlayer, s); - } + PlayerUtils.messagePlayer(aPlayer, "This Super Bus (I) contains: ["+getRealInventory().length+"]"); + + if (aNames.length <= 12) { + for (String s : aNames) { + if (s.startsWith(" ")) { + s = s.substring(1); + } + //Logger.INFO("Trying to display Super Input Bus contents. "+s); + PlayerUtils.messagePlayer(aPlayer, s); + } + } + else { + + String superString = ""; + + for (String s : aNames) { + if (s.startsWith(" ")) { + s = s.substring(1); + } + superString += (s+"\r\n"); + } + PlayerUtils.messagePlayer(aPlayer, superString); + } + + } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index 39666a2d3b..892f8f332a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -912,7 +912,10 @@ GT_MetaTileEntity_MultiBlockBase { return 0; } - public GT_MetaTileEntity_Hatch_ControlCore getControlCoreBus() { + public GT_MetaTileEntity_Hatch_ControlCore getControlCoreBus() { + if (this.mControlCoreBus == null || this.mControlCoreBus.isEmpty()) { + return null; + } GT_MetaTileEntity_Hatch_ControlCore x = this.mControlCoreBus.get(0); if (x != null) { log("getControlCore(ok)"); @@ -1506,11 +1509,8 @@ GT_MetaTileEntity_MultiBlockBase { public final boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { - boolean aStructureCheck = checkMultiblock(aBaseMetaTileEntity, aStack); - - boolean aCoresConfig = gtPlusPlus.core.lib.CORE.ConfigSwitches.requireControlCores; - - boolean aHasCore = (aCoresConfig ? (this.getControlCoreBus() != null) : true); + boolean aStructureCheck = checkMultiblock(aBaseMetaTileEntity, aStack); + boolean aHasCore = (requireControlCores ? (this.getControlCoreBus() != null) : true); return aStructureCheck && aHasCore; } @@ -1526,10 +1526,34 @@ GT_MetaTileEntity_MultiBlockBase { return true; } else { + int aMetaTileID = aBaseMetaTileEntity.getMetaTileID(); //Found a controller - if (aFoundMeta > 0 && aFoundMeta < 1000 && aFoundBlock == GregTech_API.sBlockMachines) { + if (aMetaTileID >= 750 && aMetaTileID < 1000 && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + //Vanilla Hatches/Busses + else if (aMetaTileID >= 10 && aMetaTileID <= 99 && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + //Adv Mufflers + else if (aMetaTileID >= 30001 && aMetaTileID <= 30009 && aFoundBlock == GregTech_API.sBlockMachines) { return true; } + //Control Core, Super IO + else if (aMetaTileID >= 30020 && aMetaTileID <= 30040 && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + //Auto maint + else if (aMetaTileID == 111 && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + //Data Ports + else if ((aMetaTileID == 131 || aMetaTileID == 132) && aFoundBlock == GregTech_API.sBlockMachines) { + return true; + } + else { + Logger.INFO("Found meta Tile: "+aMetaTileID); + } } } if (!isHatch) { @@ -1537,7 +1561,8 @@ GT_MetaTileEntity_MultiBlockBase { return true; } else if (aFoundBlock != aExpectedBlock) { - Logger.INFO("A1 - Found: "+aFoundBlock.getLocalizedName()+", Expected: "+aExpectedBlock.getLocalizedName()); + Logger.INFO("A1 - Found: "+aFoundBlock.getLocalizedName()+":"+aFoundMeta+", Expected: "+aExpectedBlock.getLocalizedName()+":"+aExpectedMeta); + Logger.INFO("Loc: "+(new BlockPos(aBaseMetaTileEntity).getLocationString())); return false; } else if (aFoundMeta != aExpectedMeta) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java index a39bc5d31b..759378013c 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java @@ -8,7 +8,7 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; - +import net.minecraft.util.EnumChatFormatting; import gregtech.api.enums.TAE; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -131,7 +131,6 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase { return new String[] { "Highly Advanced Autocrafter", "Right Click with a Screwdriver to change mode", - "This Machine Can Autocraft, Assemble, Disassemble or Circuit Assemble", "200% faster than using single block machines of the same voltage", "Processes two items per voltage tier", "--------------------------------------", @@ -239,13 +238,13 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase { if (isModernGT && !CORE.GTNH) { mMachineMode = mMachineMode.nextMode(); if (mMachineMode == MODE.CRAFTING) { - PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: �dAutoCrafting"); + PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: "+EnumChatFormatting.AQUA+"AutoCrafting"); } else if (mMachineMode == MODE.ASSEMBLY) { - PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: �aAssembly"); + PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: "+EnumChatFormatting.GREEN+"Assembly"); } else if (mMachineMode == MODE.DISASSEMBLY) { - PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: �cDisassembly"); + PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: "+EnumChatFormatting.RED+"Disassembly"); } else { - PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: �eCircuit Assembly"); + PlayerUtils.messagePlayer(aPlayer, "Running the Auto-Crafter in mode: "+EnumChatFormatting.YELLOW+"Circuit Assembly"); } } //5.08 support @@ -258,11 +257,11 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase { } if (mMachineMode == MODE.CRAFTING) { - PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: �dAutoCrafting"); + PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: "+EnumChatFormatting.AQUA+"AutoCrafting"); } else if (mMachineMode == MODE.ASSEMBLY) { - PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: �aAssembly"); + PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: "+EnumChatFormatting.GREEN+"Assembly"); } else { - PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: �cDisassembly"); + PlayerUtils.messagePlayer(aPlayer, "You are now running the Auto-Crafter in mode: "+EnumChatFormatting.RED+"Disassembly"); } } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java index f88065d9a9..b1e433e276 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java @@ -70,6 +70,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M "X X", "X X", "XXXXXXXXX", + "Can process (Tier + 1) * 2 recipes", "Put a numbered circuit into the input bus.", "Circuit 14 for Fish", "Circuit 15 for Junk", @@ -147,14 +148,14 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M return false; } - return checkRecipeGeneric(tItemInputs, tFluidInputs, 1, 100, 80, 100); + return checkRecipeGeneric(tItemInputs, tFluidInputs, getMaxParallelRecipes(), 100, 80, 100); } return true; } @Override public int getMaxParallelRecipes() { - return 1; + return (2 * (GT_Utility.getTier(this.getMaxInputVoltage())+1)); } @Override @@ -415,7 +416,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M if (j.getItem() == CI.getNumberedCircuit(0).getItem()) { // Fish if (j.getItemDamage() == 14) { - mMax = 8; + mMax = 8 + (this.getMaxParallelRecipes() - 2); this.mMode = 14; break; } @@ -469,7 +470,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M for (int k = 0; k < this.mMax; k++) { if (mFishOutput[k] == null) for (WeightedRandomFishable g : categoryFish.values()) { - if (MathUtils.randInt(0, 75) <= 2) { + if (MathUtils.randInt(0, (65 - getMaxParallelRecipes())) <= 2) { ItemStack t = reflectiveFish(g); if (t != null) { mFishOutput[k] = ItemUtils.getSimpleStack(t, 1); @@ -528,6 +529,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M this.mMaxProgresstime = 0; this.mOutputItems = new ItemStack[]{}; this.mOutputFluids = new FluidStack[]{}; + long tVoltage = getMaxInputVoltage(); byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); @@ -549,7 +551,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M ItemStack[] mFishOutput = generateLoot(this.mMode); mFishOutput = removeNulls(mFishOutput); - GT_Recipe g = new Recipe_GT(true, new ItemStack[] {}, mFishOutput, null, new int[] {}, aFluidInputs, mOutputFluids, 100, 16, 0); + GT_Recipe g = new Recipe_GT(true, new ItemStack[] {}, mFishOutput, null, new int[] {}, aFluidInputs, mOutputFluids, 200, 16, 0); if (!this.canBufferOutputs(g, aMaxParallelRecipes)) { log("No Space"); return false; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index 50e9f8c3d6..94486d472b 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -351,18 +351,30 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { @Override public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aOutput, final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, null, aOutput, aChance, aDuration, aEUt, 3700); + return addBlastSmelterRecipe(aInput, null, aOutput, new ItemStack[] {}, aChance, aDuration, aEUt, 3700); } @Override public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aChance, aDuration, aEUt, 3700); + return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, new ItemStack[] {}, aChance, aDuration, aEUt, 3700); + } + + @Override + public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, + final int aChance, int aDuration, final int aEUt) { + return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aOutputStack, aChance, aDuration, aEUt, 3700); } @Override public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, int aDuration, int aEUt, int aSpecialValue) { + return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, new ItemStack[] {}, aChance, aDuration, aEUt, aSpecialValue); + } + + @Override + public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, ItemStack[] aOutputStack, int aChance, + int aDuration, int aEUt, int aSpecialValue) { if ((aInput == null) || (aOutput == null)) { Logger.WARNING("Fail - Input or Output was null."); return false; @@ -391,8 +403,8 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { return false; } - Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, new ItemStack[] { null }, null, - new int[] { aChance*10 }, new FluidStack[] { aInputFluid }, new FluidStack[] { aOutput }, aDuration, aEUt, + Recipe_GT.Gregtech_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe(true, aInput, aOutputStack, null, + new int[] {}, new FluidStack[] { aInputFluid }, new FluidStack[] { aOutput }, aDuration, aEUt, aSpecialValue); return true; } |