package mods.eln.ghost;
import mods.eln.Eln;
import mods.eln.misc.Coordonate;
import mods.eln.misc.Direction;
import mods.eln.misc.INBTTReady;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
public class GhostElement implements INBTTReady {
Coordonate elementCoordonate;
Coordonate observatorCoordonate;
int UUID;
public Coordonate getObservatorCoordonate() {
return observatorCoordonate;
}
public GhostElement() {
}
public GhostElement(Coordonate elementCoordonate, Coordonate observatorCoordonate, int UUID) {
this.elementCoordonate = elementCoordonate;
this.observatorCoordonate = observatorCoordonate;
this.UUID = UUID;
}
public int getUUID() {
return UUID;
}
public void breakBlock() {
Eln.ghostManager.removeGhost(elementCoordonate);
GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordonate);
if (observer != null) observer.ghostDestroyed(UUID);
}
public boolean onBlockActivated(EntityPlayer entityPlayer, Direction side, float vx, float vy, float vz) {
GhostObserver observer = Eln.ghostManager.getObserver(observatorCoordonate);
if (observer != null) return observer.ghostBlockActivated(UUID, entityPlayer, side, vx, vy, vz);
return false;
}
@Override
public void readFromNBT(NBTTagCompound nbt, String str) {
elementCoordonate = new Coordonate(nbt, str + "elemCoord");
observatorCoordonate = new Coordonate(nbt, str + "obserCoord");
UUID = nbt.getInteger(str + "UUID");
}
@Override
public void writeToNBT(NBTTagCompound nbt, String str) {
elementCoordonate.writeToNBT(nbt, str + "elemCoord");
observatorCoordonate.writeToNBT(nbt, str + "obserCoord");
nbt.setInteger(str + "UUID", UUID);
}
}