diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
index 21176f0..65a7ff7 100755
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/Main.java
@@ -3,9 +3,7 @@ package eu.mhsl.craftattack.worldmuseum;
 import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand;
 import eu.mhsl.craftattack.worldmuseum.commands.GcCommand;
 import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand;
-import eu.mhsl.craftattack.worldmuseum.listener.ChunkUnloading;
-import eu.mhsl.craftattack.worldmuseum.listener.CompassUseListener;
-import eu.mhsl.craftattack.worldmuseum.listener.InventoryClickListener;
+import eu.mhsl.craftattack.worldmuseum.listener.*;
 import eu.mhsl.craftattack.worldmuseum.util.Config;
 import eu.mhsl.craftattack.worldmuseum.worlds.World;
 import eu.mhsl.craftattack.worldmuseum.worlds.WorldManager;
@@ -13,11 +11,10 @@ import eu.mhsl.craftattack.worldmuseum.util.CompassManager;
 import net.minestom.server.MinecraftServer;
 import net.minestom.server.entity.GameMode;
 import net.minestom.server.entity.Player;
+import net.minestom.server.entity.PlayerSkin;
 import net.minestom.server.event.GlobalEventHandler;
 import net.minestom.server.event.inventory.InventoryPreClickEvent;
-import net.minestom.server.event.player.PlayerChunkUnloadEvent;
-import net.minestom.server.event.player.PlayerLoginEvent;
-import net.minestom.server.event.player.PlayerUseItemEvent;
+import net.minestom.server.event.player.*;
 import net.minestom.server.instance.InstanceManager;
 import net.minestom.server.timer.TaskSchedule;
 
@@ -29,10 +26,9 @@ public class Main {
         // Initialization
         System.setProperty("minestom.chunk-view-distance", "16");
         MinecraftServer minecraftServer = MinecraftServer.init();
-        InstanceManager instanceManager = MinecraftServer.getInstanceManager();
+        MinecraftServer.setChunkViewDistance(8);
 
         //temp
-        MinecraftServer.setChunkViewDistance(8);
         MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
 
         //load eu.mhsl.craftattack.worldmuseum.worlds / configExample file
@@ -55,6 +51,8 @@ public class Main {
         globalEventHandler.addListener(PlayerUseItemEvent.class, new CompassUseListener());
         globalEventHandler.addListener(PlayerChunkUnloadEvent.class, new ChunkUnloading());
         globalEventHandler.addListener(InventoryPreClickEvent.class, new InventoryClickListener());
+        globalEventHandler.addListener(PlayerBlockBreakEvent.class, new BlockBreakListener());
+        globalEventHandler.addListener(PlayerBlockPlaceEvent.class, new BlockPlaceListener());
 
         //commands
         MinecraftServer.getCommandManager().register(new TeleportCommand());
@@ -63,6 +61,7 @@ public class Main {
 
         globalEventHandler.addListener(PlayerLoginEvent.class, event -> {
             final Player player = event.getPlayer();
+            player.setSkin(PlayerSkin.fromUsername(player.getUsername()));
             event.setSpawningInstance(startworld);
 
             player.setRespawnPoint(startworld.getSpawn());
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockBreakListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockBreakListener.java
new file mode 100644
index 0000000..6147446
--- /dev/null
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockBreakListener.java
@@ -0,0 +1,18 @@
+package eu.mhsl.craftattack.worldmuseum.listener;
+
+import net.minestom.server.MinecraftServer;
+import net.minestom.server.coordinate.Point;
+import net.minestom.server.event.player.PlayerBlockBreakEvent;
+import net.minestom.server.instance.block.Block;
+import net.minestom.server.timer.TaskSchedule;
+
+import java.util.function.Consumer;
+
+public class BlockBreakListener implements Consumer<PlayerBlockBreakEvent> {
+    @Override
+    public void accept(PlayerBlockBreakEvent playerBlockBreakEvent) {
+        Block block = playerBlockBreakEvent.getBlock();
+        Point point = playerBlockBreakEvent.getBlockPosition();
+        MinecraftServer.getSchedulerManager().scheduleTask(() -> playerBlockBreakEvent.getInstance().setBlock(point, block), TaskSchedule.seconds(10), TaskSchedule.stop());
+    }
+}
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockPlaceListener.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockPlaceListener.java
new file mode 100644
index 0000000..3e87631
--- /dev/null
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/listener/BlockPlaceListener.java
@@ -0,0 +1,11 @@
+package eu.mhsl.craftattack.worldmuseum.listener;
+
+import net.minestom.server.event.player.PlayerBlockPlaceEvent;
+import java.util.function.Consumer;
+
+public class BlockPlaceListener implements Consumer<PlayerBlockPlaceEvent> {
+    @Override
+    public void accept(PlayerBlockPlaceEvent playerBlockPlaceEvent) {
+        playerBlockPlaceEvent.setCancelled(true);
+    }
+}
diff --git a/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java b/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java
index 50f7aa5..fd10118 100755
--- a/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java
+++ b/src/main/java/eu/mhsl/craftattack/worldmuseum/worlds/World.java
@@ -16,16 +16,14 @@ import java.util.UUID;
 
 public class World extends InstanceContainer {
     private final static DimensionType dimension = DimensionType.builder(NamespaceID.from("mhsl:worldview_by_olischma")).height(400).ambientLight(2.0f).build();
-    private final File file;
-    private ItemStack item;
+    private final ItemStack item;
     private String name = "default";
     private Pos spawn = new Pos(0,0,0);
-    private Material material = Material.GRASS_BLOCK;
     private boolean enabled = false;
     private final String defaultConfig = "{\n" +
             "  \"enabled\": false,\n" +
             "  \"name\": \"DEFAULT_NAME\",\n" +
-            "  \"material\": \"2\",\n" +
+            "  \"material\": \"GRASS_BLOCK\",\n" +
             "  \"spawn\": {\n" +
             "    \"x\": 0,\n" +
             "    \"y\": 0,\n" +
@@ -45,7 +43,6 @@ public class World extends InstanceContainer {
         super(UUID.randomUUID(), dimension, new AnvilLoader(file.getPath()));
         this.anvilLoader = new AnvilLoader(file.getPath());
         MinecraftServer.getInstanceManager().registerInstance(this);
-        this.file = file;
         try {
             File checkFile = new File(file.getPath() + "/config.json");
             if (checkFile.createNewFile()) {
@@ -58,17 +55,19 @@ public class World extends InstanceContainer {
         }
 
 
+        Material material = Material.GRASS_BLOCK;
         try {
             JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader(file.getPath() + "/config.json"));
             this.name = config.get("name").getAsString();
             JsonObject spawn = config.getAsJsonObject("spawn");
             this.spawn = new Pos(spawn.get("x").getAsDouble(), spawn.get("y").getAsDouble(), spawn.get("z").getAsDouble());
-            this.material = Material.fromNamespaceId("minecraft:" + config.get("material").getAsString().toLowerCase());
+            material = Material.fromNamespaceId("minecraft:" + config.get("material").getAsString().toLowerCase());
             this.enabled = config.get("enabled").getAsBoolean();
 
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         }
+        assert material != null;
         item = ItemStack.builder(material).displayName(Component.text(name)).build();
     }