Files
CustomNPC-Plus/src/main/java/noppes/npcs/scripted/ScriptTileEntity.java
T

74 lines
1.9 KiB
Java
Raw Normal View History

2022-05-03 23:09:21 -05:00
package noppes.npcs.scripted;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
2022-11-15 15:25:53 -05:00
import noppes.npcs.api.*;
2022-05-03 23:09:21 -05:00
public class ScriptTileEntity<T extends TileEntity> implements ITileEntity {
protected T tileEntity;
protected IWorld world;
2022-05-03 23:09:21 -05:00
public ScriptTileEntity(T tileEntity) {
this.tileEntity = tileEntity;
this.world = NpcAPI.Instance().getIWorld(tileEntity.getWorldObj());
}
2022-05-03 23:09:21 -05:00
2025-03-12 20:12:01 -04:00
public int getBlockMetadata() {
2022-05-03 23:09:21 -05:00
return tileEntity.getBlockMetadata();
}
2025-03-12 20:12:01 -04:00
public IWorld getWorld() {
return world;
}
public void setWorld(IWorld world) {
this.tileEntity.setWorldObj(world.getMCWorld());
this.world = world;
2022-05-03 23:09:21 -05:00
}
public TileEntity getMCTileEntity() {
return this.tileEntity;
}
2025-03-12 20:12:01 -04:00
public void markDirty() {
this.tileEntity.markDirty();
}
2025-03-12 20:12:01 -04:00
public void readFromNBT(INbt nbt) {
2022-05-03 23:09:21 -05:00
this.tileEntity.readFromNBT(nbt.getMCNBT());
}
2025-03-12 20:12:01 -04:00
public double getDistanceFrom(double x, double y, double z) {
return this.tileEntity.getDistanceFrom(x, y, z);
2022-05-03 23:09:21 -05:00
}
2025-03-12 20:12:01 -04:00
public double getDistanceFrom(IPos pos) {
return this.getDistanceFrom(pos.getXD(), pos.getYD(), pos.getZD());
}
2025-03-12 20:12:01 -04:00
public IBlock getBlockType() {
return NpcAPI.Instance().getIBlock(world, tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
2022-05-03 23:09:21 -05:00
}
2025-03-12 20:12:01 -04:00
public boolean isInvalid() {
2022-05-03 23:09:21 -05:00
return tileEntity.isInvalid();
}
2025-03-12 20:12:01 -04:00
public void invalidate() {
2022-05-03 23:09:21 -05:00
tileEntity.invalidate();
}
public void validate() {
tileEntity.validate();
}
2025-03-12 20:12:01 -04:00
public void updateContainingBlockInfo() {
2022-05-03 23:09:21 -05:00
tileEntity.updateContainingBlockInfo();
}
public INbt getNBT() {
NBTTagCompound compound = new NBTTagCompound();
this.tileEntity.writeToNBT(compound);
return NpcAPI.Instance().getINbt(compound);
}
}