Terra/src/main/java/com/dfsek/terra/structure/StructureContainedBlock.java

55 lines
1.4 KiB
Java

package com.dfsek.terra.structure;
import com.dfsek.terra.structure.serialize.SerializableBlockData;
import com.dfsek.terra.structure.serialize.block.SerializableBlockState;
import com.dfsek.terra.structure.serialize.block.SerializableSign;
import org.bukkit.Bukkit;
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.block.data.BlockData;
import java.io.Serializable;
public class StructureContainedBlock implements Serializable {
public static final long serialVersionUID = 6143969483382710947L;
private final SerializableBlockData bl;
private transient BlockData data;
private final int x;
private final int y;
private final int z;
private final SerializableBlockState state;
public StructureContainedBlock(int x, int y, int z, BlockState state, BlockData d) {
if(state instanceof Sign) {
this.state = new SerializableSign((org.bukkit.block.Sign) state);
} else this.state = null;
this.x = x;
this.y = y;
this.z = z;
this.bl = new SerializableBlockData(d);
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public int getZ() {
return z;
}
public BlockData getBlockData() {
if(data == null) {
data = bl.getData();
}
return data;
}
public SerializableBlockState getState() {
return state;
}
}