This commit is contained in:
Bob 2025-11-30 22:46:20 +01:00
parent 3101c9b3b9
commit 4141b424a9
7 changed files with 18 additions and 64 deletions

View File

@ -10,3 +10,5 @@
## Fixed
* Fixed gamebreaking issue causing crashes and world corruption where the multi detonator had its tooltip misspelled
* Fixed panzerschreck equip animation not speeding up with the sawed off mod
* Fixed FENSU not keeping its charge when broken

View File

@ -7,7 +7,6 @@ import com.hbm.config.BombConfig;
import com.hbm.entity.effect.EntityCloudFleija;
import com.hbm.entity.effect.EntityCloudFleijaRainbow;
import com.hbm.entity.effect.EntityNukeTorex;
import com.hbm.entity.grenade.EntityGrenadeZOMG;
import com.hbm.entity.logic.EntityBalefire;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.entity.logic.EntityNukeExplosionMK5;
@ -144,8 +143,6 @@ public class NukeCustom extends BlockContainer implements IBomb {
/// EUPHEMIUM ///
if(euph > 0) {
EntityGrenadeZOMG zomg = new EntityGrenadeZOMG(worldObj, xCoord, yCoord, zCoord);
EntityNukeExplosionMK3 ex = new EntityNukeExplosionMK3(worldObj);
ex.posX = xCoord;
ex.posY = yCoord;

View File

@ -6,13 +6,12 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ILookOverlay;
import com.hbm.blocks.IPersistentInfoProvider;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.machine.storage.TileEntityMachineBattery;
import com.hbm.tileentity.machine.storage.TileEntityMachineFENSU;
import com.hbm.util.BobMathUtil;
import com.hbm.util.i18n.I18nUtil;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@ -30,43 +29,21 @@ public class MachineFENSU extends BlockDummyable implements ILookOverlay, IPersi
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12)
return new TileEntityMachineFENSU();
if(meta >= 12) return new TileEntityMachineFENSU();
return null;
}
@Override
public int[] getDimensions() {
return new int[] {4, 0, 1, 1, 2, 2};
}
@Override
public int getOffset() {
return 1;
}
@Override public int[] getDimensions() { return new int[] {4, 0, 1, 1, 2, 2}; }
@Override public int getOffset() { return 1; }
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
TileEntityMachineFENSU entity = (TileEntityMachineFENSU) world.getTileEntity(pos[0], pos[1], pos[2]);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
}
return true;
} else {
return false;
return this.standardOpenBehavior(world, x, y, z, player, 0);
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
return IPersistentNBT.getDrops(world, x, y, z, this);
}
@Override

View File

@ -24,7 +24,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.StatList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting;
@ -88,27 +87,11 @@ public class MachineRefinery extends BlockDummyable implements IPersistentInfoPr
return 1;
}
@Override
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
if(!player.capabilities.isCreativeMode) {
harvesters.set(player);
this.dropBlockAsItem(world, x, y, z, meta, 0);
harvesters.set(null);
}
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
return IPersistentNBT.getDrops(world, x, y, z, this);
}
@Override
public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) {
player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1);
player.addExhaustion(0.025F);
}
@Override
public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) {

View File

@ -29,6 +29,7 @@ public class WeaponModPanzerschreckSawedOff extends WeaponModBase {
public <T> T eval(T base, ItemStack gun, String key, Object parent) {
if(key == GunConfig.I_DRAWDURATION) return cast(5, base);
if(key == Receiver.CON_ONFIRE) { return (T) LAMBDA_FIRE; }
if(key == GunConfig.FUN_ANIMNATIONS) { return (T) LAMBDA_PANZERSCHRECK_ANIMS; }
return base;
}

View File

@ -42,8 +42,10 @@ public interface IPersistentNBT {
public static void restoreData(World world, int x, int y, int z, ItemStack stack) {
try {
if(!stack.hasTagCompound()) return;
IPersistentNBT tile = (IPersistentNBT) world.getTileEntity(x, y, z);
tile.readNBT(stack.stackTagCompound);
TileEntity tile = world.getTileEntity(x, y, z);
if(!(tile instanceof IPersistentNBT)) return;
IPersistentNBT persistent = (IPersistentNBT) tile;
persistent.readNBT(stack.stackTagCompound);
} catch(Exception ex) {
ex.printStackTrace();
}

View File

@ -475,15 +475,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
}
public void disassemble() {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class,
AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 10, 50));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.achMeltdown);
}
}
@Override