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,10 +657,14 @@ 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);
} }
try {
CanneryBase cannery = Jars.canneries.get(comp); CanneryBase cannery = Jars.canneries.get(comp);
if(cannery != null) { if(cannery != null) {
list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("cannery.f1")); 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();
List<MaterialStack> materials = Mats.getMaterialsFromItem(copy); List<MaterialStack> materials = Mats.getMaterialsFromItem(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,14 +64,19 @@ 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");
this.tanks[1].writeToNBT(data, "1");
data.setByte("timer", (byte) this.waterTimer);
INBTPacketReceiver.networkPack(this, data, 150);
}
}
if(tanks[0].getFill() > 0) { @Override
this.waterTimer = 20; public void networkUnpack(NBTTagCompound nbt) {
} else if(this.waterTimer > 0){ this.tanks[0].readFromNBT(nbt, "0");
this.waterTimer--; this.tanks[1].readFromNBT(nbt, "1");
} this.waterTimer = nbt.getByte("timer");
}
} }
@Override @Override

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,8 +48,7 @@ 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;
@ -62,8 +60,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent
@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,8 +86,7 @@ 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,10 +148,8 @@ 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);
@ -172,8 +160,7 @@ 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;
} }
@ -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