aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-02-04 19:46:11 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-02-04 19:46:11 +1000
commitd10ed0cdab2df584b867177de85f897f83bad187 (patch)
tree18382f9e854593d0df95f618a76a846b52fc1bdb /src/Java
parentc125e3c3685b005a780664b85370820840b6311e (diff)
downloadGT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.tar.gz
GT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.tar.bz2
GT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.zip
+ Added recipes for the Cutting Factory.
+ Added Sludge output to the Wash Plant. $ Finished the Cutting Factory. $ GT ASM. % Improved tooltips on Maceration Stack, Industrial Sifter & Wash Plant.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java18
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java42
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java7
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java3
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java27
8 files changed, 106 insertions, 19 deletions
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 653094cdda..a460d7ca59 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -7,6 +7,7 @@ import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.recipe.RecipeUtils;
@@ -141,6 +142,7 @@ public class RECIPES_Machines {
public static ItemStack EV_MACHINE_Wiremill;
public static ItemStack HV_MACHINE_Macerator;
public static ItemStack EV_MACHINE_Macerator;
+ public static ItemStack EV_MACHINE_Cutter;
public static ItemStack EV_MACHINE_MassFabricator;
@@ -213,6 +215,7 @@ public class RECIPES_Machines {
EV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1);
EV_MACHINE_MassFabricator= ItemList.Machine_EV_Massfab.get(1);
EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1);
+ EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1);
}
@@ -1083,6 +1086,21 @@ public class RECIPES_Machines {
ItemUtils.getSimpleStack(ModBlocks.blockProjectTable));
}
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine){
+ ItemStack plate = ALLOY.MARAGING300.getPlate(1);
+ RecipeUtils.recipeBuilder(
+ plate, CI.craftingToolHammer_Hard, plate,
+ "plateStellite", "frameGtTalonite", "plateStellite",
+ plate, CI.craftingToolWrench, plate,
+ GregtechItemList.Casing_CuttingFactoryFrame.get(Casing_Amount));
+
+ RecipeUtils.recipeBuilder(
+ plate,CI.getTieredCircuit(3),plate,
+ "wireFinePlatinum", EV_MACHINE_Cutter, "wireFinePlatinum",
+ plate,CI.getTieredCircuit(4),plate,
+ GregtechItemList.Industrial_CuttingFactoryController.get(1));
+ }
+
//Wireless Chargers
RecipeUtils.addShapedGregtechRecipe(
CI.emitter_LV, CI.circuitTier1, CI.emitter_LV,
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
index a8b6135327..c6edd94238 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
@@ -5,6 +5,8 @@ import static org.objectweb.asm.Opcodes.*;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Random;
import org.apache.logging.log4j.Level;
@@ -18,6 +20,7 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.common.blocks.GT_Block_Machines;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.XSTR;
+import gtPlusPlus.core.util.array.BlockPos;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.nbt.NBTUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -179,13 +182,26 @@ public class Preloader_ClassTransformer2 {
public static ArrayList<ItemStack> getDrops(BaseMetaTileEntity o) {
- Logger.INFO("getDrops(BaseMetaTileEntity(this))");
+ Logger.INFO("BaseMetaTileEntity.getDrops(BaseMetaTileEntity(this))");
try {
short tID = (short) ReflectionUtils.getField(customTransformer2, "mID").get(o);
ItemStack rStack = new ItemStack(GregTech_API.sBlockMachines, 1, tID);
- /*NBTTagCompound tNBT = new NBTTagCompound();
- tNBT = generateGetDropsNBT(o);
- if (!tNBT.hasNoTags()) rStack.setTagCompound(tNBT);*/
+
+ NBTTagCompound i = new NBTTagCompound();
+
+ i = stupidFuckingNBTMap.get(new BlockPos(o.xCoord, o.yCoord, o.zCoord));
+ Logger.INFO("Got NBT Tag Value from map.");
+
+ NBTTagCompound tNBT = i;
+ if (tNBT == null) {
+ Logger.INFO("Map tag was null.");
+ tNBT = generateGetDropsNBT(o);
+ }
+ if (!tNBT.hasNoTags()) {
+ rStack.setTagCompound(tNBT);
+ Logger.INFO("Iterating rStack NBT.");
+ NBTUtils.tryIterateNBTData(rStack);
+ }
return new ArrayList<ItemStack>(Arrays.asList(rStack));
}
catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException a){
@@ -196,10 +212,10 @@ public class Preloader_ClassTransformer2 {
return u;
}
-
+ public static Map<BlockPos, NBTTagCompound> stupidFuckingNBTMap = new HashMap<BlockPos, NBTTagCompound>();
public static void breakBlock(final World aWorld, final int aX, final int aY, final int aZ, final Block block,
final int meta) {
- Logger.INFO("breakBlock");
+ Logger.INFO("GT_Block_Machines.breakBlock()");
GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ);
final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (tTileEntity instanceof IGregTechTileEntity) {
@@ -221,17 +237,15 @@ public class Preloader_ClassTransformer2 {
}
else {
fffff.set(tGregTechTileEntity.getMetaTileEntity().getBaseMetaTileEntity(), tNBT);
- Logger.REFLECTION("Hopefully injected field data.");
+ Logger.REFLECTION("Hopefully injected field data.");
+ stupidFuckingNBTMap.put(new BlockPos(aX, aY, aZ), tNBT);
+ Logger.INFO("Set NBT Tag Value to map.");
}
}
catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
- ItemStack xko = ItemUtils.getSimpleStack(Items.apple);
- xko.setTagCompound(tNBT);
- NBTUtils.tryIterateNBTData(xko);
-
for (int i = 0; i < tGregTechTileEntity.getSizeInventory(); ++i) {
final ItemStack tItem = tGregTechTileEntity.getStackInSlot(i);
if (tItem != null && tItem.stackSize > 0 && tGregTechTileEntity.isValidSlot(i)) {
@@ -336,11 +350,15 @@ public class Preloader_ClassTransformer2 {
break;
}
}
-
+
//Set stack NBT
if (!tNBT.hasNoTags()) {
+ Logger.INFO("Returning Valid NBT data");
return tNBT;
}
+ else {
+ Logger.INFO("Returning Invalid NBT data");
+ }
}
catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException a){
Logger.REFLECTION("getDropsHack2");
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
index 17fa039c4e..d3bf4dfe51 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
@@ -50,7 +50,12 @@ public class CasingTextureHandler2 {
return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon();
//Reactor Casing II
case 13:
- return TexturesGtBlock.Casing_Machine_Ultra.getIcon();
+ if (aSide <2) {
+ return TexturesGtBlock.TEXTURE_TECH_A.getIcon();
+ }
+ else {
+ return TexturesGtBlock.TEXTURE_TECH_B.getIcon();
+ }
case 14:
return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
case 15:
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
index 3795f9815f..dfe7d15bb7 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
@@ -173,6 +173,8 @@ public class TexturesGtBlock {
public static final CustomIcon Overlay_Machine_Vent_Fast = Internal_Overlay_Machine_Vent_Fast;
private static final CustomIcon Internal_Overlay_Machine_Vent_Adv = new CustomIcon("TileEntities/adv_machine_vent_rotating");
public static final CustomIcon Overlay_Machine_Vent_Adv = Internal_Overlay_Machine_Vent_Adv;
+ //Grate Texture
+ public static final CustomIcon OVERLAY_GRATE_A = new CustomIcon("metro/OVERLAY_GRATE_A");
//Speaker Texture
private static final CustomIcon Internal_Overlay_Machine_Sound = new CustomIcon("TileEntities/audio_out");
public static final CustomIcon Overlay_Machine_Sound = Internal_Overlay_Machine_Sound;
@@ -228,5 +230,22 @@ public class TexturesGtBlock {
public static final CustomIcon Overlay_Oil = Internal_Overlay_Oil;
private static final CustomIcon Internal_Overlay_UU_Matter = new CustomIcon("TileEntities/adv_machine_uum");
public static final CustomIcon Overlay_UU_Matter = Internal_Overlay_UU_Matter;
+
+
+ //Metroid related
+ public static final CustomIcon TEXTURE_METAL_PANEL_A = new CustomIcon("metro/TEXTURE_METAL_PANEL_A");
+ public static final CustomIcon TEXTURE_METAL_PANEL_B = new CustomIcon("metro/TEXTURE_METAL_PANEL_B");
+ public static final CustomIcon TEXTURE_ORGANIC_PANEL_A = new CustomIcon("metro/TEXTURE_ORGANIC_PANEL_A");
+ public static final CustomIcon TEXTURE_STONE_BIRD_A = new CustomIcon("metro/TEXTURE_STONE_BIRD_A");
+ public static final CustomIcon TEXTURE_STONE_BIRD_A_LEFT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_LEFT");
+ public static final CustomIcon TEXTURE_STONE_BIRD_A_RIGHT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_RIGHT");
+ public static final CustomIcon TEXTURE_STONE_BLUE_A = new CustomIcon("metro/TEXTURE_STONE_BLUE_A");
+ public static final CustomIcon TEXTURE_STONE_GREEN_A = new CustomIcon("metro/TEXTURE_STONE_GREEN_A");
+ public static final CustomIcon TEXTURE_STONE_TABLET_A = new CustomIcon("metro/TEXTURE_STONE_TABLET_A");
+ public static final CustomIcon TEXTURE_STONE_TABLET_B = new CustomIcon("metro/TEXTURE_STONE_TABLET_B");
+ public static final CustomIcon TEXTURE_TECH_A = new CustomIcon("metro/TEXTURE_TECH_A");
+ public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B");
+ public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C");
+ public static final CustomIcon TEXTURE_TECH_PANEL_A = new CustomIcon("metro/TEXTURE_TECH_PANEL_A");
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
index 37aa33d246..329c4af120 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java
@@ -12,6 +12,7 @@ import gregtech.api.util.GT_Recipe;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraft.block.Block;
@@ -37,7 +38,9 @@ extends GregtechMeta_MultiBlockBase {
public String[] getDescription() {
return new String[]{
"Controller Block for the Industrial Cutting Factory",
- "60% faster than using single block machines of the same voltage",
+ "200% faster than using single block machines of the same voltage",
+ "Only uses 75% of the eu/t normally required",
+ "Processes four items per voltage tier",
"Size: 3x3x5 [WxHxL] (Hollow)", "Controller (front centered)",
"2x Input Bus (side centered)",
"2x Output Bus (side centered)",
@@ -74,7 +77,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
- return checkRecipeGeneric(2, 100, 60);
+ return checkRecipeGeneric((4*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 75, 200);
}
@Override
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
index 0b5441f913..6653cca215 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java
@@ -54,8 +54,7 @@ extends GregtechMeta_MultiBlockBase {
return new String[]{
"Controller Block for the Industrial Maceration Stack",
"60% faster than using single block machines of the same voltage",
- "Processes material several factors faster than single block macerators",
- "Has extra chances on bonus outputs",
+ "Increased output chances on % outputs",
"Processes 8*tier materials at a time",
"ULV = Tier 0, LV = Tier 1, etc.",
"-------------------------------------------------------",
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
index 548b457f79..e79e1c298a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java
@@ -45,7 +45,7 @@ extends GregtechMeta_MultiBlockBase {
"Controller Block for the Industrial Sifter",
"400% faster than single-block machines of the same voltage",
"Processes two items per voltage tier",
- "Increased output chances",
+ "Increased output chances on % outputs",
"Size[WxHxL]: 5x3x5",
"Controller (Center Bottom)",
"1x Input Bus (Any top or bottom edge casing)",
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
index 3bdfd53983..8b5ed9b3f8 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java
@@ -6,6 +6,7 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
import gtPlusPlus.api.objects.Logger;
@@ -13,6 +14,8 @@ import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.world.darkworld.block.DarkWorldContentLoader;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import ic2.core.init.BlocksItems;
@@ -47,6 +50,7 @@ extends GregtechMeta_MultiBlockBase {
"Controller Block for the Industrial Ore Washing Plant",
"80% faster than using single block machines of the same voltage",
"Processes one item per voltage tier",
+ "Chance to output Sludge per process",
"Size: 7x3x5 [WxHxL] (open)",
"X X",
"X X",
@@ -87,7 +91,9 @@ extends GregtechMeta_MultiBlockBase {
@Override
public boolean checkRecipe(final ItemStack aStack) {
if (checkForWater()) {
- return checkRecipeGeneric((1*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 80);
+ if (checkRecipeGeneric((1*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 80)) {
+ return addSludge();
+ }
}
return false;
}
@@ -303,5 +309,24 @@ extends GregtechMeta_MultiBlockBase {
}
return (tAmount >= 45);
}
+
+ public boolean addSludge() {
+ if (MathUtils.randInt(0, 100) <= 4) {
+ if (this.mOutputHatches.size() > 0) {
+ for (GT_MetaTileEntity_Hatch_Output h : this.mOutputHatches) {
+ if (h.getFluid() == null || h.getFluid().isFluidEqual(FluidUtils.getFluidStack(DarkWorldContentLoader.SLUDGE, 1000))) {
+ FluidStack current = h.mFluid;
+ if (current == null) {
+ h.mFluid = FluidUtils.getFluidStack(DarkWorldContentLoader.SLUDGE, 1000);
+ }
+ else {
+ h.mFluid.amount += 1000;
+ }
+ }
+ }
+ }
+ }
+ return true;
+ }
} \ No newline at end of file