aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java4
-rw-r--r--src/Java/gtPlusPlus/core/proxy/ClientProxy.java6
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java81
3 files changed, 56 insertions, 35 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index bc9cb4bc5e..963d6203cc 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -983,9 +983,9 @@ public final class ModItems {
if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
Item a8kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_8k", "Large Volumetric Flask", 8000);
- Item a64kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_64k", "Gigantic Volumetric Flask", 64000);
+ Item a64kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_32k", "Gigantic Volumetric Flask", 32000);
GregtechItemList.VOLUMETRIC_FLASK_8k.set(a8kFlask);
- GregtechItemList.VOLUMETRIC_FLASK_64k.set(a64kFlask);
+ GregtechItemList.VOLUMETRIC_FLASK_32k.set(a64kFlask);
}
itemBoilerChassis = new ItemBoilerChassis();
diff --git a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
index 1cef8a789a..5a0c0f4ea3 100644
--- a/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
+++ b/src/Java/gtPlusPlus/core/proxy/ClientProxy.java
@@ -32,7 +32,9 @@ import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest;
import gtPlusPlus.core.tileentities.general.TileEntityFirepit;
import gtPlusPlus.core.util.minecraft.particles.EntityParticleFXMysterious;
+import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.render.GTPP_CapeRenderer;
+import gtPlusPlus.xmod.gregtech.common.render.GTPP_FlaskRenderer;
import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
@@ -94,6 +96,10 @@ public class ClientProxy extends CommonProxy implements Runnable{
new CustomItemBlockRenderer();
new GTPP_Render_MachineBlock();
+ if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
+ new GTPP_FlaskRenderer();
+ }
+
super.init(e);
}
diff --git a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
index 1aede47096..fb2a7843aa 100644
--- a/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
+++ b/src/Java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java
@@ -72,6 +72,41 @@ public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISide
public Inventory_VolumetricFlaskSetter getInventory() {
return this.inventoryContents;
}
+
+ private int getFlaskType(ItemStack aStack) {
+ if (VolumetricFlaskHelper.isNormalVolumetricFlask(aStack)) {
+ return 1;
+ }
+ else if (VolumetricFlaskHelper.isLargeVolumetricFlask(aStack)) {
+ return 2;
+ }
+ else if (VolumetricFlaskHelper.isGiganticVolumetricFlask(aStack)) {
+ return 3;
+ }
+ return 0;
+ }
+
+ private int getCapacityForSlot(int aSlot) {
+ switch (aSlot) {
+ case 0: //16
+ return 16;
+ case 1: //36
+ return 36;
+ case 2: //144
+ return 144;
+ case 3: //432
+ return 432;
+ case 4: //576
+ return 576;
+ case 5: //720
+ return 720;
+ case 6: //864
+ return 864;
+ case 7: //Custom
+ return getCustomValue();
+ }
+ return 0;
+ }
public boolean addOutput() {
ItemStack[] aInputs = this.getInventory().getInventory().clone();
@@ -93,8 +128,8 @@ public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISide
ItemStack g = this.getStackInSlot(e);
int aSize = 0;
ItemStack aInputStack = null;
- int aTypeInSlot = 0;
- if (aTypeInSlot >= 0 && g != null) {
+ int aTypeInSlot = getFlaskType(g);
+ if (aTypeInSlot > 0 && g != null) {
// No Existing Output
if (!hasOutput) {
aSize = g.stackSize;
@@ -103,10 +138,10 @@ public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISide
// Existing Output
else {
ItemStack f = this.getStackInSlot(8);
- int aTypeInCheckedSlot = 0;
+ int aTypeInCheckedSlot = getFlaskType(f);
// Check that the Circuit in the Output slot is not null and the same type as the circuit input.
- if (aTypeInCheckedSlot >= 0 && (aTypeInSlot == aTypeInCheckedSlot) && f != null) {
- if (g.getItem() == f.getItem() && f.getItemDamage() == e) {
+ if (aTypeInCheckedSlot > 0 && (aTypeInSlot == aTypeInCheckedSlot) && f != null) {
+ if (g.getItem() == f.getItem() && VolumetricFlaskHelper.getFlaskCapacity(f) == getCapacityForSlot(e)) {
aSize = f.stackSize + g.stackSize;
if (aSize > 64) {
aInputStack = g.copy();
@@ -119,41 +154,21 @@ public class TileEntityVolumetricFlaskSetter extends TileEntity implements ISide
if (doAdd) {
// Check Circuit Type
ItemStack aOutput;
- if (aTypeInSlot == 0) {
+ if (aTypeInSlot == 1) {
aOutput = VolumetricFlaskHelper.getVolumetricFlask(1);
}
+ else if (aTypeInSlot == 2) {
+ aOutput = VolumetricFlaskHelper.getLargeVolumetricFlask(1);
+ }
+ else if (aTypeInSlot == 3) {
+ aOutput = VolumetricFlaskHelper.getGiganticVolumetricFlask(1);
+ }
else {
aOutput = null;
}
if (aOutput != null) {
aOutput.stackSize = aSize;
- switch (e) {
- case 0: //16
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 16);
- break;
- case 1: //36
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 36);
- break;
- case 2: //144
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 144);
- break;
- case 3: //432
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 432);
- break;
- case 4: //576
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 576);
- break;
- case 5: //720
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 720);
- break;
- case 6: //864
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, 864);
- break;
- case 7: //Custom
- VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, getCustomValue());
- break;
- }
-
+ VolumetricFlaskHelper.setNewFlaskCapacity(aOutput, getCapacityForSlot(e));
this.setInventorySlotContents(e, aInputStack);
this.setInventorySlotContents(Container_VolumetricFlaskSetter.SLOT_OUTPUT, aOutput);
return true;