Hbm-s-Nuclear-Tech-GIT/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java
2024-05-03 14:48:17 +02:00

52 lines
1.7 KiB
Java

package com.hbm.tileentity;
import com.hbm.packet.BufPacket;
import com.hbm.packet.NBTPacket;
import com.hbm.packet.PacketDispatcher;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import io.netty.buffer.ByteBuf;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.FluidTank;
public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver, IBufPacketReceiver {
public TileEntityTickingBase() { }
public abstract String getInventoryName();
public int getGaugeScaled(int i, FluidTank tank) {
return tank.getFluidAmount() * i / tank.getCapacity();
}
//abstracting this method forces child classes to implement it
//so i don't have to remember the fucking method name
//was it update? onUpdate? updateTile? did it have any args?
//shit i don't know man
@Override
public abstract void updateEntity();
@Deprecated public void networkPack(NBTTagCompound nbt, int range) {
if(!worldObj.isRemote)
PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range));
}
@Deprecated public void networkUnpack(NBTTagCompound nbt) { }
@Deprecated
public void handleButtonPacket(int value, int meta) { }
public void networkPackNT(int range) {
if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range));
}
@Override public void serialize(ByteBuf buf) {
buf.writeBoolean(muffled);
}
@Override public void deserialize(ByteBuf buf) {
this.muffled = buf.readBoolean();
}
}