aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlkalus <Draknyte1@hotmail.com>2020-08-18 18:35:49 +0100
committerAlkalus <Draknyte1@hotmail.com>2020-08-18 18:35:49 +0100
commit8ee7350f7e52b898126331aea6e673c70942e42a (patch)
treed73409d578a9f0730dfa7aa54dd2042a5aa80941 /src
parent174d2abf005402d46b3ebd3cfbc8c84ccfe95928 (diff)
downloadGT5-Unofficial-8ee7350f7e52b898126331aea6e673c70942e42a.tar.gz
GT5-Unofficial-8ee7350f7e52b898126331aea6e673c70942e42a.tar.bz2
GT5-Unofficial-8ee7350f7e52b898126331aea6e673c70942e42a.zip
+ Added Spice of Life support.
+ Added new Food Crate. $ Fixed bug in Fish Catcher, where side by side traps didn't count properly as water. $ Fixed bug in Air Intake Hatch.
Diffstat (limited to 'src')
-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
-rw-r--r--src/resources/assets/spiceoflife/lang/de_DE.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/en_US.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/es_ES.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/fr_FR.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/it_IT.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/ko_KR.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/ru_RU.lang2
-rw-r--r--src/resources/assets/spiceoflife/lang/zh_CN.lang2
-rw-r--r--src/resources/assets/spiceoflife/textures/items/foodcrate.pngbin0 -> 365 bytes
-rw-r--r--src/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.pngbin0 -> 355 bytes
-rw-r--r--src/resources/assets/spiceoflife/textures/items/foodcrate_open_full.pngbin0 -> 509 bytes
17 files changed, 132 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;
+ }
+
+
+
+
+
+}
diff --git a/src/resources/assets/spiceoflife/lang/de_DE.lang b/src/resources/assets/spiceoflife/lang/de_DE.lang
new file mode 100644
index 0000000000..63ad1e2a98
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/de_DE.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Voedselkrat \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/en_US.lang b/src/resources/assets/spiceoflife/lang/en_US.lang
new file mode 100644
index 0000000000..bf16f4dc93
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/en_US.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Food Crate \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/es_ES.lang b/src/resources/assets/spiceoflife/lang/es_ES.lang
new file mode 100644
index 0000000000..02fe4c8806
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/es_ES.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Caja de comida \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/fr_FR.lang b/src/resources/assets/spiceoflife/lang/fr_FR.lang
new file mode 100644
index 0000000000..418c2b7053
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/fr_FR.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Caisse alimentaire \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/it_IT.lang b/src/resources/assets/spiceoflife/lang/it_IT.lang
new file mode 100644
index 0000000000..841b97c63f
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/it_IT.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Cassa Alimentare \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/ko_KR.lang b/src/resources/assets/spiceoflife/lang/ko_KR.lang
new file mode 100644
index 0000000000..7e9973e936
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/ko_KR.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=음식 상자 \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/ru_RU.lang b/src/resources/assets/spiceoflife/lang/ru_RU.lang
new file mode 100644
index 0000000000..e167a0ae03
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/ru_RU.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=Продовольственный ящик \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/lang/zh_CN.lang b/src/resources/assets/spiceoflife/lang/zh_CN.lang
new file mode 100644
index 0000000000..bb211e7b57
--- /dev/null
+++ b/src/resources/assets/spiceoflife/lang/zh_CN.lang
@@ -0,0 +1,2 @@
+# Items
+item.spiceoflife.foodcrate.name=食品箱 \ No newline at end of file
diff --git a/src/resources/assets/spiceoflife/textures/items/foodcrate.png b/src/resources/assets/spiceoflife/textures/items/foodcrate.png
new file mode 100644
index 0000000000..b717dd0318
--- /dev/null
+++ b/src/resources/assets/spiceoflife/textures/items/foodcrate.png
Binary files differ
diff --git a/src/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png b/src/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png
new file mode 100644
index 0000000000..4dbfd54ea7
--- /dev/null
+++ b/src/resources/assets/spiceoflife/textures/items/foodcrate_open_empty.png
Binary files differ
diff --git a/src/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png b/src/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png
new file mode 100644
index 0000000000..0284bd29ad
--- /dev/null
+++ b/src/resources/assets/spiceoflife/textures/items/foodcrate_open_full.png
Binary files differ