Files
CustomNPC-Plus/src/main/java/noppes/npcs/controllers/data/TransportLocation.java
T
2025-03-13 17:14:45 -04:00

109 lines
2.5 KiB
Java

package noppes.npcs.controllers.data;
import net.minecraft.nbt.NBTTagCompound;
import noppes.npcs.api.IPos;
import noppes.npcs.api.handler.data.ITransportLocation;
import noppes.npcs.controllers.TransportController;
import noppes.npcs.scripted.NpcAPI;
public class TransportLocation implements ITransportLocation {
public int id = -1;
public String name = "default name";
public double posX;
public double posY;
public double posZ;
public int type = 0;
public int dimension = 0;
public TransportCategory category;
public void readNBT(NBTTagCompound compound) {
if (compound == null)
return;
id = compound.getInteger("Id");
posX = compound.getDouble("PosX");
posY = compound.getDouble("PosY");
posZ = compound.getDouble("PosZ");
type = compound.getInteger("Type");
dimension = compound.getInteger("Dimension");
name = compound.getString("Name");
}
public NBTTagCompound writeNBT() {
NBTTagCompound compound = new NBTTagCompound();
compound.setInteger("Id", id);
compound.setDouble("PosX", posX);
compound.setDouble("PosY", posY);
compound.setDouble("PosZ", posZ);
compound.setInteger("Type", type);
compound.setInteger("Dimension", dimension);
compound.setString("Name", name);
return compound;
}
public boolean isDefault() {
return type == 1;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setDimension(int dimension) {
this.dimension = dimension;
}
public int getDimension() {
return dimension;
}
public void setType(int type) {
this.type = type;
}
public int getType() {
return type;
}
public void setPosition(int x, int y, int z) {
this.posX = x;
this.posY = y;
this.posZ = z;
}
public void setPosition(IPos pos) {
this.posX = pos.getX();
this.posY = pos.getY();
this.posZ = pos.getZ();
}
public IPos getPos() {
return NpcAPI.Instance().getIPos(this.posX, this.posY, this.posZ);
}
public double getX() {
return posX;
}
public double getY() {
return posY;
}
public double getZ() {
return posZ;
}
public void save() {
TransportController.getInstance().saveLocation(this.category.id, this);
}
}