drill air block fix, proper cooling tower particle condition

This commit is contained in:
Bob 2022-12-18 01:52:04 +01:00
parent e5fbdf0a38
commit e609272ec5
11 changed files with 147 additions and 135 deletions

View File

@ -12,7 +12,6 @@ import com.hbm.handler.GunConfiguration;
import com.hbm.handler.HbmKeybinds; import com.hbm.handler.HbmKeybinds;
import com.hbm.interfaces.IHoldableWeapon; import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.interfaces.IItemHUD; import com.hbm.interfaces.IItemHUD;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.GunAnimationPacket; import com.hbm.packet.GunAnimationPacket;
import com.hbm.packet.GunButtonPacket; import com.hbm.packet.GunButtonPacket;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
@ -167,7 +166,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
return getBeltSize(player, getBeltType(player, stack, main)) > 0; return getBeltSize(player, getBeltType(player, stack, main)) > 0;
} else { } else {
return getMag(stack) >= 0 + config.roundsPerCycle; //return getMag(stack) >= 0 + config.roundsPerCycle;
return getMag(stack) > 0;
} }
} }
@ -220,6 +220,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
for(int k = 0; k < altConfig.roundsPerCycle; k++) { for(int k = 0; k < altConfig.roundsPerCycle; k++) {
if(altConfig.reloadType != altConfig.RELOAD_NONE && !hasAmmo(stack, player, true))
break;
if(config.bulletsMax > config.bulletsMin) if(config.bulletsMax > config.bulletsMin)
bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin); bullets += world.rand.nextInt(config.bulletsMax - config.bulletsMin);

View File

@ -97,6 +97,7 @@ import com.hbm.tileentity.network.*;
import com.hbm.tileentity.turret.*; import com.hbm.tileentity.turret.*;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.BlockPos;
import com.hbm.wiaj.cannery.Jars;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry;
@ -122,6 +123,8 @@ public class ClientProxy extends ServerProxy {
registerEntityRenderer(); registerEntityRenderer();
registerBlockRenderer(); registerBlockRenderer();
Jars.initJars();
RenderingRegistry.addNewArmourRendererPrefix("5"); RenderingRegistry.addNewArmourRendererPrefix("5");
RenderingRegistry.addNewArmourRendererPrefix("6"); RenderingRegistry.addNewArmourRendererPrefix("6");
RenderingRegistry.addNewArmourRendererPrefix("7"); RenderingRegistry.addNewArmourRendererPrefix("7");

View File

@ -657,9 +657,13 @@ public class ModEventHandlerClient {
list.add(EnumChatFormatting.GOLD + "Adds multiplier " + entry.value + " to the custom nuke stage " + entry.type); list.add(EnumChatFormatting.GOLD + "Adds multiplier " + entry.value + " to the custom nuke stage " + entry.type);
} }
CanneryBase cannery = Jars.canneries.get(comp); try {
if(cannery != null) { CanneryBase cannery = Jars.canneries.get(comp);
list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("cannery.f1")); if(cannery != null) {
list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("cannery.f1"));
}
} catch(Exception ex) {
list.add(EnumChatFormatting.RED + "Error loading cannery: " + ex.getLocalizedMessage());
} }
/*ItemStack copy = stack.copy(); /*ItemStack copy = stack.copy();

View File

@ -10,17 +10,15 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.main.ModEventHandler; import com.hbm.tileentity.INBTPacketReceiver;
import com.hbm.main.ModEventHandlerImpact;
import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.TileEntityLoadedBase;
import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.fluid.IFluidStandardTransceiver;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.EnumSkyBlock;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver { public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, INBTPacketReceiver {
public int age = 0; public int age = 0;
public FluidTank[] tanks; public FluidTank[] tanks;
@ -44,12 +42,15 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA
age = 0; age = 0;
} }
this.tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); if(this.waterTimer > 0)
this.tanks[1].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); this.waterTimer--;
int convert = Math.min(tanks[0].getFill(), tanks[1].getMaxFill() - tanks[1].getFill()); int convert = Math.min(tanks[0].getFill(), tanks[1].getMaxFill() - tanks[1].getFill());
tanks[0].setFill(tanks[0].getFill() - convert); tanks[0].setFill(tanks[0].getFill() - convert);
if(convert > 0)
this.waterTimer = 20;
int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord); int light = this.worldObj.getSavedLightValue(EnumSkyBlock.Sky, this.xCoord, this.yCoord, this.zCoord);
if(MainRegistry.proxy.getImpactFire(worldObj) > 0 && light > 7) { // Make both steam and water evaporate during firestorms... if(MainRegistry.proxy.getImpactFire(worldObj) > 0 && light > 7) { // Make both steam and water evaporate during firestorms...
@ -63,16 +64,21 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA
fillFluidInit(tanks[1].getTankType()); fillFluidInit(tanks[1].getTankType());
} else { NBTTagCompound data = new NBTTagCompound();
this.tanks[0].writeToNBT(data, "0");
if(tanks[0].getFill() > 0) { this.tanks[1].writeToNBT(data, "1");
this.waterTimer = 20; data.setByte("timer", (byte) this.waterTimer);
} else if(this.waterTimer > 0){ INBTPacketReceiver.networkPack(this, data, 150);
this.waterTimer--;
}
} }
} }
@Override
public void networkUnpack(NBTTagCompound nbt) {
this.tanks[0].readFromNBT(nbt, "0");
this.tanks[1].readFromNBT(nbt, "1");
this.waterTimer = nbt.getByte("timer");
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt); super.readFromNBT(nbt);

View File

@ -1,9 +1,6 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.Spaghetti;
import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.UpgradeManager;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library; import com.hbm.lib.Library;
@ -22,7 +19,6 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
@ -329,7 +325,7 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen
* */ * */
public boolean tryDrill(int x, int y, int z) { public boolean tryDrill(int x, int y, int z) {
if(worldObj.getBlock(x, y, z) == Blocks.air || !isMinableOreo(x, y, z)) if(worldObj.getBlock(x, y, z).isAir(worldObj, x, y, z) || !isMinableOreo(x, y, z))
return false; return false;
if(worldObj.getBlock(x, y, z).getMaterial().isLiquid()) { if(worldObj.getBlock(x, y, z).getMaterial().isLiquid()) {
worldObj.func_147480_a(x, y, z, false); worldObj.func_147480_a(x, y, z, false);

View File

@ -419,7 +419,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
} }
private boolean canBreak(Block block, int x, int y, int z) { private boolean canBreak(Block block, int x, int y, int z) {
return block != Blocks.air && block.getBlockHardness(worldObj, x, y, z) >= 0 && !block.getMaterial().isLiquid() && block != Blocks.bedrock; return block.isAir(worldObj, x, y, z) && block.getBlockHardness(worldObj, x, y, z) >= 0 && !block.getMaterial().isLiquid() && block != Blocks.bedrock;
} }
public int getRange() { public int getRange() {

View File

@ -3,7 +3,6 @@ package com.hbm.tileentity.machine;
import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.entity.missile.EntityMinerRocket;
import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.explosion.ExplosionNukeSmall;
import com.hbm.items.ISatChip; import com.hbm.items.ISatChip;
import com.hbm.items.machine.ItemSatChip;
import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.SatelliteSavedData;
import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.Satellite;
import com.hbm.saveddata.satellites.SatelliteMiner; import com.hbm.saveddata.satellites.SatelliteMiner;
@ -49,21 +48,19 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
@Override @Override
public ItemStack getStackInSlotOnClosing(int i) { public ItemStack getStackInSlotOnClosing(int i) {
if(slots[i] != null) if(slots[i] != null) {
{
ItemStack itemStack = slots[i]; ItemStack itemStack = slots[i];
slots[i] = null; slots[i] = null;
return itemStack; return itemStack;
} else { } else {
return null; return null;
} }
} }
@Override @Override
public void setInventorySlotContents(int i, ItemStack itemStack) { public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack; slots[i] = itemStack;
if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
{
itemStack.stackSize = getInventoryStackLimit(); itemStack.stackSize = getInventoryStackLimit();
} }
} }
@ -89,11 +86,10 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
@Override @Override
public boolean isUseableByPlayer(EntityPlayer player) { public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
{
return false; return false;
}else{ } else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
} }
} }
@ -105,8 +101,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
@Override @Override
public boolean isItemValidForSlot(int i, ItemStack itemStack) { public boolean isItemValidForSlot(int i, ItemStack itemStack) {
if(i == 2 || i == 3 || i == 4 || i == 5) if(i == 2 || i == 3 || i == 4 || i == 5) {
{
return false; return false;
} }
@ -115,17 +110,14 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
@Override @Override
public ItemStack decrStackSize(int i, int j) { public ItemStack decrStackSize(int i, int j) {
if(slots[i] != null) if(slots[i] != null) {
{ if(slots[i].stackSize <= j) {
if(slots[i].stackSize <= j)
{
ItemStack itemStack = slots[i]; ItemStack itemStack = slots[i];
slots[i] = null; slots[i] = null;
return itemStack; return itemStack;
} }
ItemStack itemStack1 = slots[i].splitStack(j); ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) if(slots[i].stackSize == 0) {
{
slots[i] = null; slots[i] = null;
} }
@ -142,12 +134,10 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
slots = new ItemStack[getSizeInventory()]; slots = new ItemStack[getSizeInventory()];
for(int i = 0; i < list.tagCount(); i++) for(int i = 0; i < list.tagCount(); i++) {
{
NBTTagCompound nbt1 = list.getCompoundTagAt(i); NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot"); byte b0 = nbt1.getByte("slot");
if(b0 >= 0 && b0 < slots.length) if(b0 >= 0 && b0 < slots.length) {
{
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
} }
} }
@ -158,12 +148,10 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
super.writeToNBT(nbt); super.writeToNBT(nbt);
NBTTagList list = new NBTTagList(); NBTTagList list = new NBTTagList();
for(int i = 0; i < slots.length; i++) for(int i = 0; i < slots.length; i++) {
{ if(slots[i] != null) {
if(slots[i] != null)
{
NBTTagCompound nbt1 = new NBTTagCompound(); NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte)i); nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1); slots[i].writeToNBT(nbt1);
list.appendTag(nbt1); list.appendTag(nbt1);
} }
@ -172,10 +160,9 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
} }
@Override @Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
{ return access;
return access; }
}
@Override @Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) { public boolean canInsertItem(int i, ItemStack itemStack, int j) {
@ -195,66 +182,66 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
if(data == null) if(data == null)
data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites");
if(data == null) { if(data == null) {
worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData());
data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites");
} }
data.markDirty(); data.markDirty();
if(data != null && slots[15] != null) { if(data != null && slots[15] != null) {
int freq = ISatChip.getFreqS(slots[15]); int freq = ISatChip.getFreqS(slots[15]);
Satellite sat = data.getSatFromFreq(freq); Satellite sat = data.getSatFromFreq(freq);
int delay = 10 * 60 * 1000; int delay = 10 * 60 * 1000;
if(sat instanceof SatelliteMiner) { if(sat instanceof SatelliteMiner) {
SatelliteMiner miner = (SatelliteMiner)sat; SatelliteMiner miner = (SatelliteMiner) sat;
if(miner.lastOp + delay < System.currentTimeMillis()) { if(miner.lastOp + delay < System.currentTimeMillis()) {
EntityMinerRocket rocket = new EntityMinerRocket(worldObj); EntityMinerRocket rocket = new EntityMinerRocket(worldObj);
rocket.posX = xCoord + 0.5; rocket.posX = xCoord + 0.5;
rocket.posY = 300; rocket.posY = 300;
rocket.posZ = zCoord + 0.5; rocket.posZ = zCoord + 0.5;
rocket.satelliteClassName = miner.getClass().getName(); rocket.satelliteClassName = miner.getClass().getName();
rocket.getDataWatcher().updateObject(17, freq); rocket.getDataWatcher().updateObject(17, freq);
worldObj.spawnEntityInWorld(rocket); worldObj.spawnEntityInWorld(rocket);
miner.lastOp = System.currentTimeMillis(); miner.lastOp = System.currentTimeMillis();
data.markDirty(); data.markDirty();
} }
} }
} }
List<Entity> list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 0.25 + 0.5, yCoord + 0.75, zCoord - 0.25 + 0.5, xCoord + 0.25 + 0.5, yCoord + 2, zCoord + 0.25 + 0.5)); List<Entity> list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 0.25 + 0.5, yCoord + 0.75, zCoord - 0.25 + 0.5, xCoord + 0.25 + 0.5, yCoord + 2, zCoord + 0.25 + 0.5));
for(Entity e : list) { for(Entity e : list) {
if(e instanceof EntityMinerRocket) { if(e instanceof EntityMinerRocket) {
EntityMinerRocket rocket = (EntityMinerRocket)e; EntityMinerRocket rocket = (EntityMinerRocket) e;
if(slots[15] != null && ISatChip.getFreqS(slots[15]) != rocket.getDataWatcher().getWatchableObjectInt(17)) { if(slots[15] != null && ISatChip.getFreqS(slots[15]) != rocket.getDataWatcher().getWatchableObjectInt(17)) {
rocket.setDead(); rocket.setDead();
ExplosionNukeSmall.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, ExplosionNukeSmall.tots); ExplosionNukeSmall.explode(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, ExplosionNukeSmall.tots);
break; break;
} }
if(rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { if(rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) {
unloadCargo(rocket.satelliteClassName); unloadCargo(rocket.satelliteClassName);
} }
} }
} }
ejectInto(xCoord + 2, yCoord, zCoord); ejectInto(xCoord + 2, yCoord, zCoord);
ejectInto(xCoord - 2, yCoord, zCoord); ejectInto(xCoord - 2, yCoord, zCoord);
ejectInto(xCoord, yCoord, zCoord + 2); ejectInto(xCoord, yCoord, zCoord + 2);
ejectInto(xCoord, yCoord, zCoord - 2); ejectInto(xCoord, yCoord, zCoord - 2);
} }
} }
@ -268,7 +255,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
for(int i = 0; i < items; i++) { for(int i = 0; i < items; i++) {
ItemStack stack = ((WeightedRandomObject)WeightedRandom.getRandomItem(rand, cargo)).asStack(); ItemStack stack = ((WeightedRandomObject)WeightedRandom.getRandomItem(rand, cargo)).asStack();
addToInv(stack); addToInv(stack.copy());
} }
} }
@ -276,12 +263,14 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
for(int i = 0; i < 15; i++) { for(int i = 0; i < 15; i++) {
if(slots[i] != null && slots[i].getItem() == stack.getItem() && slots[i].getItemDamage() == stack.getItemDamage() && if(slots[i] != null && slots[i].getItem() == stack.getItem() && slots[i].getItemDamage() == stack.getItemDamage() && slots[i].stackSize < slots[i].getMaxStackSize()) {
slots[i].stackSize < slots[i].getMaxStackSize()) {
slots[i].stackSize++; int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize);
return; slots[i].stackSize += toAdd;
stack.stackSize -= toAdd;
if(stack.stackSize <= 0) return;
} }
} }
@ -351,16 +340,28 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
} }
} }
AxisAlignedBB bb = null;
@Override @Override
public AxisAlignedBB getRenderBoundingBox() { public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord - 1,
yCoord,
zCoord - 1,
xCoord + 2,
yCoord + 1,
zCoord + 2
);
}
return bb;
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() public double getMaxRenderDistanceSquared() {
{
return 65536.0D; return 65536.0D;
} }
} }

View File

@ -3,7 +3,6 @@ package com.hbm.tileentity.machine;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;

View File

@ -9,7 +9,7 @@ public class Jars {
public static HashMap<ComparableStack, CanneryBase> canneries = new HashMap(); public static HashMap<ComparableStack, CanneryBase> canneries = new HashMap();
static { public static void initJars() {
canneries.put(new ComparableStack(ModBlocks.heater_firebox), new CanneryFirebox()); canneries.put(new ComparableStack(ModBlocks.heater_firebox), new CanneryFirebox());
canneries.put(new ComparableStack(ModBlocks.machine_stirling), new CanneryStirling()); canneries.put(new ComparableStack(ModBlocks.machine_stirling), new CanneryStirling());
canneries.put(new ComparableStack(ModBlocks.machine_stirling_steel), new CanneryStirling()); canneries.put(new ComparableStack(ModBlocks.machine_stirling_steel), new CanneryStirling());

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB