diff --git a/paper-api/src/main/java/org/bukkit/World.java b/paper-api/src/main/java/org/bukkit/World.java
index c2ec1b4997..1621095b85 100644
--- a/paper-api/src/main/java/org/bukkit/World.java
+++ b/paper-api/src/main/java/org/bukkit/World.java
@@ -1,6 +1,7 @@
 
 package org.bukkit;
 
+import org.bukkit.block.Block;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.entity.ItemDrop;
 import org.bukkit.entity.PoweredMinecart;
diff --git a/paper-api/src/main/java/org/bukkit/Biome.java b/paper-api/src/main/java/org/bukkit/block/Biome.java
similarity index 90%
rename from paper-api/src/main/java/org/bukkit/Biome.java
rename to paper-api/src/main/java/org/bukkit/block/Biome.java
index 265b99ce15..711dea71aa 100644
--- a/paper-api/src/main/java/org/bukkit/Biome.java
+++ b/paper-api/src/main/java/org/bukkit/block/Biome.java
@@ -1,5 +1,5 @@
 
-package org.bukkit;
+package org.bukkit.block;
 
 /**
  * Holds all accepted Biomes in the default server
diff --git a/paper-api/src/main/java/org/bukkit/Block.java b/paper-api/src/main/java/org/bukkit/block/Block.java
similarity index 97%
rename from paper-api/src/main/java/org/bukkit/Block.java
rename to paper-api/src/main/java/org/bukkit/block/Block.java
index 6a28c798a2..36fbbeb580 100644
--- a/paper-api/src/main/java/org/bukkit/Block.java
+++ b/paper-api/src/main/java/org/bukkit/block/Block.java
@@ -1,5 +1,8 @@
-package org.bukkit;
+package org.bukkit.block;
 
+import org.bukkit.Chunk;
+import org.bukkit.Material;
+import org.bukkit.World;
 import org.bukkit.block.BlockState;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/BlockDamageLevel.java b/paper-api/src/main/java/org/bukkit/block/BlockDamageLevel.java
similarity index 90%
rename from paper-api/src/main/java/org/bukkit/BlockDamageLevel.java
rename to paper-api/src/main/java/org/bukkit/block/BlockDamageLevel.java
index bb8e4b231a..65fb73baa7 100644
--- a/paper-api/src/main/java/org/bukkit/BlockDamageLevel.java
+++ b/paper-api/src/main/java/org/bukkit/block/BlockDamageLevel.java
@@ -1,4 +1,4 @@
-package org.bukkit;
+package org.bukkit.block;
 
 public enum BlockDamageLevel {
     STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2);
diff --git a/paper-api/src/main/java/org/bukkit/BlockFace.java b/paper-api/src/main/java/org/bukkit/block/BlockFace.java
similarity index 98%
rename from paper-api/src/main/java/org/bukkit/BlockFace.java
rename to paper-api/src/main/java/org/bukkit/block/BlockFace.java
index 7c476bca8f..63bc38d1cc 100644
--- a/paper-api/src/main/java/org/bukkit/BlockFace.java
+++ b/paper-api/src/main/java/org/bukkit/block/BlockFace.java
@@ -1,4 +1,4 @@
-package org.bukkit;
+package org.bukkit.block;
 
 /**
  * Represents the face of a block
diff --git a/paper-api/src/main/java/org/bukkit/block/BlockState.java b/paper-api/src/main/java/org/bukkit/block/BlockState.java
index 82d94f88f0..5f4569c816 100644
--- a/paper-api/src/main/java/org/bukkit/block/BlockState.java
+++ b/paper-api/src/main/java/org/bukkit/block/BlockState.java
@@ -1,7 +1,6 @@
 
 package org.bukkit.block;
 
-import org.bukkit.Block;
 import org.bukkit.Chunk;
 import org.bukkit.Material;
 import org.bukkit.World;
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
index b73bbf58fa..68e9f7d028 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
@@ -3,7 +3,7 @@
  */
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.Material;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
index fa4b3d2309..dd63d93756 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
@@ -1,7 +1,7 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
-import org.bukkit.BlockDamageLevel;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockDamageLevel;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
 
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockEvent.java
index 6e50caedbd..08a42c45c5 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockEvent.java
@@ -1,24 +1,24 @@
-package org.bukkit.event.block;
-
-import org.bukkit.Block;
-import org.bukkit.event.Event;
-
-/**
- * Represents a block related event
- */
-public class BlockEvent extends Event {
-    protected Block block;
-
-    public BlockEvent(final Event.Type type, final Block theBlock) {
-        super(type);
-        block = theBlock;
-    }
-
-    /**
-     * Returns the block involved in this event
-     * @return Block which block is involved in this event
-     */
-    public final Block getBlock() {
-        return block;
-    }
-}
+package org.bukkit.event.block;
+
+import org.bukkit.block.Block;
+import org.bukkit.event.Event;
+
+/**
+ * Represents a block related event
+ */
+public class BlockEvent extends Event {
+    protected Block block;
+
+    public BlockEvent(final Event.Type type, final Block theBlock) {
+        super(type);
+        block = theBlock;
+    }
+
+    /**
+     * Returns the block involved in this event
+     * @return Block which block is involved in this event
+     */
+    public final Block getBlock() {
+        return block;
+    }
+}
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockFromToEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockFromToEvent.java
index 928c842ab8..ab1927de00 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockFromToEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockFromToEvent.java
@@ -1,48 +1,48 @@
-package org.bukkit.event.block;
-
-import org.bukkit.Block;
-import org.bukkit.BlockFace;
-import org.bukkit.event.Cancellable;
-import org.bukkit.event.Event;
-
-/**
- * Holds information for events with a source block and a destination block
- */
-public class BlockFromToEvent extends BlockEvent implements Cancellable {
-    protected Block from;
-    protected BlockFace face;
-    protected boolean cancel;
-
-    public BlockFromToEvent(final Event.Type type, final Block block, final BlockFace face) {
-        super(type, block);
-        this.face = face;
-        this.from = block.getRelative(face.getModX(), face.getModY(), face.getModZ());
-        this.cancel = false;
-    }
-
-    /**
-     * Gets the location this player moved to
-     *
-     * @return Block the block is event originated from
-     */
-    public BlockFace getFace() {
-        return face;
-    }
-
-    /**
-     * Convenience method for getting the faced block
-     * 
-     * @return Block the faced block
-     */
-    public Block getFromBlock() {
-        return from; 
-    }
-
-    public boolean isCancelled() {
-        return cancel;
-    }
-
-    public void setCancelled(boolean cancel) {
-        this.cancel = cancel;
-    }
-}
+package org.bukkit.event.block;
+
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.Event;
+
+/**
+ * Holds information for events with a source block and a destination block
+ */
+public class BlockFromToEvent extends BlockEvent implements Cancellable {
+    protected Block from;
+    protected BlockFace face;
+    protected boolean cancel;
+
+    public BlockFromToEvent(final Event.Type type, final Block block, final BlockFace face) {
+        super(type, block);
+        this.face = face;
+        this.from = block.getRelative(face.getModX(), face.getModY(), face.getModZ());
+        this.cancel = false;
+    }
+
+    /**
+     * Gets the location this player moved to
+     *
+     * @return Block the block is event originated from
+     */
+    public BlockFace getFace() {
+        return face;
+    }
+
+    /**
+     * Convenience method for getting the faced block
+     * 
+     * @return Block the faced block
+     */
+    public Block getFromBlock() {
+        return from; 
+    }
+
+    public boolean isCancelled() {
+        return cancel;
+    }
+
+    public void setCancelled(boolean cancel) {
+        this.cancel = cancel;
+    }
+}
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
index 90a14ca63d..deb66f19b5 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
 import org.bukkit.event.Event;
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockInteractEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockInteractEvent.java
index a3e28c2625..f121b96d84 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockInteractEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockInteractEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
index cba0088dbd..d3e00f6e11 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockPhysicsEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.Material;
 import org.bukkit.event.Event;
 
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
index 023f06150e..3c9489e260 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.entity.Player;
 import org.bukkit.event.Cancellable;
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockRedstoneEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockRedstoneEvent.java
index b2abd48292..5c9b5bf9fa 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockRedstoneEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockRedstoneEvent.java
@@ -5,8 +5,8 @@
 
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
-import org.bukkit.BlockFace;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
 
 /**
  *
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockRightClickEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockRightClickEvent.java
index ae7c289152..32e4cd13d6 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockRightClickEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockRightClickEvent.java
@@ -1,7 +1,7 @@
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
-import org.bukkit.BlockFace;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.entity.Player;
 
diff --git a/paper-api/src/main/java/org/bukkit/event/block/LeavesDecayEvent.java b/paper-api/src/main/java/org/bukkit/event/block/LeavesDecayEvent.java
index 1ee2f4039c..e1758e8168 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/LeavesDecayEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/LeavesDecayEvent.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.event.block;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.event.Cancellable;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/paper-api/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
index dfdd2c7780..93c8115c5d 100644
--- a/paper-api/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.entity;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.entity.Entity;
 import org.bukkit.event.Cancellable;
 import org.bukkit.event.Event;
diff --git a/paper-api/src/main/java/org/bukkit/event/player/PlayerItemEvent.java b/paper-api/src/main/java/org/bukkit/event/player/PlayerItemEvent.java
index ab53067a7c..fa68ceafd6 100644
--- a/paper-api/src/main/java/org/bukkit/event/player/PlayerItemEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/player/PlayerItemEvent.java
@@ -1,7 +1,7 @@
 package org.bukkit.event.player;
 
-import org.bukkit.Block;
-import org.bukkit.BlockFace;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.Material;
 import org.bukkit.entity.Player;
diff --git a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
index a16fe0b0d9..3c9dcab2f5 100644
--- a/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/vehicle/VehicleBlockCollisionEvent.java
@@ -1,6 +1,6 @@
 package org.bukkit.event.vehicle;
 
-import org.bukkit.Block;
+import org.bukkit.block.Block;
 import org.bukkit.entity.Vehicle;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/material/Attachable.java b/paper-api/src/main/java/org/bukkit/material/Attachable.java
index 241aca8a2d..cab9be91b4 100644
--- a/paper-api/src/main/java/org/bukkit/material/Attachable.java
+++ b/paper-api/src/main/java/org/bukkit/material/Attachable.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 
 /**
  * Indicates that a block can be attached to another block
diff --git a/paper-api/src/main/java/org/bukkit/material/Button.java b/paper-api/src/main/java/org/bukkit/material/Button.java
index 75b4d3dad1..c6d1aedee9 100644
--- a/paper-api/src/main/java/org/bukkit/material/Button.java
+++ b/paper-api/src/main/java/org/bukkit/material/Button.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 import org.bukkit.Material;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/material/Ladder.java b/paper-api/src/main/java/org/bukkit/material/Ladder.java
index 313580d2c2..a5d5c20801 100644
--- a/paper-api/src/main/java/org/bukkit/material/Ladder.java
+++ b/paper-api/src/main/java/org/bukkit/material/Ladder.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 import org.bukkit.Material;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/material/Lever.java b/paper-api/src/main/java/org/bukkit/material/Lever.java
index 85c27496b0..737d16c2b1 100644
--- a/paper-api/src/main/java/org/bukkit/material/Lever.java
+++ b/paper-api/src/main/java/org/bukkit/material/Lever.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 import org.bukkit.Material;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/material/Sign.java b/paper-api/src/main/java/org/bukkit/material/Sign.java
index 1e4cc94c06..4d6f2a04ae 100644
--- a/paper-api/src/main/java/org/bukkit/material/Sign.java
+++ b/paper-api/src/main/java/org/bukkit/material/Sign.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 import org.bukkit.Material;
 
 /**
diff --git a/paper-api/src/main/java/org/bukkit/material/Torch.java b/paper-api/src/main/java/org/bukkit/material/Torch.java
index 0405d18edd..cef646fc0f 100644
--- a/paper-api/src/main/java/org/bukkit/material/Torch.java
+++ b/paper-api/src/main/java/org/bukkit/material/Torch.java
@@ -1,7 +1,7 @@
 
 package org.bukkit.material;
 
-import org.bukkit.BlockFace;
+import org.bukkit.block.BlockFace;
 import org.bukkit.Material;
 
 /**