minor amounts of tomfoolery

This commit is contained in:
Bob 2021-08-07 17:51:51 +02:00
parent caecbb1d80
commit d5e3bf2559
12 changed files with 116 additions and 12 deletions

View File

@ -13,7 +13,8 @@ public class FluidTypeHandler {
AMAT, AMAT,
CORROSIVE, CORROSIVE,
CORROSIVE_2, CORROSIVE_2,
NO_CONTAINER; NO_CONTAINER,
NO_ID;
} }
public static enum FluidType { public static enum FluidType {
@ -77,12 +78,15 @@ public class FluidTypeHandler {
MERCURY (0x808080, 7, 1, 2, 2, 0, 0, EnumSymbol.NONE, "hbmfluid.mercury"), 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), 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_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), 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), 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), 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); 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 //Approximate HEX Color of the fluid, used for pipe rendering
@ -193,5 +197,9 @@ public class FluidTypeHandler {
public boolean hasNoContainer() { public boolean hasNoContainer() {
return this.traits.contains(FluidTrait.NO_CONTAINER); return this.traits.contains(FluidTrait.NO_CONTAINER);
} }
public boolean hasNoID() {
return this.traits.contains(FluidTrait.NO_ID);
}
}; };
} }

View File

@ -1,8 +1,5 @@
package com.hbm.inventory; package com.hbm.inventory;
import java.util.List;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
@ -37,6 +34,7 @@ public class AnvilSmithingCyanideRecipe extends AnvilSmithingRecipe {
public ItemStack getOutput(ItemStack left, ItemStack right) { public ItemStack getOutput(ItemStack left, ItemStack right) {
ItemStack out = left.copy(); ItemStack out = left.copy();
out.stackSize = 1;
if(!out.hasTagCompound()) if(!out.hasTagCompound())
out.stackTagCompound = new NBTTagCompound(); out.stackTagCompound = new NBTTagCompound();

View File

@ -51,7 +51,7 @@ public class ItemFluidIdentifier extends Item {
public void getSubItems(Item item, CreativeTabs tabs, List list) { public void getSubItems(Item item, CreativeTabs tabs, List list) {
for(int i = 0; i < FluidType.values().length; ++i) { 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)); list.add(new ItemStack(item, 1, i));
} }
} }

View File

@ -1,10 +1,16 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hbm.config.VersatileConfig; 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.interfaces.IItemHazard;
import com.hbm.inventory.FluidTank;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil;
import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.ContaminationType;
@ -17,12 +23,18 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; 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 }; 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<IFluidAcceptor> list = new ArrayList();
public int age = 0;
public TileEntityStorageDrum() { public TileEntityStorageDrum() {
super(24); super(24);
tanks = new FluidTank[2];
tanks[0] = new FluidTank(FluidType.WASTEFLUID, 16000, 0);
tanks[1] = new FluidTank(FluidType.WASTEGAS, 16000, 1);
} }
@Override @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) { if(rad > 0) {
radiate(worldObj, xCoord, yCoord, zCoord, rad); radiate(worldObj, xCoord, yCoord, zCoord, rad);
} }
@ -153,4 +178,73 @@ public class TileEntityStorageDrum extends TileEntityMachineBase {
public int[] getAccessibleSlotsFromSide(int side) { public int[] getAccessibleSlotsFromSide(int side) {
return slots_arr; 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<IFluidAcceptor> 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<FluidTank> getTanks() {
List<FluidTank> list = new ArrayList();
list.add(tanks[0]);
list.add(tanks[1]);
return list;
}
} }

View File

@ -433,6 +433,8 @@ hbmfluid.superhotsteam=Superverdichteter Dampf
hbmfluid.tritium=Tritium hbmfluid.tritium=Tritium
hbmfluid.uf6=Uranhexafluorid hbmfluid.uf6=Uranhexafluorid
hbmfluid.ultrahotsteam=Ultraverdichteter Dampf hbmfluid.ultrahotsteam=Ultraverdichteter Dampf
hbmfluid.hbmfluid.wastefluid=Flüssiger Atommüll
hbmfluid.hbmfluid.wastegas=Gasförmiger Atommüll
hbmfluid.water=Wasser hbmfluid.water=Wasser
hbmfluid.watz=Giftiger Schlamm hbmfluid.watz=Giftiger Schlamm
hbmfluid.xenon=Xenongas hbmfluid.xenon=Xenongas

View File

@ -501,6 +501,8 @@ hbmfluid.superhotsteam=Super Dense Steam
hbmfluid.tritium=Tritium hbmfluid.tritium=Tritium
hbmfluid.uf6=Uranium Hexafluoride hbmfluid.uf6=Uranium Hexafluoride
hbmfluid.ultrahotsteam=Ultra Dense Steam hbmfluid.ultrahotsteam=Ultra Dense Steam
hbmfluid.hbmfluid.wastefluid=Liquid Nuclear Waste
hbmfluid.hbmfluid.wastegas=Gaseous Nuclear Waste
hbmfluid.water=Water hbmfluid.water=Water
hbmfluid.watz=Poisonous Mud hbmfluid.watz=Poisonous Mud
hbmfluid.xenon=Xenon Gas hbmfluid.xenon=Xenon Gas

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB