aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java4
-rw-r--r--src/Java/gtPlusPlus/core/lib/LoadedMods.java6
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java3
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java41
-rw-r--r--src/Java/gtPlusPlus/xmod/sol/HANDLER_SpiceOfLife.java61
6 files changed, 116 insertions, 5 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
index cd25fdb1c3..9a1b551d30 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_IntermodStaging.java
@@ -16,6 +16,7 @@ import gtPlusPlus.xmod.ob.HANDLER_OpenBlocks;
import gtPlusPlus.xmod.railcraft.HANDLER_Railcraft;
import gtPlusPlus.xmod.reliquary.HANDLER_Reliquary;
import gtPlusPlus.xmod.sc2.HANDLER_SC2;
+import gtPlusPlus.xmod.sol.HANDLER_SpiceOfLife;
import gtPlusPlus.xmod.thaumcraft.HANDLER_Thaumcraft;
import gtPlusPlus.xmod.thermalfoundation.HANDLER_TF;
import gtPlusPlus.xmod.tinkers.HANDLER_Tinkers;
@@ -39,6 +40,7 @@ public class COMPAT_IntermodStaging {
HANDLER_Railcraft.preInit();
HANDLER_Reliquary.preInit();
HANDLER_OpenBlocks.preInit();
+ HANDLER_SpiceOfLife.preInit();
}
public static void init(FMLInitializationEvent init){
@@ -58,6 +60,7 @@ public class COMPAT_IntermodStaging {
HANDLER_Railcraft.init();
HANDLER_Reliquary.init();
HANDLER_OpenBlocks.init();
+ HANDLER_SpiceOfLife.init();
}
public static void postInit(FMLPostInitializationEvent postinit){
@@ -77,6 +80,7 @@ public class COMPAT_IntermodStaging {
HANDLER_Railcraft.postInit();
HANDLER_Reliquary.postInit();
HANDLER_OpenBlocks.postInit();
+ HANDLER_SpiceOfLife.postInit();
}
public static void onLoadComplete(FMLLoadCompleteEvent event) {
diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
index 329cf634b6..1eb8351d65 100644
--- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java
+++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
@@ -59,6 +59,7 @@ public class LoadedMods {
public static boolean Waila = false;
public static boolean CropsPlusPlus = false; //Barts Crop Mod
public static boolean Reliquary = false;
+ public static boolean SpiceOfLife = false;
@@ -211,6 +212,11 @@ public class LoadedMods {
Logger.INFO("Components enabled for: WAILA");
totalMods++;
}
+ if (isModLoaded("SpiceOfLife")){
+ SpiceOfLife = true;
+ Logger.INFO("Components enabled for: Spice Of Life");
+ totalMods++;
+ }
if (isModLoaded("Mekanism")){
Mekanism = true;
Logger.INFO("Components enabled for: Mekanism - This feature is not configurable and balances Mekanism to suit GT.");
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
index e7c37f7994..beff269428 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityFishTrap.java
@@ -79,7 +79,8 @@ public class TileEntityFishTrap extends TileEntity implements ISidedInventory {
}
}
if ((waterCount >= 2) && (trapCount <= 4)) {
- this.waterSides = waterCount;
+ int aCheck = trapCount + waterCount;
+ this.waterSides = MathUtils.balance(aCheck, 0, 6);
Logger.MACHINE_INFO("Valid Trap. "+waterCount+" | "+(this.tickCount/20)+"/"+(this.baseTickRate/20));
return true;
}
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
index 316d271961..5b837397b1 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
@@ -340,12 +340,12 @@ public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISide
@Override
public boolean canInsertItem(final int aSlot, final ItemStack p_102007_2_, final int p_102007_3_) {
- return aSlot >= 0 && aSlot <= 24;
+ return aSlot == aCurrentMode;
}
@Override
- public boolean canExtractItem(final int p_102008_1_, final ItemStack p_102008_2_, final int p_102008_3_) {
- return p_102008_1_ == 25;
+ public boolean canExtractItem(final int aSlot, final ItemStack p_102008_2_, final int p_102008_3_) {
+ return aSlot == Container_VolumetricFlaskSetter.SLOT_OUTPUT;
}
public String getCustomName() {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
index 4e6e2bc35b..3a0c101375 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
@@ -1,6 +1,8 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
import net.minecraft.world.World;
import net.minecraft.item.ItemStack;
@@ -196,6 +198,20 @@ public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_I
public boolean canTankBeEmptied() {
return true;
}
+
+ private static Fluid AIR;
+
+ public boolean isAirInHatch() {
+ if (this.mFluid != null) {
+ if (AIR == null) {
+ AIR = FluidUtils.getAir(1).getFluid();
+ }
+ if (AIR == this.mFluid.getFluid()) {
+ return true;
+ }
+ }
+ return false;
+ }
public boolean addAirToHatch(long aTick) {
if (!this.getBaseMetaTileEntity().getAirAtSide(this.getBaseMetaTileEntity().getFrontFacing())) {
@@ -209,6 +225,9 @@ public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_I
return false;
}
else {
+ if (!isAirInHatch()) {
+ return false;
+ }
if (this.mFluid != null && a1) {
this.mFluid.amount += 1000;
return true;
@@ -244,6 +263,26 @@ public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_I
@Override
public boolean doesFillContainers() {
- return true;
+ return false;
+ }
+
+ @Override
+ public int fill(FluidStack aFluid, boolean doFill) {
+ return 0;
+ }
+
+ @Override
+ public boolean canFill(ForgeDirection aSide, Fluid aFluid) {
+ return false;
+ }
+
+ @Override
+ public int fill(ForgeDirection arg0, FluidStack arg1, boolean arg2) {
+ return 0;
+ }
+
+ @Override
+ public int fill_default(ForgeDirection aSide, FluidStack aFluid, boolean doFill) {
+ return 0;
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/sol/HANDLER_SpiceOfLife.java b/src/Java/gtPlusPlus/xmod/sol/HANDLER_SpiceOfLife.java
new file mode 100644
index 0000000000..11cc5da89c
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/sol/HANDLER_SpiceOfLife.java
@@ -0,0 +1,61 @@
+package gtPlusPlus.xmod.sol;
+
+import java.lang.reflect.Constructor;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraft.item.Item;
+
+public class HANDLER_SpiceOfLife {
+
+ public static final void preInit() {
+ if (LoadedMods.SpiceOfLife) {
+ //Add a new Lunch Box with a reasonable amount of slots
+ tryRegisterNewLunchBox("foodcrate", 12);
+ }
+ }
+
+ public static final void init() {
+ if (LoadedMods.SpiceOfLife) {
+
+ }
+ }
+
+ public static final void postInit() {
+ if (LoadedMods.SpiceOfLife) {
+
+ }
+ }
+
+ private static boolean tryRegisterNewLunchBox(String aItemName, int aSlots) {
+ Item aNewBox = getNewLunchBox(aItemName, aSlots);
+ if (aNewBox != null) {
+ GameRegistry.registerItem(aNewBox, aItemName);
+ Logger.INFO("[Spice of Life] Registered "+aItemName+" as a new food container.");
+ return true;
+ }
+ return false;
+ }
+
+ private static Item getNewLunchBox(String aItemName, int aSlots) {
+ Class aItemFoodContainer = ReflectionUtils.getClass("squeek.spiceoflife.items.ItemFoodContainer");
+ if (aItemFoodContainer != null) {
+ Constructor aItemFoodContainerConstructor = ReflectionUtils.getConstructor(aItemFoodContainer, new Class[] {String.class, int.class});
+ if (aItemFoodContainerConstructor != null) {
+ Object aNewObject = ReflectionUtils.createNewInstanceFromConstructor(aItemFoodContainerConstructor, new Object[] {aItemName, aSlots});
+ if (aNewObject instanceof Item) {
+ Item aNewInstance = (Item) aNewObject;
+ return aNewInstance;
+ }
+ }
+ }
+ return null;
+ }
+
+
+
+
+
+}