diff --git a/.idea/modules.xml b/.idea/modules.xml
index 8f15c85..87190ce 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,6 +3,7 @@
+
\ No newline at end of file
diff --git a/.idea/modules/PixelBlocks.main.iml b/.idea/modules/PixelBlocks.main.iml
index bbeeb3e..746f1fd 100644
--- a/.idea/modules/PixelBlocks.main.iml
+++ b/.idea/modules/PixelBlocks.main.iml
@@ -11,4 +11,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/eu.mhsl.minecraft.PixelBlocks.main.iml b/.idea/modules/eu.mhsl.minecraft.PixelBlocks.main.iml
new file mode 100644
index 0000000..bbeeb3e
--- /dev/null
+++ b/.idea/modules/eu.mhsl.minecraft.PixelBlocks.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ PAPER
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/commands/ChessCommand.java b/src/main/java/commands/ChessCommand.java
new file mode 100644
index 0000000..94318b7
--- /dev/null
+++ b/src/main/java/commands/ChessCommand.java
@@ -0,0 +1,47 @@
+package commands;
+
+import org.bukkit.Location;
+import org.bukkit.Material;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.BlockDisplay;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+public class ChessCommand implements CommandExecutor {
+ @Override
+ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
+ if(sender instanceof Player p) {
+ Location playerLocation = p.getLocation();
+
+ for (int i = 0; i < 8; i++) {
+ int finalI = i+1;
+ for (int j = 0; j < 8; j++) {
+ int finalJ = j+1;
+ p.getWorld().spawn(
+ new Location(p.getWorld(),
+ playerLocation.x()+i,
+ playerLocation.y(),
+ playerLocation.z()+j),
+ BlockDisplay.class, blockDisplay -> {
+ if(finalI % 2 == 0 && finalJ % 2 == 0) {
+ blockDisplay.setBlock(Material.BLACK_CONCRETE.createBlockData());
+ } else if(finalI % 2 != 0 && finalJ % 2 != 0) {
+ blockDisplay.setBlock(Material.BLACK_CONCRETE.createBlockData());
+ } else {
+ blockDisplay.setBlock(Material.WHITE_CONCRETE.createBlockData());
+ }
+ blockDisplay.setDisplayHeight(0.5f);
+ blockDisplay.setDisplayWidth(0.5f);
+ }
+ );
+ }
+ }
+
+ } else {
+ return(true);
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
index 52563a3..949d965 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
@@ -1,7 +1,11 @@
package eu.mhsl.minecraft.pixelblocks;
+import commands.ChessCommand;
+import listeners.PlayerJumpListener;
import org.bukkit.plugin.java.JavaPlugin;
+import java.util.Objects;
+
public final class PixelBlocks extends JavaPlugin {
public static PixelBlocks plugin;
@@ -9,6 +13,8 @@ public final class PixelBlocks extends JavaPlugin {
public void onEnable() {
PixelBlocks.plugin = this;
this.getLogger().info("Hello World");
+ getServer().getPluginManager().registerEvents(new PlayerJumpListener(), this);
+ Objects.requireNonNull(getCommand("chess")).setExecutor(new ChessCommand());
}
@Override
diff --git a/src/main/java/listeners/PlayerJoinListener.java b/src/main/java/listeners/PlayerJoinListener.java
new file mode 100644
index 0000000..46d35a6
--- /dev/null
+++ b/src/main/java/listeners/PlayerJoinListener.java
@@ -0,0 +1,12 @@
+package listeners;
+
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class PlayerJoinListener implements Listener {
+ @EventHandler
+ static void onPlayerJoin(PlayerJoinEvent event) {
+
+ }
+}
diff --git a/src/main/java/listeners/PlayerJumpListener.java b/src/main/java/listeners/PlayerJumpListener.java
new file mode 100644
index 0000000..315c8cb
--- /dev/null
+++ b/src/main/java/listeners/PlayerJumpListener.java
@@ -0,0 +1,17 @@
+package listeners;
+
+import com.destroystokyo.paper.event.player.PlayerJumpEvent;
+import org.bukkit.Material;
+import org.bukkit.entity.BlockDisplay;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+
+public class PlayerJumpListener implements Listener {
+ @EventHandler
+ static void onPlayerJump(PlayerJumpEvent event) {
+ event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), BlockDisplay.class, blockDisplay -> {
+ blockDisplay.setBlock(Material.OAK_LOG.createBlockData());
+ });
+
+ }
+}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 803ccac..96f8af1 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -2,3 +2,5 @@ name: PixelBlocks
version: '${version}'
main: eu.mhsl.minecraft.pixelblocks.PixelBlocks
api-version: '1.21'
+commands:
+ chess: