From d5e3bf2559138d7df47ab3933075e5cb8d454698 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 7 Aug 2021 17:51:51 +0200 Subject: [PATCH] minor amounts of tomfoolery --- .../com/hbm/handler/FluidTypeHandler.java | 20 ++-- .../inventory/AnvilSmithingCyanideRecipe.java | 4 +- .../items/machine/ItemFluidIdentifier.java | 2 +- .../machine/TileEntityStorageDrum.java | 98 +++++++++++++++++- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/blocks/watz_casing.png | Bin 0 -> 337 bytes .../hbm/textures/blocks/watz_element_side.png | Bin 432 -> 273 bytes .../hbm/textures/blocks/watz_element_top.png | Bin 410 -> 351 bytes .../assets/hbm/textures/gui/fluids2.png | Bin 19419 -> 23645 bytes .../hbm/textures/gui/processing/gui_drum.png | Bin 2370 -> 5837 bytes .../hbm/textures/models/machines/watz.png | Bin 0 -> 1621 bytes 12 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/watz_casing.png create mode 100644 src/main/resources/assets/hbm/textures/models/machines/watz.png diff --git a/src/main/java/com/hbm/handler/FluidTypeHandler.java b/src/main/java/com/hbm/handler/FluidTypeHandler.java index 00c552b15..cddb79d39 100644 --- a/src/main/java/com/hbm/handler/FluidTypeHandler.java +++ b/src/main/java/com/hbm/handler/FluidTypeHandler.java @@ -13,7 +13,8 @@ public class FluidTypeHandler { AMAT, CORROSIVE, CORROSIVE_2, - NO_CONTAINER; + NO_CONTAINER, + NO_ID; } public static enum FluidType { @@ -77,12 +78,15 @@ public class FluidTypeHandler { MERCURY (0x808080, 7, 1, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.mercury"), PAIN (0x938541, 15, 1, 2, 2, 0, 1, EnumSymbol.ACID, "hbmfluid.pain", 300, FluidTrait.CORROSIVE), + + WASTEFLUID (0x544400, 0, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastefluid", FluidTrait.NO_CONTAINER), + WASTEGAS (0xB8B8B8, 1, 2, 2, 2, 0, 1, EnumSymbol.RADIATION, "hbmfluid.wastegas", FluidTrait.NO_CONTAINER), - PLASMA_DT (0xF7AFDE, 8, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_dt", 3250, FluidTrait.NO_CONTAINER), - PLASMA_HD (0xF0ADF4, 9, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_hd", 2500, FluidTrait.NO_CONTAINER), - PLASMA_HT (0xD1ABF2, 10, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_ht", 3000, FluidTrait.NO_CONTAINER), - PLASMA_XM (0xC6A5FF, 11, 1, 2, 0, 4, 1, EnumSymbol.RADIATION, "hbmfluid.plasma_xm", 4250, FluidTrait.NO_CONTAINER), - PLASMA_BF (0xA7F1A3, 12, 1, 2, 4, 5, 4, EnumSymbol.ANTIMATTER, "hbmfluid.plasma_bf", 8500, FluidTrait.NO_CONTAINER); + PLASMA_DT (0xF7AFDE, 8, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_dt", 3250, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID), + PLASMA_HD (0xF0ADF4, 9, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_hd", 2500, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID), + PLASMA_HT (0xD1ABF2, 10, 1, 2, 0, 4, 0, EnumSymbol.RADIATION, "hbmfluid.plasma_ht", 3000, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID), + PLASMA_XM (0xC6A5FF, 11, 1, 2, 0, 4, 1, EnumSymbol.RADIATION, "hbmfluid.plasma_xm", 4250, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID), + PLASMA_BF (0xA7F1A3, 12, 1, 2, 4, 5, 4, EnumSymbol.ANTIMATTER, "hbmfluid.plasma_bf", 8500, FluidTrait.NO_CONTAINER, FluidTrait.NO_ID); //Approximate HEX Color of the fluid, used for pipe rendering @@ -193,5 +197,9 @@ public class FluidTypeHandler { public boolean hasNoContainer() { return this.traits.contains(FluidTrait.NO_CONTAINER); } + + public boolean hasNoID() { + return this.traits.contains(FluidTrait.NO_ID); + } }; } diff --git a/src/main/java/com/hbm/inventory/AnvilSmithingCyanideRecipe.java b/src/main/java/com/hbm/inventory/AnvilSmithingCyanideRecipe.java index 86ff41918..e4429d25e 100644 --- a/src/main/java/com/hbm/inventory/AnvilSmithingCyanideRecipe.java +++ b/src/main/java/com/hbm/inventory/AnvilSmithingCyanideRecipe.java @@ -1,8 +1,5 @@ package com.hbm.inventory; -import java.util.List; - -import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; @@ -37,6 +34,7 @@ public class AnvilSmithingCyanideRecipe extends AnvilSmithingRecipe { public ItemStack getOutput(ItemStack left, ItemStack right) { ItemStack out = left.copy(); + out.stackSize = 1; if(!out.hasTagCompound()) out.stackTagCompound = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 59ad5aceb..82dd736bc 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -51,7 +51,7 @@ public class ItemFluidIdentifier extends Item { public void getSubItems(Item item, CreativeTabs tabs, List list) { for(int i = 0; i < FluidType.values().length; ++i) { - if(!FluidType.values()[i].hasNoContainer()) { + if(!FluidType.values()[i].hasNoID()) { list.add(new ItemStack(item, 1, i)); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java index df63d1493..353489141 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java @@ -1,10 +1,16 @@ package com.hbm.tileentity.machine; +import java.util.ArrayList; import java.util.List; import com.hbm.config.VersatileConfig; +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IItemHazard; +import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; +import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; @@ -17,12 +23,18 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityStorageDrum extends TileEntityMachineBase { - +public class TileEntityStorageDrum extends TileEntityMachineBase implements IFluidSource { + + public FluidTank[] tanks; private static final int[] slots_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; + public List list = new ArrayList(); + public int age = 0; public TileEntityStorageDrum() { super(24); + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(FluidType.WASTEFLUID, 16000, 0); + tanks[1] = new FluidTank(FluidType.WASTEGAS, 16000, 1); } @Override @@ -69,6 +81,19 @@ public class TileEntityStorageDrum extends TileEntityMachineBase { } } + age++; + + if(age >= 20) + age -= 20; + + if(age == 9 || age == 19) { + fillFluidInit(tanks[0].getTankType()); + fillFluidInit(tanks[1].getTankType()); + } + + tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + tanks[1].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + if(rad > 0) { radiate(worldObj, xCoord, yCoord, zCoord, rad); } @@ -153,4 +178,73 @@ public class TileEntityStorageDrum extends TileEntityMachineBase { public int[] getAccessibleSlotsFromSide(int side) { return slots_arr; } + + @Override + public boolean getTact() { + return age < 10; + } + + @Override + public void fillFluidInit(FluidType type) { + fillFluid(this.xCoord - 1, this.yCoord, this.zCoord, getTact(), type); + fillFluid(this.xCoord + 1, this.yCoord, this.zCoord, getTact(), type); + fillFluid(this.xCoord, this.yCoord - 1, this.zCoord, getTact(), type); + fillFluid(this.xCoord, this.yCoord + 1, this.zCoord, getTact(), type); + fillFluid(this.xCoord, this.yCoord, this.zCoord - 1, getTact(), type); + fillFluid(this.xCoord, this.yCoord, this.zCoord + 1, getTact(), type); + } + + @Override + public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { + Library.transmitFluid(x, y, z, newTact, this, worldObj, type); + } + + @Override + public int getFluidFill(FluidType type) { + if(type == tanks[0].getTankType()) + return tanks[0].getFill(); + else if(type == tanks[1].getTankType()) + return tanks[1].getFill(); + + return 0; + } + + @Override + public void setFluidFill(int i, FluidType type) { + if(type == tanks[0].getTankType()) + tanks[0].setFill(i); + else if(type == tanks[1].getTankType()) + tanks[1].setFill(i); + } + + @Override + public List getFluidList(FluidType type) { + return this.list; + } + + @Override + public void clearFluidList(FluidType type) { + this.list.clear(); + } + + @Override + public void setFillstate(int fill, int index) { + if(index < 2 && tanks[index] != null) + tanks[index].setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + if(index < 2 && tanks[index] != null) + tanks[index].setTankType(type); + } + + @Override + public List getTanks() { + List list = new ArrayList(); + list.add(tanks[0]); + list.add(tanks[1]); + + return list; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index e909a8faa..ca8415ac4 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -433,6 +433,8 @@ hbmfluid.superhotsteam=Superverdichteter Dampf hbmfluid.tritium=Tritium hbmfluid.uf6=Uranhexafluorid hbmfluid.ultrahotsteam=Ultraverdichteter Dampf +hbmfluid.hbmfluid.wastefluid=Flüssiger Atommüll +hbmfluid.hbmfluid.wastegas=Gasförmiger Atommüll hbmfluid.water=Wasser hbmfluid.watz=Giftiger Schlamm hbmfluid.xenon=Xenongas diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a0227286c..632c758ef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -501,6 +501,8 @@ hbmfluid.superhotsteam=Super Dense Steam hbmfluid.tritium=Tritium hbmfluid.uf6=Uranium Hexafluoride hbmfluid.ultrahotsteam=Ultra Dense Steam +hbmfluid.hbmfluid.wastefluid=Liquid Nuclear Waste +hbmfluid.hbmfluid.wastegas=Gaseous Nuclear Waste hbmfluid.water=Water hbmfluid.watz=Poisonous Mud hbmfluid.xenon=Xenon Gas diff --git a/src/main/resources/assets/hbm/textures/blocks/watz_casing.png b/src/main/resources/assets/hbm/textures/blocks/watz_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1afeea7116850f2505d7a231d81c33c0d57550 GIT binary patch literal 337 zcmV-X0j~auP)b-!FD`f|=Osw#e~Q(Yq>xwim!^Ep~;j4^}| z08m;JLqI8o(i(uWDDZ6yKn#KB&88E0-R-z`4r2@e&H0S?o){xqYs#|38iTbqUw%Ix zI|t4=Ubb7VCKFPOoV}+Sj{yjmOMcKa&6n-|(9Lv;9aR+%i$z|hl#xJ6**;34KF9s; zX}#{g@V4I%Vvr#YWuS_p6Bx?ib~ft-{yT$HT@PmPxLRRFWH18}`GYI~97H&Xe2=rW j^ycv~;$wui{SoI63Kr^aE3h!U00000NkvXXu0mjfsh^27 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/watz_element_side.png b/src/main/resources/assets/hbm/textures/blocks/watz_element_side.png index afc33af44bd7e4e305ed8090673ff13b8ee11147..f300d342836da71e39cc60636e67b3bc4b6f1fea 100644 GIT binary patch delta 256 zcmV+b0ssE61Caud8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0LV#1K~y-6rBcfd z!ypXvrm9k3pHaTJ-`Jkv(l#Q=4iji>u(sPFLO6*Lwr|rkDKo=b3+EiHwJ^pYU;#JA zz&N+h9MVh8J&$_PE3qmXz^E}5B z$_!Jwu0zss9Q(eX=Sc_%qw(Jd&7{WA9=|j(Icj5 zLKR)y1a^X$ZGYSTJ%m`g@-Nk1(3%=U8|nx&6d#m9fkM!&lT;K1bm<0#_~;Y4k++8PhH!dm+VFbd?gDE2ut00000 LNkvXXu0mjf71K$FW8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0TxL_K~y-6mD8cl zgD@C{;djf-@F)^6h#3S5f#Ke!XJ@&Osfn2h)DjdaiYqAkbb_q^AGRf3lbVz7H0hIe z)3&Xf=NU2ifouvZyi7zUhkY<~g!iWmx(=ef_a zEL#vyr;`f>vq;u@=r_a=uyGt2#}R-eN&XN+!Cqy6X_~&j#GesE!IC8LSscd;;_-O= h`kmKcYwReBcmi?CcS`t?1h)VH002ovPDHLkV1il#mXH7d delta 395 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 delta 4691 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 B!cPDI diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_drum.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_drum.png index 303794e68a33a38366d71b8fd2148dd153876ed7..47855e142a00ff6499ab2773476201c8ff324445 100644 GIT binary patch literal 5837 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 amtsooJ#Eo?>@Ijd4fgM~HZL=EzxZF9-DWcY literal 2370 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