public void playerConnect(PlayerConnectEvent event){
event.getPlayer().setAttribute("Enabled", false);
public void playerCommand(PlayerCommandEvent event){
String[] cmd = event.getCommand().split(" ");
Player player = event.getPlayer();
if (cmd[0].equalsIgnoreCase("/enable")) {
Boolean enabled = (Boolean)player.getAttribute("Enabled");
player.setAttribute("Enabled", false);
Area3D area3D = (Area3D) player.getAttribute("Area3D");
player.removeGameObject(area3D);
player.setAttribute("Enabled", true);
public void enable(Player player){
Vector3i ChunkPosition = player.getChunkPosition();
Vector3i startBlock = new Vector3i(0, 0, 0);
Vector3i endBlock = new Vector3i(32, 64, 32);
Vector3i startChunk = new Vector3i(ChunkPosition.x, ChunkPosition.y, ChunkPosition.z);
Vector3i endChunk = new Vector3i(ChunkPosition.x, ChunkPosition.y, ChunkPosition.z);
Vector3f startPos = Utils.ChunkUtils.getGlobalPosition(startChunk, startBlock);
Vector3f endPos = Utils.ChunkUtils.getGlobalPosition(endChunk, endBlock);
Area newArea = new Area(startPos, endPos);
Area3D area3D = new Area3D(newArea);
area3D.setFrameColor(0,0,1,0.5f);
area3D.setColor(0,0,1,0.5f);
area3D.setFrameVisible(true);
player.setAttribute("Area3D", area3D);
player.addGameObject(area3D);
public void enterChunk(PlayerEnterChunkEvent event){
Player player = event.getPlayer();
Boolean enabled = (Boolean)player.getAttribute("Enabled");
Vector3i ChunkPosition = event.getNewChunkCoordinates();
Vector3i startBlock = new Vector3i(0, 0, 0);
Vector3i endBlock = new Vector3i(32, 64, 32);
Vector3i startChunk = new Vector3i(ChunkPosition.x, ChunkPosition.y, ChunkPosition.z);
Vector3i endChunk = new Vector3i(ChunkPosition.x, ChunkPosition.y, ChunkPosition.z);
Vector3f startPos = Utils.ChunkUtils.getGlobalPosition(startChunk, startBlock);
Vector3f endPos = Utils.ChunkUtils.getGlobalPosition(endChunk, endBlock);
Area newArea = new Area(startPos, endPos);
Area3D area3D = (Area3D) player.getAttribute("Area3D");
player.removeGameObject(area3D);
updateArea(player, newArea);
public void updateArea(Player player, Area area){
Area3D newArea3D = new Area3D(area);
newArea3D.setFrameColor(0,0,1,0.5f);
newArea3D.setColor(0,0,1,0.5f);
newArea3D.setFrameVisible(true);
player.setAttribute("Area3D", newArea3D);
player.addGameObject(newArea3D);