mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 22:27:32 +00:00
109 lines
2.2 KiB
Java
109 lines
2.2 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);
|
|
}
|
|
}
|