diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/Pixel.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/Pixel.java index b75c831..6529a09 100644 --- a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/Pixel.java +++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/Pixel.java @@ -10,27 +10,28 @@ public class Pixel { Location relativeLocation; BlockData blockData; double scale; + double offset; - public Pixel(Location relativeLocation, BlockData blockData, double scale) { + public Pixel(Location relativeLocation, BlockData blockData, double scale, double offset) { this.relativeLocation = new Location( - relativeLocation.getWorld(), - relativeLocation.x(), - relativeLocation.y(), - relativeLocation.z() + relativeLocation.getWorld(), + relativeLocation.x(), + relativeLocation.y(), + relativeLocation.z() ); this.blockData = blockData; this.scale = scale; + this.offset = offset; } public void spawn(Location spawnBlockLocation) { - double positionX = spawnBlockLocation.x()+relativeLocation.x()*scale; - double positionY = spawnBlockLocation.y()+relativeLocation.y()*scale; - double positionZ = spawnBlockLocation.z()+relativeLocation.z()*scale; + double positionX = spawnBlockLocation.x()+relativeLocation.x()*scale+offset; + double positionY = spawnBlockLocation.y()+relativeLocation.y()*scale+offset; + double positionZ = spawnBlockLocation.z()+relativeLocation.z()*scale+offset; Location spawnLocation = new Location(spawnBlockLocation.getWorld(), positionX, positionY, positionZ); - BlockDisplay bd; - bd = (BlockDisplay) spawnLocation.getWorld().spawnEntity( + BlockDisplay bd = (BlockDisplay) spawnLocation.getWorld().spawnEntity( spawnLocation, EntityType.BLOCK_DISPLAY ); @@ -40,9 +41,5 @@ public class Pixel { Transformation transform = bd.getTransformation(); transform.getScale().set(scale); bd.setTransformation(transform); - - System.out.println(spawnLocation.x()); - System.out.println(spawnLocation.y()); - System.out.println(spawnLocation.z()); } } diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java index f5a4f7e..f29bd6d 100644 --- a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java +++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java @@ -1,5 +1,7 @@ package eu.mhsl.minecraft.pixelblocks.pixelblock; +import eu.mhsl.minecraft.pixelblocks.PixelBlocks; +import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.data.BlockData; @@ -21,7 +23,7 @@ public class PixelBlock { BlockData block = blockLocation.getBlock().getBlockData(); if(block.getMaterial() != Material.AIR) { - Pixel newPixel = new Pixel(relativeLocation, block, (1/pixelsPerBlock)); + Pixel newPixel = new Pixel(relativeLocation, block, (1/pixelsPerBlock)-0.0001, 0.00005); pixels.add(newPixel); } } @@ -31,9 +33,10 @@ public class PixelBlock { } public void place(Location placeLocation) { - placeLocation = placeLocation.toBlockLocation(); - for(Pixel pixel : pixels) { - pixel.spawn(placeLocation); - } + Bukkit.getScheduler().runTask(PixelBlocks.plugin, () -> { + for(Pixel pixel : pixels) { + pixel.spawn(placeLocation.toBlockLocation()); + } + }); } }