diff --git a/src/main/java/net/minecraft/client/gui/SoundTestScreen.java b/src/main/java/net/minecraft/client/gui/SoundTestScreen.java
index ef3028ffb..99e4be8b3 100644
--- a/src/main/java/net/minecraft/client/gui/SoundTestScreen.java
+++ b/src/main/java/net/minecraft/client/gui/SoundTestScreen.java
@@ -13,6 +13,7 @@ import net.minecraft.core.util.helper.Utils;
 import org.jetbrains.annotations.Nullable;
 import org.lwjgl.input.Keyboard;
 import org.lwjgl.opengl.GL11;
+import paulscode.sound.SoundSystem;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -203,7 +204,9 @@ public class SoundTestScreen extends Screen {
     }
 
     public void stopSound() {
-        SoundEngine.getSoundSystem().stop("debug");
+        SoundSystem soundSystem = SoundEngine.getSoundSystem();
+        if (soundSystem == null) return;
+        soundSystem.stop("debug");
     }
 
     private void overlayBackground(int minX, int maxX, int minY, int maxY)
diff --git a/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java b/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
index e29f71aee..eb4c55900 100644
--- a/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
+++ b/src/main/java/net/minecraft/client/gui/options/data/OptionsPages.java
@@ -33,6 +33,7 @@ import net.minecraft.core.item.Items;
 import net.minecraft.core.util.helper.Utils;
 import net.minecraft.core.world.World;
 import org.useless.seedviewer.SeedViewerMain;
+import paulscode.sound.SoundSystem;
 
 import javax.management.RuntimeErrorException;
 import java.io.File;
@@ -308,7 +309,10 @@ public abstract class OptionsPages
         )
         .withComponent(new OptionsCategory("gui.options.page.debug.category.test")
             .withComponent(new ShortcutComponent("gui.options.page.debug.button.music.skip", () -> {
-                SoundEngine.getSoundSystem().stop("BgMusic");
+                SoundSystem soundSystem = SoundEngine.getSoundSystem();
+                if (soundSystem != null) {
+                    soundSystem.stop(SoundEngine.BG_MUSIC);
+                }
                 mc.sndManager.ticksBeforeMusic = -1;
                 mc.sndManager.tick();
             }))
diff --git a/src/main/java/net/minecraft/client/option/VolumeOption.java b/src/main/java/net/minecraft/client/option/VolumeOption.java
index 272a6c0b2..91bb91d0e 100644
--- a/src/main/java/net/minecraft/client/option/VolumeOption.java
+++ b/src/main/java/net/minecraft/client/option/VolumeOption.java
@@ -20,10 +20,12 @@ public class VolumeOption extends FloatOption{
 		super.onUpdate();
 		gameSettings.mc.sndManager.updateOptions();
 		SoundSystem soundSystem = SoundEngine.getSoundSystem();
-		if (soundCategory != SoundCategory.GUI_SOUNDS && !soundSystem.playing("sound_audio_options")) {
-			gameSettings.mc.sndManager.playSoundWithID(soundCategory.changedSound, soundCategory, 1f, 1f, "sound_audio_options");
-		} else if (soundCategory != SoundCategory.GUI_SOUNDS) {
-			soundSystem.setVolume("sound_audio_options", SoundCategoryHelper.getEffectiveVolume(soundCategory, gameSettings));
+		if (soundSystem != null) {
+			if (soundCategory != SoundCategory.GUI_SOUNDS && !soundSystem.playing("sound_audio_options")) {
+				gameSettings.mc.sndManager.playSoundWithID(soundCategory.changedSound, soundCategory, 1f, 1f, "sound_audio_options");
+			} else if (soundCategory != SoundCategory.GUI_SOUNDS) {
+				soundSystem.setVolume("sound_audio_options", SoundCategoryHelper.getEffectiveVolume(soundCategory, gameSettings));
+			}
 		}
 	}
 
diff --git a/src/main/java/net/minecraft/client/render/TextureManager.java b/src/main/java/net/minecraft/client/render/TextureManager.java
index b3c41138e..f9a052b97 100644
--- a/src/main/java/net/minecraft/client/render/TextureManager.java
+++ b/src/main/java/net/minecraft/client/render/TextureManager.java
@@ -98,11 +98,11 @@ public class TextureManager {
 
                 String[] fireflycolors = new String[] {"blue", "orange", "green", "red"};
 				for (String color : fireflycolors) {
-					addDynamicTexture(new DynamicTextureFireflyJar(TextureRegistry.getTexture("minecraft:block/lantern_firefly_" + color)));
+					addDynamicTexture(new DynamicTextureFireflyJar(TextureRegistry.getTexture("minecraft:block/lantern_firefly/" + color)));
 				}
 
-				addDynamicTexture(new DynamicTextureTrommel(mc, TextureRegistry.getTexture("minecraft:block/trommel_active_front"), true));
-				addDynamicTexture(new DynamicTextureTrommel(mc, TextureRegistry.getTexture("minecraft:block/trommel_active_back"), false));
+				addDynamicTexture(new DynamicTextureTrommel(mc, TextureRegistry.getTexture("minecraft:block/trommel/active_front"), true));
+				addDynamicTexture(new DynamicTextureTrommel(mc, TextureRegistry.getTexture("minecraft:block/trommel/active_back"), false));
 
 				if (useCustomAnimations) {
 					loadCustomAnimations();
diff --git a/src/main/java/net/minecraft/client/render/block/model/ActivatorBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/ActivatorBlockModel.java
index b12ff14a2..2e7f0af8b 100644
--- a/src/main/java/net/minecraft/client/render/block/model/ActivatorBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/ActivatorBlockModel.java
@@ -8,20 +8,20 @@ import net.minecraft.core.util.helper.Side;
 
 public class ActivatorBlockModel extends VeryRotatableBlockModel<ActivatorBlock> {
     public final IconCoordinate[] poweredTextures = {
-        null,
-        TextureRegistry.getTexture("minecraft:block/activator_top_active"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active"),
-        TextureRegistry.getTexture("minecraft:block/activator_front_active"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active")
+        TextureRegistry.getTexture("minecraft:block/activator/bottom_active"),
+        TextureRegistry.getTexture("minecraft:block/activator/top_active"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active"),
+        TextureRegistry.getTexture("minecraft:block/activator/front_active"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active")
     };
     public final IconCoordinate[] overbrightTextures = {
-        null,
-        TextureRegistry.getTexture("minecraft:block/activator_top_active_overlay"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active_overlay"),
-        TextureRegistry.getTexture("minecraft:block/activator_front_active_overlay"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active_overlay"),
-        TextureRegistry.getTexture("minecraft:block/activator_side_active_overlay")
+        TextureRegistry.getTexture("minecraft:block/activator/bottom_active_overlay"),
+        TextureRegistry.getTexture("minecraft:block/activator/top_active_overlay"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active_overlay"),
+        TextureRegistry.getTexture("minecraft:block/activator/front_active_overlay"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active_overlay"),
+        TextureRegistry.getTexture("minecraft:block/activator/side_active_overlay")
     };
     public ActivatorBlockModel(Block block) {
         super(block);
diff --git a/src/main/java/net/minecraft/client/render/block/model/BasketBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/BasketBlockModel.java
index d9f143c21..fc1fbb2aa 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BasketBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BasketBlockModel.java
@@ -8,7 +8,7 @@ import net.minecraft.core.block.BasketBlock;
 import net.minecraft.core.util.helper.Side;
 
 public class BasketBlockModel<T extends BasketBlock> extends StandardBlockModel<T> {
-    protected IconCoordinate fillTexture = TextureRegistry.getTexture("minecraft:block/basket_fill");
+    protected IconCoordinate fillTexture = TextureRegistry.getTexture("minecraft:block/basket/fill");
     public BasketBlockModel(Block block) {
         super(block);
     }
diff --git a/src/main/java/net/minecraft/client/render/block/model/BedBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/BedBlockModel.java
index d9c1bf169..6dc313dc7 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BedBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BedBlockModel.java
@@ -8,15 +8,15 @@ import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
 public class BedBlockModel<T extends Block> extends StandardBlockModel<T> {
-    protected IconCoordinate underTexture = TextureRegistry.getTexture("minecraft:block/planks_oak");
+    protected IconCoordinate underTexture = TextureRegistry.getTexture("minecraft:block/bed/bottom");
     public BedBlockModel(Block block) {
         super(block);
-        atlasIndices[0] = TextureRegistry.getTexture("minecraft:block/bed_foot_front");
-        atlasIndices[1] = TextureRegistry.getTexture("minecraft:block/bed_foot_side");
-        atlasIndices[2] = TextureRegistry.getTexture("minecraft:block/bed_foot_top");
-        atlasIndices[3] = TextureRegistry.getTexture("minecraft:block/bed_head_front");
-        atlasIndices[4] = TextureRegistry.getTexture("minecraft:block/bed_head_side");
-        atlasIndices[5] = TextureRegistry.getTexture("minecraft:block/bed_head_top");
+        atlasIndices[0] = TextureRegistry.getTexture("minecraft:block/bed/foot_front");
+        atlasIndices[1] = TextureRegistry.getTexture("minecraft:block/bed/foot_side");
+        atlasIndices[2] = TextureRegistry.getTexture("minecraft:block/bed/foot_top");
+        atlasIndices[3] = TextureRegistry.getTexture("minecraft:block/bed/head_front");
+        atlasIndices[4] = TextureRegistry.getTexture("minecraft:block/bed/head_side");
+        atlasIndices[5] = TextureRegistry.getTexture("minecraft:block/bed/head_top");
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java b/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
index 58ebdff08..6727df9be 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
@@ -57,10 +57,10 @@ public class BlockModelDispatcher
         addDispatch(new StandardBlockModel<>(Blocks.PERMAFROST_POLISHED).withTextures("minecraft:block/polished_permafrost_top", "minecraft:block/polished_permafrost_side"));
         addDispatch(new StandardBlockModel<>(Blocks.NETHERRACK_POLISHED).withTextures("minecraft:block/polished_netherrack_top", "minecraft:block/polished_netherrack_side"));
 
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.PILLAR_MARBLE).withTextures("minecraft:block/pillar_marble_top", "minecraft:block/pillar_marble_side"));
-        addDispatch(new StandardBlockModel<>(Blocks.CAPSTONE_MARBLE).withTextures("minecraft:block/capstone_marble_top", "minecraft:block/capstone_marble_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.PILLAR_MARBLE).withTextures("minecraft:block/pillar_marble/top", "minecraft:block/pillar_marble/side"));
+        addDispatch(new StandardBlockModel<>(Blocks.CAPSTONE_MARBLE).withTextures("minecraft:block/capstone_marble/top", "minecraft:block/capstone_marble/side"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.SANDSTONE).withTextures("minecraft:block/sandstone_top", "minecraft:block/sandstone_bottom", "minecraft:block/sandstone_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.SANDSTONE).withTextures("minecraft:block/sandstone/top", "minecraft:block/sandstone/bottom", "minecraft:block/sandstone/side"));
 
         addDispatch(new StandardBlockModel<>(Blocks.STONE_CARVED).withTextures("minecraft:block/polished_stone_top", "minecraft:block/carved_stone"));
         addDispatch(new StandardBlockModel<>(Blocks.GRANITE_CARVED).withTextures("minecraft:block/polished_granite_top", "minecraft:block/carved_granite"));
@@ -69,20 +69,20 @@ public class BlockModelDispatcher
         addDispatch(new StandardBlockModel<>(Blocks.PERMAFROST_CARVED).withTextures("minecraft:block/polished_permafrost_top", "minecraft:block/carved_permafrost"));
         addDispatch(new StandardBlockModel<>(Blocks.NETHERRACK_CARVED).withTextures("minecraft:block/polished_netherrack_top", "minecraft:block/carved_netherrack"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.PLANKS_OAK).withTextures("minecraft:block/planks_oak"));
+        addDispatch(new StandardBlockModel<>(Blocks.PLANKS_OAK).withTextures("minecraft:block/planks/oak"));
         addDispatch(new PlanksPaintedBlockModel<>(Blocks.PLANKS_OAK_PAINTED));
 
         addDispatch(new TorchBlockModel<>(Blocks.TORCH_COAL).withTextures("minecraft:block/torch_coal"));
 
         addDispatch(new LadderBlockModel<>(Blocks.LADDER_OAK).withTextures("minecraft:block/ladder"));
 
-        addDispatch(new FenceBlockModel<>(Blocks.FENCE_PLANKS_OAK).withTextures("minecraft:block/planks_oak"));
+        addDispatch(new FenceBlockModel<>(Blocks.FENCE_PLANKS_OAK).withTextures("minecraft:block/planks/oak"));
         addDispatch(new FencePaintedBlockModel<>(Blocks.FENCE_PLANKS_OAK_PAINTED));
 
-        addDispatch(new FenceGateBlockModel<>(Blocks.FENCE_GATE_PLANKS_OAK).withTextures("minecraft:block/planks_oak"));
+        addDispatch(new FenceGateBlockModel<>(Blocks.FENCE_GATE_PLANKS_OAK).withTextures("minecraft:block/planks/oak"));
         addDispatch(new FenceGatePaintedBlockModel<>(Blocks.FENCE_GATE_PLANKS_OAK_PAINTED));
 
-        addDispatch(new StandardBlockModel<>(Blocks.BOOKSHELF_PLANKS_OAK).withTextures("minecraft:block/planks_oak", "minecraft:block/bookshelf_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.BOOKSHELF_PLANKS_OAK).withTextures("minecraft:block/bookshelf/top", "minecraft:block/bookshelf/side"));
 
         addDispatch(new WoolBlockModel<>(Blocks.WOOL));
         addDispatch(new RopeBlockModel<>(Blocks.ROPE).withTextures("minecraft:block/rope"));
@@ -152,12 +152,11 @@ public class BlockModelDispatcher
         addDispatch(new TransparentBlockModel<>(Blocks.GLASS_TINTED, false).withTextures("minecraft:block/glass_tinted"));
         addDispatch(new TransparentBlockModel<>(Blocks.GLASS_STEEL, false).withTextures("minecraft:block/glass_steel"));
 
-        addDispatch(new GrassBlockModel<>(Blocks.GRASS)
-                .withTextures("minecraft:block/grass_top", "minecraft:block/dirt", "minecraft:block/grass_side"));
-        addDispatch(new StandardBlockModel<>(Blocks.GRASS_RETRO).withTextures("minecraft:block/grass_retro_top", "minecraft:block/dirt", "minecraft:block/grass_retro_side"));
-        addDispatch(new StandardBlockModel<>(Blocks.GRASS_SCORCHED).withTextures("minecraft:block/grass_scorched_top", "minecraft:block/dirt_scorched", "minecraft:block/grass_scorched_side"));
+        addDispatch(new GrassBlockModel<>(Blocks.GRASS).withTextures("minecraft:block/grass/top", "minecraft:block/grass/bottom", "minecraft:block/grass/side"));
+        addDispatch(new StandardBlockModel<>(Blocks.GRASS_RETRO).withTextures("minecraft:block/grass_retro/top", "minecraft:block/grass_retro/bottom", "minecraft:block/grass_retro/side"));
+        addDispatch(new StandardBlockModel<>(Blocks.GRASS_SCORCHED).withTextures("minecraft:block/grass_scorched/top", "minecraft:block/grass_scorched/bottom", "minecraft:block/grass_scorched/side"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.PATH_DIRT).withTextures("minecraft:block/grass_path_top", "minecraft:block/dirt", "minecraft:block/grass_path_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.PATH_DIRT).withTextures("minecraft:block/grass_path/top", "minecraft:block/grass_path/bottom", "minecraft:block/grass_path/side"));
 
         addDispatch(new StandardBlockModel<>(Blocks.DIRT).withTextures("minecraft:block/dirt"));
         addDispatch(new StandardBlockModel<>(Blocks.DIRT_SCORCHED).withTextures("minecraft:block/dirt_scorched"));
@@ -180,44 +179,44 @@ public class BlockModelDispatcher
         addDispatch(new StandardBlockModel<>(Blocks.GRAVEL).withTextures("minecraft:block/gravel"));
 
         addDispatch(new StandardBlockModel<>(Blocks.BEDROCK).withTextures("minecraft:block/bedrock"));
-        addDispatch(new FullRotatableBlockModel<>(Blocks.BONESHALE).withTextures("minecraft:block/bone_shale_top", "minecraft:block/bone_shale_bottom", "minecraft:block/bone_shale_side"));
+        addDispatch(new FullRotatableBlockModel<>(Blocks.BONESHALE).withTextures("minecraft:block/bone_shale/top", "minecraft:block/bone_shale/bottom", "minecraft:block/bone_shale/side"));
 
         addDispatch(new FluidBlockModel<>(Blocks.FLUID_WATER_FLOWING).withTextures("minecraft:block/water_still", "minecraft:block/water_flowing", "minecraft:block/water_flowing"));
         addDispatch(new FluidBlockModel<>(Blocks.FLUID_WATER_STILL).withTextures("minecraft:block/water_still", "minecraft:block/water_flowing"));
         addDispatch(new FluidBlockModel<>(Blocks.FLUID_LAVA_FLOWING).withTextures("minecraft:block/lava_still", "minecraft:block/lava_flowing", "minecraft:block/lava_flowing"));
         addDispatch(new FluidBlockModel<>(Blocks.FLUID_LAVA_STILL).withTextures("minecraft:block/lava_still", "minecraft:block/lava_flowing"));
 
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_OAK).withTextures("minecraft:block/log_oak_top", "minecraft:block/log_oak_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_PINE).withTextures("minecraft:block/log_pine_top", "minecraft:block/log_pine_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_BIRCH).withTextures("minecraft:block/log_birch_top", "minecraft:block/log_birch_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_CHERRY).withTextures("minecraft:block/log_cherry_top", "minecraft:block/log_cherry_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_EUCALYPTUS).withTextures("minecraft:block/log_eucalyptus_top", "minecraft:block/log_eucalyptus_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_OAK_MOSSY).withTextures("minecraft:block/log_oak_mossy_top", "minecraft:block/log_oak_mossy_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_THORN).withTextures("minecraft:block/log_thorn_top", "minecraft:block/log_thorn_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_PALM).withTextures("minecraft:block/log_palm_top", "minecraft:block/log_palm_side"));
-
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_OAK, "minecraft:block/leaves_oak"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_OAK_RETRO, "minecraft:block/leaves_oak_retro"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_PINE, "minecraft:block/leaves_pine"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_BIRCH, "minecraft:block/leaves_birch"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_CHERRY, "minecraft:block/leaves_cherry"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_EUCALYPTUS, "minecraft:block/leaves_eucalyptus"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_SHRUB, "minecraft:block/leaves_shrub"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_OAK).withTextures("minecraft:block/log/oak_top", "minecraft:block/log/oak_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_PINE).withTextures("minecraft:block/log/pine_top", "minecraft:block/log/pine_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_BIRCH).withTextures("minecraft:block/log/birch_top", "minecraft:block/log/birch_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_CHERRY).withTextures("minecraft:block/log/cherry_top", "minecraft:block/log/cherry_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_EUCALYPTUS).withTextures("minecraft:block/log/eucalyptus_top", "minecraft:block/log/eucalyptus_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_OAK_MOSSY).withTextures("minecraft:block/log/oak_mossy_top", "minecraft:block/log/oak_mossy_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_THORN).withTextures("minecraft:block/log/thorn_top", "minecraft:block/log/thorn_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.LOG_PALM).withTextures("minecraft:block/log/palm_top", "minecraft:block/log/palm_side"));
+
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_OAK, "minecraft:block/leaves/oak"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_OAK_RETRO, "minecraft:block/leaves/oak_retro"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_PINE, "minecraft:block/leaves/pine"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_BIRCH, "minecraft:block/leaves/birch"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_CHERRY, "minecraft:block/leaves/cherry"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_EUCALYPTUS, "minecraft:block/leaves/eucalyptus"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_SHRUB, "minecraft:block/leaves/shrub"));
         addDispatch(new FloweringCherryLeavesBlockModel<>(Blocks.LEAVES_CHERRY_FLOWERING));
         addDispatch(new CacaoLeavesBlockModel<>(Blocks.LEAVES_CACAO));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_THORN, "minecraft:block/leaves_caatinga"));
-        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_PALM, "minecraft:block/leaves_palm"));
-
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_OAK).withTextures("minecraft:block/sapling_oak"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_OAK_RETRO).withTextures("minecraft:block/sapling_oak_retro"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_PINE).withTextures("minecraft:block/sapling_pine"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_BIRCH).withTextures("minecraft:block/sapling_birch"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_CHERRY).withTextures("minecraft:block/sapling_cherry"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_EUCALYPTUS).withTextures("minecraft:block/sapling_eucalyptus"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_SHRUB).withTextures("minecraft:block/sapling_shrub"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_CACAO).withTextures("minecraft:block/sapling_cacao"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_THORN).withTextures("minecraft:block/sapling_thorn"));
-        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_PALM).withTextures("minecraft:block/sapling_palm"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_THORN, "minecraft:block/leaves/caatinga"));
+        addDispatch(new LeavesBlockModel<>(Blocks.LEAVES_PALM, "minecraft:block/leaves/palm"));
+
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_OAK).withTextures("minecraft:block/sapling/oak"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_OAK_RETRO).withTextures("minecraft:block/sapling/oak_retro"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_PINE).withTextures("minecraft:block/sapling/pine"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_BIRCH).withTextures("minecraft:block/sapling/birch"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_CHERRY).withTextures("minecraft:block/sapling/cherry"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_EUCALYPTUS).withTextures("minecraft:block/sapling/eucalyptus"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_SHRUB).withTextures("minecraft:block/sapling/shrub"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_CACAO).withTextures("minecraft:block/sapling/cacao"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_THORN).withTextures("minecraft:block/sapling/thorn"));
+        addDispatch(new CrossedSquaresBlockModel<>(Blocks.SAPLING_PALM).withTextures("minecraft:block/sapling/palm"));
 
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.TALLGRASS).withTextures("minecraft:block/tallgrass"));
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.TALLGRASS_FERN).withTextures("minecraft:block/fern"));
@@ -225,68 +224,68 @@ public class BlockModelDispatcher
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.SPINIFEX).withTextures("minecraft:block/spinifex"));
         addDispatch(new AlgaeBlockModel<>(Blocks.ALGAE).withTextures("minecraft:block/algae").withCustomItemBounds(0.0f, 0.01f, 0.0f, 1.0f, 0.0125f, 1.0f));
 
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_YELLOW, "minecraft:block/flower_yellow"));
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_RED, "minecraft:block/flower_red"));
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_PINK, "minecraft:block/flower_pink"));
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_PURPLE, "minecraft:block/flower_purple"));
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_LIGHT_BLUE, "minecraft:block/flower_light_blue"));
-        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_ORANGE, "minecraft:block/flower_orange"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_YELLOW, "minecraft:block/flower_yellow/"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_RED, "minecraft:block/flower_red/"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_PINK, "minecraft:block/flower_pink/"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_PURPLE, "minecraft:block/flower_purple/"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_LIGHT_BLUE, "minecraft:block/flower_lightblue/"));
+        addDispatch(new StackedFlowerBlockModel<>(Blocks.FLOWER_ORANGE, "minecraft:block/flower_orange/"));
 
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.MUSHROOM_BROWN).withTextures("minecraft:block/mushroom_brown"));
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.MUSHROOM_RED).withTextures("minecraft:block/mushroom_red"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_STONE).withTextures("minecraft:block/ore_coal_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_BASALT).withTextures("minecraft:block/ore_coal_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_LIMESTONE).withTextures("minecraft:block/ore_coal_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_GRANITE).withTextures("minecraft:block/ore_coal_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_PERMAFROST).withTextures("minecraft:block/ore_coal_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_STONE).withTextures("minecraft:block/ore_iron_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_BASALT).withTextures("minecraft:block/ore_iron_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_LIMESTONE).withTextures("minecraft:block/ore_iron_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_GRANITE).withTextures("minecraft:block/ore_iron_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_PERMAFROST).withTextures("minecraft:block/ore_iron_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_STONE).withTextures("minecraft:block/ore_gold_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_BASALT).withTextures("minecraft:block/ore_gold_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_LIMESTONE).withTextures("minecraft:block/ore_gold_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_GRANITE).withTextures("minecraft:block/ore_gold_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_PERMAFROST).withTextures("minecraft:block/ore_gold_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_STONE).withTextures("minecraft:block/ore_lapis_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_BASALT).withTextures("minecraft:block/ore_lapis_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_LIMESTONE).withTextures("minecraft:block/ore_lapis_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_GRANITE).withTextures("minecraft:block/ore_lapis_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_PERMAFROST).withTextures("minecraft:block/ore_lapis_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_STONE).withTextures("minecraft:block/ore_redstone_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_BASALT).withTextures("minecraft:block/ore_redstone_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_LIMESTONE).withTextures("minecraft:block/ore_redstone_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GRANITE).withTextures("minecraft:block/ore_redstone_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_PERMAFROST).withTextures("minecraft:block/ore_redstone_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_STONE).withTextures("minecraft:block/ore_redstone_stone").withOverbrightTexture("minecraft:block/ore_redstone_overlay"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_BASALT).withTextures("minecraft:block/ore_redstone_basalt").withOverbrightTexture("minecraft:block/ore_redstone_overlay"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_LIMESTONE).withTextures("minecraft:block/ore_redstone_limestone").withOverbrightTexture("minecraft:block/ore_redstone_overlay"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_GRANITE).withTextures("minecraft:block/ore_redstone_granite").withOverbrightTexture("minecraft:block/ore_redstone_overlay"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_PERMAFROST).withTextures("minecraft:block/ore_redstone_permafrost").withOverbrightTexture("minecraft:block/ore_redstone_overlay"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_STONE).withTextures("minecraft:block/ore_diamond_stone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_BASALT).withTextures("minecraft:block/ore_diamond_basalt"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_LIMESTONE).withTextures("minecraft:block/ore_diamond_limestone"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_GRANITE).withTextures("minecraft:block/ore_diamond_granite"));
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_PERMAFROST).withTextures("minecraft:block/ore_diamond_permafrost"));
-
-        addDispatch(new StandardBlockModel<>(Blocks.ORE_NETHERCOAL_NETHERRACK).withTextures("minecraft:block/ore_nethercoal_netherrack").withOverbrightTexture("minecraft:block/ore_nethercoal_netherrack_overlay"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_STONE).withTextures("minecraft:block/ore/coal/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_BASALT).withTextures("minecraft:block/ore/coal/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_LIMESTONE).withTextures("minecraft:block/ore/coal/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_GRANITE).withTextures("minecraft:block/ore/coal/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_COAL_PERMAFROST).withTextures("minecraft:block/ore/coal/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_STONE).withTextures("minecraft:block/ore/iron/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_BASALT).withTextures("minecraft:block/ore/iron/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_LIMESTONE).withTextures("minecraft:block/ore/iron/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_GRANITE).withTextures("minecraft:block/ore/iron/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_IRON_PERMAFROST).withTextures("minecraft:block/ore/iron/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_STONE).withTextures("minecraft:block/ore/gold/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_BASALT).withTextures("minecraft:block/ore/gold/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_LIMESTONE).withTextures("minecraft:block/ore/gold/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_GRANITE).withTextures("minecraft:block/ore/gold/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_GOLD_PERMAFROST).withTextures("minecraft:block/ore/gold/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_STONE).withTextures("minecraft:block/ore/lapis/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_BASALT).withTextures("minecraft:block/ore/lapis/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_LIMESTONE).withTextures("minecraft:block/ore/lapis/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_GRANITE).withTextures("minecraft:block/ore/lapis/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_LAPIS_PERMAFROST).withTextures("minecraft:block/ore/lapis/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_STONE).withTextures("minecraft:block/ore/redstone/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_BASALT).withTextures("minecraft:block/ore/redstone/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_LIMESTONE).withTextures("minecraft:block/ore/redstone/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GRANITE).withTextures("minecraft:block/ore/redstone/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_PERMAFROST).withTextures("minecraft:block/ore/redstone/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_STONE).withTextures("minecraft:block/ore/redstone/stone").withOverbrightTexture("minecraft:block/ore/redstone/overlay"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_BASALT).withTextures("minecraft:block/ore/redstone/basalt").withOverbrightTexture("minecraft:block/ore/redstone/overlay"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_LIMESTONE).withTextures("minecraft:block/ore/redstone/limestone").withOverbrightTexture("minecraft:block/ore/redstone/overlay"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_GRANITE).withTextures("minecraft:block/ore/redstone/granite").withOverbrightTexture("minecraft:block/ore/redstone/overlay"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_REDSTONE_GLOWING_PERMAFROST).withTextures("minecraft:block/ore/redstone/permafrost").withOverbrightTexture("minecraft:block/ore/redstone/overlay"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_STONE).withTextures("minecraft:block/ore/diamond/stone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_BASALT).withTextures("minecraft:block/ore/diamond/basalt"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_LIMESTONE).withTextures("minecraft:block/ore/diamond/limestone"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_GRANITE).withTextures("minecraft:block/ore/diamond/granite"));
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_DIAMOND_PERMAFROST).withTextures("minecraft:block/ore/diamond/permafrost"));
+
+        addDispatch(new StandardBlockModel<>(Blocks.ORE_NETHERCOAL_NETHERRACK).withTextures("minecraft:block/ore/nethercoal/netherrack").withOverbrightTexture("minecraft:block/ore/nethercoal/netherrack_overlay"));
 
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_COAL).withTextures("minecraft:block/block_coal"));
-        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_IRON).withTextures("minecraft:block/block_iron_top", "minecraft:block/block_iron_bottom", "minecraft:block/block_iron_side"));
-        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_GOLD).withTextures("minecraft:block/block_gold_top", "minecraft:block/block_gold_bottom", "minecraft:block/block_gold_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_IRON).withTextures("minecraft:block/block_iron/top", "minecraft:block/block_iron/bottom", "minecraft:block/block_iron/side"));
+        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_GOLD).withTextures("minecraft:block/block_gold/top", "minecraft:block/block_gold/bottom", "minecraft:block/block_gold/side"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_LAPIS).withTextures("minecraft:block/block_lapis"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_REDSTONE).withTextures("minecraft:block/block_redstone"));
-        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_DIAMOND).withTextures("minecraft:block/block_diamond_top", "minecraft:block/block_diamond_bottom", "minecraft:block/block_diamond_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_DIAMOND).withTextures("minecraft:block/block_diamond/top", "minecraft:block/block_diamond/bottom", "minecraft:block/block_diamond/side"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_NETHER_COAL).withTextures("minecraft:block/block_nethercoal").withOverbrightTexture("minecraft:block/block_nethercoal_overlay"));
-        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_STEEL).withTextures("minecraft:block/block_steel_top", "minecraft:block/block_steel_bottom", "minecraft:block/block_steel_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.BLOCK_STEEL).withTextures("minecraft:block/block_steel/top", "minecraft:block/block_steel/bottom", "minecraft:block/block_steel/side"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_QUARTZ).withTextures("minecraft:block/block_quartz"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_OLIVINE).withTextures("minecraft:block/block_olivine"));
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_CHARCOAL).withTextures("minecraft:block/block_charcoal"));
@@ -307,94 +306,105 @@ public class BlockModelDispatcher
         final float f1 = 0.125F;
         final float f2 = 0.5F;
         addDispatch(new StandardBlockModel<>(Blocks.PRESSURE_PLATE_STONE).withTextures("minecraft:block/stone").withCustomItemBounds(0.5F - f, 0.5F - f1, 0.5F - f2, 0.5F + f, 0.5F + f1, 0.5F + f2));
-        addDispatch(new StandardBlockModel<>(Blocks.PRESSURE_PLATE_PLANKS_OAK).withTextures("minecraft:block/planks_oak").withCustomItemBounds(0.5F - f, 0.5F - f1, 0.5F - f2, 0.5F + f, 0.5F + f1, 0.5F + f2));
+        addDispatch(new StandardBlockModel<>(Blocks.PRESSURE_PLATE_PLANKS_OAK).withTextures("minecraft:block/planks/oak").withCustomItemBounds(0.5F - f, 0.5F - f1, 0.5F - f2, 0.5F + f, 0.5F + f1, 0.5F + f2));
         addDispatch(new StandardBlockModel<>(Blocks.PRESSURE_PLATE_COBBLE_STONE).withTextures("minecraft:block/cobbled_stone").withCustomItemBounds(0.5F - f, 0.5F - f1, 0.5F - f2, 0.5F + f, 0.5F + f1, 0.5F + f2));
 
-        addDispatch(new MotionSensorBlockModel(Blocks.MOTION_SENSOR_IDLE).withTextures("minecraft:block/motionsensor_idle_front", "minecraft:block/motionsensor_side", "minecraft:block/motionsensor_side"));
-        addDispatch(new MotionSensorBlockModel(Blocks.MOTION_SENSOR_ACTIVE).withTextures("minecraft:block/motionsensor_active_front", "minecraft:block/motionsensor_side", "minecraft:block/motionsensor_side"));
-
-        addDispatch(new RepeaterBlockModel(Blocks.REPEATER_IDLE).withTextures("minecraft:block/repeater_idle_top", "minecraft:block/polished_stone_top"));
-        addDispatch(new RepeaterBlockModel(Blocks.REPEATER_ACTIVE).withTextures("minecraft:block/repeater_active_top", "minecraft:block/polished_stone_top").withOverbrightTexture("minecraft:block/repeater_active_overlay"));
-
-        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE, TextureRegistry.getTexture("minecraft:block/piston_face")).withTextures("minecraft:block/piston_face").withCustomItemBounds(0,0,0,1,1,1));
-        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE_STICKY,TextureRegistry.getTexture("minecraft:block/piston_face_sticky")).withTextures("minecraft:block/piston_face_sticky").withCustomItemBounds(0,0,0,1,1,1));
-        addDispatch(new PistonHeadBlockModel(Blocks.PISTON_HEAD, TextureRegistry.getTexture("minecraft:block/piston_side")).withTextures("minecraft:block/piston_face"));
+        addDispatch(new MotionSensorBlockModel(Blocks.MOTION_SENSOR_IDLE).withTextures("minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/idle_front", "minecraft:block/motion_sensor/side"));
+        addDispatch(new MotionSensorBlockModel(Blocks.MOTION_SENSOR_ACTIVE).withTextures("minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/side", "minecraft:block/motion_sensor/active_front", "minecraft:block/motion_sensor/side"));
+
+        addDispatch(new RepeaterBlockModel(Blocks.REPEATER_IDLE).withTextures("minecraft:block/repeater/idle_top", "minecraft:block/polished_stone_top"));
+        addDispatch(new RepeaterBlockModel(Blocks.REPEATER_ACTIVE).withTextures("minecraft:block/repeater/active_top", "minecraft:block/polished_stone_top").withOverbrightTexture("minecraft:block/repeater/active_overlay"));
+
+        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE,
+            TextureRegistry.getTexture("minecraft:block/piston/face"))
+            .setPistonTextures("minecraft:block/piston/side", "minecraft:block/piston/top", "minecraft:block/piston/bottom")
+            .withTextures("minecraft:block/piston/face")
+            .withCustomItemBounds(0,0,0,1,1,1));
+        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE_STICKY,
+            TextureRegistry.getTexture("minecraft:block/piston_sticky/face"))
+            .setPistonTextures("minecraft:block/piston_sticky/side", "minecraft:block/piston_sticky/top", "minecraft:block/piston_sticky/bottom")
+            .withTextures("minecraft:block/piston_sticky/face")
+            .withCustomItemBounds(0,0,0,1,1,1));
+        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE_STEEL,
+            TextureRegistry.getTexture("minecraft:block/piston_steel/face"), 6/16d)
+            .setPistonTextures("minecraft:block/piston_steel/side", "minecraft:block/piston_steel/top", "minecraft:block/piston_steel/bottom")
+            .withTextures("minecraft:block/piston_steel/face")
+            .withCustomItemBounds(0,0,0,1,1,1));
+
+        addDispatch(new PistonHeadBlockModel(Blocks.PISTON_HEAD, TextureRegistry.getTexture("minecraft:block/piston/side")).withTextures("minecraft:block/piston/face"));
         addDispatch(new EmptyBlockModel(Blocks.PISTON_MOVING));
-        addDispatch(new PistonBlockModel<>(Blocks.PISTON_BASE_STEEL,TextureRegistry.getTexture("minecraft:block/piston_face_steel"), 6/16d)
-            .setPistonTextures("minecraft:block/piston_side_steel", "minecraft:block/piston_top_steel", "minecraft:block/piston_bottom_steel")
-            .withTextures("minecraft:block/piston_face_steel").withCustomItemBounds(0,0,0,1,1,1));
-        addDispatch(new PistonHeadBlockModel(Blocks.PISTON_HEAD_STEEL, TextureRegistry.getTexture("minecraft:block/piston_side_steel"), 6/16d).withTextures("minecraft:block/piston_face_steel"));
+        addDispatch(new PistonHeadBlockModel(Blocks.PISTON_HEAD_STEEL, TextureRegistry.getTexture("minecraft:block/piston_steel/side"), 6/16d).withTextures("minecraft:block/piston_steel/face"));
 
         addDispatch(new StandardBlockModel<>(Blocks.NOTEBLOCK).withTextures("minecraft:block/noteblock"));
 
-        addDispatch(new RailBlockModel<>(Blocks.RAIL).withTextures("minecraft:block/rail_straight"));
-        addDispatch(new RailBlockModel<>(Blocks.RAIL_POWERED).withTextures("minecraft:block/rail_powered_idle"));
-        addDispatch(new RailBlockModel<>(Blocks.RAIL_DETECTOR).withTextures("minecraft:block/rail_detector"));
+        addDispatch(new RailBlockModel<>(Blocks.RAIL).withTextures("minecraft:block/rail/straight"));
+        addDispatch(new RailBlockModel<>(Blocks.RAIL_POWERED).withTextures("minecraft:block/rail_powered/idle"));
+        addDispatch(new RailBlockModel<>(Blocks.RAIL_DETECTOR).withTextures("minecraft:block/rail_detector/straight"));
 
-        addDispatch(new SpikesBlockModel<>(Blocks.SPIKES).withTextures("minecraft:block/spikes_top", "minecraft:block/spikes_bottom", "minecraft:block/spikes_side"));
+        addDispatch(new SpikesBlockModel<>(Blocks.SPIKES).withTextures("minecraft:block/spikes/top", "minecraft:block/spikes/bottom", "minecraft:block/spikes/side"));
 
-        addDispatch(new VeryRotatableBlockModel<>(Blocks.DISPENSER_COBBLE_STONE).withTextures("minecraft:block/dispenser_top", "minecraft:block/dispenser_bottom", "minecraft:block/dispenser_side", "minecraft:block/dispenser_side", "minecraft:block/dispenser_front", "minecraft:block/dispenser_side"));
-        addDispatch(new ActivatorBlockModel(Blocks.ACTIVATOR_COBBLE_NETHERRACK).withTextures("minecraft:block/activator_top", "minecraft:block/activator_bottom", "minecraft:block/activator_side", "minecraft:block/activator_side", "minecraft:block/activator_front", "minecraft:block/activator_side"));
+        addDispatch(new VeryRotatableBlockModel<>(Blocks.DISPENSER_COBBLE_STONE).withTextures("minecraft:block/dispenser/top", "minecraft:block/dispenser/bottom", "minecraft:block/dispenser/side", "minecraft:block/dispenser/side", "minecraft:block/dispenser/front", "minecraft:block/dispenser/side"));
+        addDispatch(new ActivatorBlockModel(Blocks.ACTIVATOR_COBBLE_NETHERRACK).withTextures("minecraft:block/activator/top", "minecraft:block/activator/bottom", "minecraft:block/activator/side", "minecraft:block/activator/side", "minecraft:block/activator/front", "minecraft:block/activator/side"));
 
-        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_PLANKS_OAK).withTextures("minecraft:block/trapdoor_planks_oak_top", "minecraft:block/trapdoor_planks_oak_side"));
-        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_IRON).withTextures("minecraft:block/trapdoor_iron_top", "minecraft:block/trapdoor_iron_side"));
-        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_GLASS).withTextures("minecraft:block/glass", "minecraft:block/trapdoor_glass_side"));
+        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_PLANKS_OAK).withTextures("minecraft:block/trapdoor/planks/top", "minecraft:block/trapdoor/planks/side"));
+        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_IRON).withTextures("minecraft:block/trapdoor/iron/top", "minecraft:block/trapdoor/iron/side"));
+        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_GLASS).withTextures("minecraft:block/trapdoor/glass/top", "minecraft:block/trapdoor/glass/side"));
         addDispatch(new TrapDoorPaintedBlockModel<>(Blocks.TRAPDOOR_PLANKS_PAINTED));
-        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_STEEL).withTextures("minecraft:block/trapdoor_steel_top", "minecraft:block/trapdoor_steel_side"));
+        addDispatch(new TrapDoorBlockModel<>(Blocks.TRAPDOOR_STEEL).withTextures("minecraft:block/trapdoor/steel/top", "minecraft:block/trapdoor/steel/side"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.TNT).withTextures("minecraft:block/tnt_top", "minecraft:block/tnt_bottom", "minecraft:block/tnt_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.TNT).withTextures("minecraft:block/tnt/top", "minecraft:block/tnt/bottom", "minecraft:block/tnt/side"));
 
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_PLANKS_OAK_BOTTOM).withTextures("minecraft:block/trapdoor_planks_oak_top", "minecraft:block/door_planks_oak_bottom"));
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_PLANKS_OAK_TOP).withTextures("minecraft:block/trapdoor_planks_oak_top", "minecraft:block/door_planks_oak_top"));
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_IRON_BOTTOM).withTextures("minecraft:block/trapdoor_iron_top", "minecraft:block/door_iron_bottom"));
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_IRON_TOP).withTextures("minecraft:block/trapdoor_iron_top", "minecraft:block/door_iron_top"));
-        addDispatch(new PaintedDoorBlockModel<>(Blocks.DOOR_PLANKS_PAINTED_BOTTOM, false).withTextures("minecraft:block/trapdoor_planks_oak_top", "minecraft:block/door_planks_oak_bottom"));
-        addDispatch(new PaintedDoorBlockModel<>(Blocks.DOOR_PLANKS_PAINTED_TOP, true).withTextures("minecraft:block/trapdoor_planks_oak_top", "minecraft:block/door_planks_oak_top"));
-        addDispatch(new GlassDoorBlockModel<>(Blocks.DOOR_GLASS_BOTTOM).withTextures("minecraft:block/glass", "minecraft:block/door_glass_bottom"));
-        addDispatch(new GlassDoorBlockModel<>(Blocks.DOOR_GLASS_TOP).withTextures("minecraft:block/glass", "minecraft:block/door_glass_top"));
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_STEEL_BOTTOM).withTextures("minecraft:block/door_steel_frame_top", "minecraft:block/door_steel_bottom"));
-        addDispatch(new DoorBlockModel<>(Blocks.DOOR_STEEL_TOP).withTextures("minecraft:block/door_steel_frame_top", "minecraft:block/door_steel_top"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_PLANKS_OAK_BOTTOM).withTextures("minecraft:block/door/planks/frame_top", "minecraft:block/door/planks/bottom"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_PLANKS_OAK_TOP).withTextures("minecraft:block/door/planks/frame_top", "minecraft:block/door/planks/top"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_IRON_BOTTOM).withTextures("minecraft:block/door/iron/frame_top", "minecraft:block/door/iron/bottom"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_IRON_TOP).withTextures("minecraft:block/door/iron/frame_top", "minecraft:block/door/iron/top"));
+        addDispatch(new PaintedDoorBlockModel<>(Blocks.DOOR_PLANKS_PAINTED_BOTTOM, false).withTextures("minecraft:block/door/planks/frame_top", "minecraft:block/door/planks/bottom"));
+        addDispatch(new PaintedDoorBlockModel<>(Blocks.DOOR_PLANKS_PAINTED_TOP, true).withTextures("minecraft:block/door/planks/frame_top", "minecraft:block/door/planks/top"));
+        addDispatch(new GlassDoorBlockModel<>(Blocks.DOOR_GLASS_BOTTOM).withTextures("minecraft:block/door/glass/frame_top", "minecraft:block/door/glass/bottom"));
+        addDispatch(new GlassDoorBlockModel<>(Blocks.DOOR_GLASS_TOP).withTextures("minecraft:block/door/glass/frame_top", "minecraft:block/door/glass/top"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_STEEL_BOTTOM).withTextures("minecraft:block/door/steel/frame_top", "minecraft:block/door/steel/bottom"));
+        addDispatch(new DoorBlockModel<>(Blocks.DOOR_STEEL_TOP).withTextures("minecraft:block/door/steel/frame_top", "minecraft:block/door/steel/top"));
 
         addDispatch(new TransparentBlockModel<>(Blocks.MESH, true).withTextures("minecraft:block/mesh"));
         addDispatch(new TransparentBlockModel<>(Blocks.MESH_GOLD, true).withTextures("minecraft:block/mesh_gold"));
 
         addDispatch(new BedBlockModel<>(Blocks.BED));
-        addDispatch(new SeatBlockModel<>(Blocks.SEAT).withTextures("minecraft:block/seat_top", "minecraft:block/planks_oak", "minecraft:block/seat_side"));
+        addDispatch(new SeatBlockModel<>(Blocks.SEAT).withTextures("minecraft:block/seat/top", "minecraft:block/seat/bottom", "minecraft:block/seat/side"));
 
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.COBWEB).withTextures("minecraft:block/cobweb"));
         addDispatch(new FireBlockModel<>(Blocks.FIRE).withTextures("minecraft:block/fire"));
-        addDispatch(new BrazierBlockModel<>(Blocks.BRAZIER_INACTIVE).withTextures("minecraft:block/brazier_base", "minecraft:block/brazier_side"));
-        addDispatch(new BrazierBlockModel<>(Blocks.BRAZIER_ACTIVE).withTextures("minecraft:block/brazier_base", "minecraft:block/brazier_side"));
+        addDispatch(new BrazierBlockModel<>(Blocks.BRAZIER_INACTIVE).withTextures("minecraft:block/brazier/base", "minecraft:block/brazier/side"));
+        addDispatch(new BrazierBlockModel<>(Blocks.BRAZIER_ACTIVE).withTextures("minecraft:block/brazier/base", "minecraft:block/brazier/side"));
 
         addDispatch(new StandardBlockModel<>(Blocks.MOBSPAWNER).withTextures("minecraft:block/mobspawner"));
         addDispatch(new TransparentBlockModel<>(Blocks.MOBSPAWNER_DEACTIVATED, true).withTextures("minecraft:block/mobspawner"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.WORKBENCH).withTextures("minecraft:block/workbench_top", "minecraft:block/planks_oak", "minecraft:block/workbench_front", "minecraft:block/workbench_side", "minecraft:block/workbench_front", "minecraft:block/workbench_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.WORKBENCH).withTextures("minecraft:block/workbench/top", "minecraft:block/workbench/bottom", "minecraft:block/workbench/front", "minecraft:block/workbench/side", "minecraft:block/workbench/front", "minecraft:block/workbench/side"));
 
-        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_STONE_IDLE).withTextures("minecraft:block/furnace_stone_top", "minecraft:block/furnace_stone_bottom", "minecraft:block/furnace_stone_idle_front", "minecraft:block/furnace_stone_side", "minecraft:block/furnace_stone_side", "minecraft:block/furnace_stone_side"));
-        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_STONE_ACTIVE).withTextures("minecraft:block/furnace_stone_top", "minecraft:block/furnace_stone_bottom", "minecraft:block/furnace_stone_active_front", "minecraft:block/furnace_stone_side", "minecraft:block/furnace_stone_side", "minecraft:block/furnace_stone_side"));
-        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_BLAST_IDLE).withTextures("minecraft:block/furnace_blast_top", "minecraft:block/furnace_blast_bottom", "minecraft:block/furnace_blast_idle_front", "minecraft:block/furnace_blast_side", "minecraft:block/furnace_blast_side", "minecraft:block/furnace_blast_side"));
-        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_BLAST_ACTIVE).withTextures("minecraft:block/furnace_blast_top", "minecraft:block/furnace_blast_bottom", "minecraft:block/furnace_blast_active_front", "minecraft:block/furnace_blast_side", "minecraft:block/furnace_blast_side", "minecraft:block/furnace_blast_side"));
+        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_STONE_IDLE).withTextures("minecraft:block/furnace_stone/top", "minecraft:block/furnace_stone/bottom", "minecraft:block/furnace_stone/idle_front", "minecraft:block/furnace_stone/side", "minecraft:block/furnace_stone/side", "minecraft:block/furnace_stone/side"));
+        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_STONE_ACTIVE).withTextures("minecraft:block/furnace_stone/top", "minecraft:block/furnace_stone/bottom", "minecraft:block/furnace_stone/active_front", "minecraft:block/furnace_stone/side", "minecraft:block/furnace_stone/side", "minecraft:block/furnace_stone/side"));
+        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_BLAST_IDLE).withTextures("minecraft:block/furnace_blast/top", "minecraft:block/furnace_blast/bottom", "minecraft:block/furnace_blast/idle_front", "minecraft:block/furnace_blast/side", "minecraft:block/furnace_blast/side", "minecraft:block/furnace_blast/side"));
+        addDispatch(new FurnaceBlockModel<>(Blocks.FURNACE_BLAST_ACTIVE).withTextures("minecraft:block/furnace_blast/top", "minecraft:block/furnace_blast/bottom", "minecraft:block/furnace_blast/active_front", "minecraft:block/furnace_blast/side", "minecraft:block/furnace_blast/side", "minecraft:block/furnace_blast/side"));
 
-        addDispatch(new HorizontalRotationBlockModel<>(Blocks.TROMMEL_IDLE).withTextures("minecraft:block/trommel_top", "minecraft:block/trommel_top", "minecraft:block/trommel_idle_front", "minecraft:block/trommel_side_slot", "minecraft:block/trommel_idle_front", "minecraft:block/trommel_side"));
-        addDispatch(new HorizontalRotationBlockModel<>(Blocks.TROMMEL_ACTIVE).withTextures("minecraft:block/trommel_top", "minecraft:block/trommel_top", "minecraft:block/trommel_active_front", "minecraft:block/trommel_side_slot", "minecraft:block/trommel_active_back", "minecraft:block/trommel_side"));
+        addDispatch(new HorizontalRotationBlockModel<>(Blocks.TROMMEL_IDLE).withTextures("minecraft:block/trommel/top", "minecraft:block/trommel/top", "minecraft:block/trommel/idle_front", "minecraft:block/trommel/side_slot", "minecraft:block/trommel/idle_front", "minecraft:block/trommel/side"));
+        addDispatch(new HorizontalRotationBlockModel<>(Blocks.TROMMEL_ACTIVE).withTextures("minecraft:block/trommel/top", "minecraft:block/trommel/top", "minecraft:block/trommel/active_front", "minecraft:block/trommel/side_slot", "minecraft:block/trommel/active_back", "minecraft:block/trommel/side"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.CHEST_LEGACY).withTextures("minecraft:block/chest_planks_oak_top"));
-        addDispatch(new StandardBlockModel<>(Blocks.CHEST_LEGACY_PAINTED).withTextures("minecraft:block/chest_planks_oak_top"));
-        addDispatch(new ChestBlockModel<>(Blocks.CHEST_PLANKS_OAK, "minecraft:block/chest_planks_oak").withTextures("minecraft:block/chest_planks_oak_top"));
-        addDispatch(new PaintedChestBlockModel<>(Blocks.CHEST_PLANKS_OAK_PAINTED).withTextures("minecraft:block/chest_planks_oak_top"));
+        addDispatch(new StandardBlockModel<>(Blocks.CHEST_LEGACY).withTextures("minecraft:block/chest/planks/top"));
+        addDispatch(new StandardBlockModel<>(Blocks.CHEST_LEGACY_PAINTED).withTextures("minecraft:block/chest/planks/top"));
+        addDispatch(new ChestBlockModel<>(Blocks.CHEST_PLANKS_OAK, "minecraft:block/chest/planks/").withTextures("minecraft:block/chest/planks/top"));
+        addDispatch(new PaintedChestBlockModel<>(Blocks.CHEST_PLANKS_OAK_PAINTED).withTextures("minecraft:block/chest/planks/top"));
 
         addDispatch(new CropsWheatBlockModel<>(Blocks.CROPS_WHEAT));
         addDispatch(new CropsPumpkinBlockModel<>(Blocks.CROPS_PUMPKIN));
 
-        addDispatch(new FarmlandBlockModel<>(Blocks.FARMLAND_DIRT).withTextures("minecraft:block/dirt"));
+        addDispatch(new FarmlandBlockModel<>(Blocks.FARMLAND_DIRT).withTextures("minecraft:block/farmland/dry"));
 
-        addDispatch(new EmptyBlockModel(Blocks.SIGN_POST_PLANKS_OAK).withTextures("minecraft:block/planks_oak"));
-        addDispatch(new EmptyBlockModel(Blocks.SIGN_WALL_PLANKS_OAK).withTextures("minecraft:block/planks_oak"));
-        addDispatch(new EmptyBlockModel(Blocks.FLAG).withTextures("minecraft:block/planks_oak"));
+        addDispatch(new EmptyBlockModel(Blocks.SIGN_POST_PLANKS_OAK).withTextures("minecraft:block/planks/oak"));
+        addDispatch(new EmptyBlockModel(Blocks.SIGN_WALL_PLANKS_OAK).withTextures("minecraft:block/planks/oak"));
+        addDispatch(new EmptyBlockModel(Blocks.FLAG).withTextures("minecraft:block/planks/oak"));
 
         addDispatch(new LayerBlockModel<>(Blocks.LAYER_SNOW).withTextures("minecraft:block/block_snow"));
-        addDispatch(new LayerBlockModel<>(Blocks.LAYER_LEAVES_OAK).withTextures("minecraft:block/leaves_oak_fancy"));
+        addDispatch(new LayerBlockModel<>(Blocks.LAYER_LEAVES_OAK).withTextures("minecraft:block/leaves/oak_fancy"));
         addDispatch(new LayerBlockModel<>(Blocks.LAYER_SLATE).withTextures("minecraft:block/slate_top", "minecraft:block/slate_side"));
 
         addDispatch(new IceBlockModel<>(Blocks.ICE).withTextures("minecraft:block/ice"));
@@ -402,21 +412,21 @@ public class BlockModelDispatcher
 
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_SNOW).withTextures("minecraft:block/block_snow"));
 
-        addDispatch(new CactusBlockModel<>(Blocks.CACTUS).withTextures("minecraft:block/cactus_top", "minecraft:block/cactus_bottom", "minecraft:block/cactus_side"));
+        addDispatch(new CactusBlockModel<>(Blocks.CACTUS).withTextures("minecraft:block/cactus/top", "minecraft:block/cactus/bottom", "minecraft:block/cactus/side"));
 
         addDispatch(new StandardBlockModel<>(Blocks.BLOCK_CLAY).withTextures("minecraft:block/block_clay"));
 
         addDispatch(new CrossedSquaresBlockModel<>(Blocks.SUGARCANE).withTextures("minecraft:block/sugarcane"));
 
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.BLOCK_SUGARCANE).withTextures("minecraft:block/block_sugarcane_top", "minecraft:block/block_sugarcane_side"));
-        addDispatch(new AxisAlignedBlockModel<>(Blocks.BLOCK_SUGARCANE_BAKED).withTextures("minecraft:block/block_sugarcane_baked_top", "minecraft:block/block_sugarcane_baked_side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.BLOCK_SUGARCANE).withTextures("minecraft:block/block_sugarcane/top", "minecraft:block/block_sugarcane/side"));
+        addDispatch(new AxisAlignedBlockModel<>(Blocks.BLOCK_SUGARCANE_BAKED).withTextures("minecraft:block/block_baked_sugarcane/top", "minecraft:block/block_baked_sugarcane/side"));
 
-        addDispatch(new StandardBlockModel<>(Blocks.JUKEBOX).withTextures("minecraft:block/jukebox_top", "minecraft:block/jukebox_side", "minecraft:block/jukebox_side"));
+        addDispatch(new StandardBlockModel<>(Blocks.JUKEBOX).withTextures("minecraft:block/jukebox/top", "minecraft:block/jukebox/bottom", "minecraft:block/jukebox/side"));
 
-        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN).withTextures("minecraft:block/pumpkin_top", "minecraft:block/pumpkin_bottom", "minecraft:block/pumpkin_side"));
-        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN_CARVED_IDLE).withTextures("minecraft:block/pumpkin_top", "minecraft:block/pumpkin_bottom", "minecraft:block/pumpkin_carved_idle", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side"));
-        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN_CARVED_ACTIVE).withTextures("minecraft:block/pumpkin_top", "minecraft:block/pumpkin_bottom", "minecraft:block/pumpkin_carved_active", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side"));
-        addDispatch(new RedstonePumpkinBlockModel(Blocks.PUMPKIN_REDSTONE).withTextures("minecraft:block/pumpkin_top", "minecraft:block/pumpkin_bottom", "minecraft:block/pumpkin_redstone", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side", "minecraft:block/pumpkin_side"));
+        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN).withTextures("minecraft:block/pumpkin/top", "minecraft:block/pumpkin/bottom", "minecraft:block/pumpkin/side"));
+        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN_CARVED_IDLE).withTextures("minecraft:block/pumpkin_carved/top", "minecraft:block/pumpkin_carved/bottom", "minecraft:block/pumpkin_carved/front", "minecraft:block/pumpkin_carved/side", "minecraft:block/pumpkin_carved/side", "minecraft:block/pumpkin_carved/side"));
+        addDispatch(new HorizontalRotationBlockModel<>(Blocks.PUMPKIN_CARVED_ACTIVE).withTextures("minecraft:block/pumpkin_carved_lit/top", "minecraft:block/pumpkin_carved_lit/bottom", "minecraft:block/pumpkin_carved_lit/front", "minecraft:block/pumpkin_carved_lit/side", "minecraft:block/pumpkin_carved_lit/side", "minecraft:block/pumpkin_carved_lit/side"));
+        addDispatch(new RedstonePumpkinBlockModel(Blocks.PUMPKIN_REDSTONE).withTextures("minecraft:block/pumpkin_redstone/top", "minecraft:block/pumpkin_redstone/bottom", "minecraft:block/pumpkin_redstone/front", "minecraft:block/pumpkin_redstone/side", "minecraft:block/pumpkin_redstone/side", "minecraft:block/pumpkin_redstone/side"));
 
 
         addDispatch(new StandardBlockModel<>(Blocks.COBBLE_NETHERRACK).withTextures("minecraft:block/cobbled_netherrack"));
@@ -438,25 +448,25 @@ public class BlockModelDispatcher
         addDispatch(new PortalBlockModel<>(Blocks.PORTAL_NETHER).withTextures("minecraft:block/portal_nether"));
         addDispatch(new PortalBlockModel<>(Blocks.PORTAL_PARADISE).withTextures("minecraft:block/portal_nether"));
 
-        addDispatch(new CakeBlockModel<>(Blocks.CAKE).withTextures("minecraft:block/cake_top", "minecraft:block/cake_bottom", "minecraft:block/cake_side"));
-        addDispatch(new PumpkinPieBlockModel<>(Blocks.PUMPKIN_PIE).withTextures("minecraft:block/pumpkin_pie_top", "minecraft:block/pumpkin_pie_bottom", "minecraft:block/pumpkin_pie_side"));
+        addDispatch(new CakeBlockModel<>(Blocks.CAKE).withTextures("minecraft:block/cake/top", "minecraft:block/cake/bottom", "minecraft:block/cake/side"));
+        addDispatch(new PumpkinPieBlockModel<>(Blocks.PUMPKIN_PIE).withTextures("minecraft:block/pumpkin_pie/top", "minecraft:block/pumpkin_pie/bottom", "minecraft:block/pumpkin_pie/side"));
 
         addDispatch(new LampBlockModel<>(Blocks.LAMP_IDLE));
         addDispatch(new LampBlockModel<>(Blocks.LAMP_ACTIVE));
 
-        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_GREEN).withTextures("minecraft:block/lantern_firefly_green"));
-        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_BLUE).withTextures("minecraft:block/lantern_firefly_blue"));
-        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_ORANGE).withTextures("minecraft:block/lantern_firefly_orange"));
-        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_RED).withTextures("minecraft:block/lantern_firefly_red"));
+        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_GREEN).withTextures("minecraft:block/lantern_firefly/green"));
+        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_BLUE).withTextures("minecraft:block/lantern_firefly/blue"));
+        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_ORANGE).withTextures("minecraft:block/lantern_firefly/orange"));
+        addDispatch(new LanternBlockModel<>(Blocks.LANTERN_FIREFLY_RED).withTextures("minecraft:block/lantern_firefly/red"));
         addDispatch(new JarBlockModel<>(Blocks.JAR_GLASS));
 
         addDispatch(new PebblesBlockModel<>(Blocks.OVERLAY_PEBBLES));
 
-        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_CHAINLINK,TextureRegistry.getTexture("minecraft:block/fence_chain_center"), null, TextureRegistry.getTexture("minecraft:block/fence_chain_top"), TextureRegistry.getTexture("minecraft:block/fence_chain_column")).withTextures("minecraft:block/fence_chain_center"));
-        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_PAPER_WALL,TextureRegistry.getTexture("minecraft:block/fence_paper_center"), null, null, TextureRegistry.getTexture("minecraft:block/fence_paper_column")).withTextures("minecraft:block/fence_paper_center"));
-        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_STEEL,TextureRegistry.getTexture("minecraft:block/fence_steel_center"), null, TextureRegistry.getTexture("minecraft:block/fence_steel_top"), TextureRegistry.getTexture("minecraft:block/fence_steel_column")).withTextures("minecraft:block/fence_steel_center"));
+        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_CHAINLINK,TextureRegistry.getTexture("minecraft:block/fence_chain/center"), null, TextureRegistry.getTexture("minecraft:block/fence_chain/top"), TextureRegistry.getTexture("minecraft:block/fence_chain/column")).withTextures("minecraft:block/fence_chain/center"));
+        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_PAPER_WALL,TextureRegistry.getTexture("minecraft:block/fence_paper/center"), null, null, TextureRegistry.getTexture("minecraft:block/fence_paper/column")).withTextures("minecraft:block/fence_paper/center"));
+        addDispatch(new FenceThinBlockModel<>(Blocks.FENCE_STEEL,TextureRegistry.getTexture("minecraft:block/fence_steel/center"), null, TextureRegistry.getTexture("minecraft:block/fence_steel/top"), TextureRegistry.getTexture("minecraft:block/fence_steel/column")).withTextures("minecraft:block/fence_steel/center"));
 
-        addDispatch(new BasketBlockModel<>(Blocks.BASKET).withTextures("minecraft:block/basket_bottom", "minecraft:block/basket_side"));
+        addDispatch(new BasketBlockModel<>(Blocks.BASKET).withTextures("minecraft:block/basket/bottom", "minecraft:block/basket/side"));
 
         addDispatch(new StandardBlockModel<>(Blocks.PAPER_WALL).withTextures("minecraft:block/paperwall"));
     }
diff --git a/src/main/java/net/minecraft/client/render/block/model/BrazierBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/BrazierBlockModel.java
index 14a1e2eaf..3d099b5f8 100644
--- a/src/main/java/net/minecraft/client/render/block/model/BrazierBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/BrazierBlockModel.java
@@ -13,8 +13,8 @@ import org.lwjgl.opengl.GL11;
 
 public class BrazierBlockModel<T extends BrazierBlock>
     extends StandardBlockModel<T> {
-    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/brazier_side");
-    protected IconCoordinate baseTexture = TextureRegistry.getTexture("minecraft:block/brazier_base");
+    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/brazier/side");
+    protected IconCoordinate baseTexture = TextureRegistry.getTexture("minecraft:block/brazier/base");
     protected StandardBlockModel<Block> fireModel = new FireBlockModel<>(Blocks.FIRE, true).withTextures("minecraft:block/fire");
 
     public BrazierBlockModel(Block block) {
diff --git a/src/main/java/net/minecraft/client/render/block/model/CacaoLeavesBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/CacaoLeavesBlockModel.java
index 32f2dda26..13784cbdd 100644
--- a/src/main/java/net/minecraft/client/render/block/model/CacaoLeavesBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/CacaoLeavesBlockModel.java
@@ -11,12 +11,12 @@ import org.lwjgl.opengl.GL11;
 
 public class CacaoLeavesBlockModel<T extends Block> extends LeavesBlockModel<T> {
     protected IconCoordinate[] growthStages = new IconCoordinate[]{
-            TextureRegistry.getTexture("minecraft:block/leaves_cacao_bean_stage0"),
-            TextureRegistry.getTexture("minecraft:block/leaves_cacao_bean_stage1"),
-            TextureRegistry.getTexture("minecraft:block/leaves_cacao_bean_stage2"),
-            TextureRegistry.getTexture("minecraft:block/leaves_cacao_bean_stage3")};
+            TextureRegistry.getTexture("minecraft:block/leaves/cacao_bean_stage0"),
+            TextureRegistry.getTexture("minecraft:block/leaves/cacao_bean_stage1"),
+            TextureRegistry.getTexture("minecraft:block/leaves/cacao_bean_stage2"),
+            TextureRegistry.getTexture("minecraft:block/leaves/cacao_bean_stage3")};
     public CacaoLeavesBlockModel(Block block) {
-        super(block, "minecraft:block/leaves_cacao");
+        super(block, "minecraft:block/leaves/cacao");
         assert growthStages.length == CacaoLeavesBlock.MAX_GROWTH_STATE : "There must be a texture associated with every cacao bean stage!";
     }
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/CakeBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/CakeBlockModel.java
index 099ac455c..a947da4fa 100644
--- a/src/main/java/net/minecraft/client/render/block/model/CakeBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/CakeBlockModel.java
@@ -6,7 +6,7 @@ import net.minecraft.core.block.Block;
 import net.minecraft.core.util.helper.Side;
 
 public class CakeBlockModel<T extends Block> extends StandardBlockModel<T> {
-    protected IconCoordinate cakeInner = TextureRegistry.getTexture("minecraft:block/cake_inner");
+    protected IconCoordinate cakeInner = TextureRegistry.getTexture("minecraft:block/cake/inner");
     public CakeBlockModel(Block block) {
         super(block);
         float f = 0.0625F;
diff --git a/src/main/java/net/minecraft/client/render/block/model/ChestBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/ChestBlockModel.java
index 2844dfb7a..29727a4fe 100644
--- a/src/main/java/net/minecraft/client/render/block/model/ChestBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/ChestBlockModel.java
@@ -18,13 +18,13 @@ public class ChestBlockModel<T extends Block> extends StandardBlockModel<T> {
     protected IconCoordinate chestTop;
     public ChestBlockModel(Block block, String rootKey) {
         super(block);
-        chestFrontSingle = TextureRegistry.getTexture(rootKey + "_front");
-        chestFrontLeft = TextureRegistry.getTexture(rootKey + "_left_front");
-        chestFrontRight = TextureRegistry.getTexture(rootKey + "_right_front");
-        chestBackLeft = TextureRegistry.getTexture(rootKey + "_left_back");
-        chestBackRight = TextureRegistry.getTexture(rootKey + "_right_back");
-        chestSide = TextureRegistry.getTexture(rootKey + "_side");
-        chestTop = TextureRegistry.getTexture(rootKey + "_top");
+        chestFrontSingle = TextureRegistry.getTexture(rootKey + "front");
+        chestFrontLeft = TextureRegistry.getTexture(rootKey + "left_front");
+        chestFrontRight = TextureRegistry.getTexture(rootKey + "right_front");
+        chestBackLeft = TextureRegistry.getTexture(rootKey + "left_back");
+        chestBackRight = TextureRegistry.getTexture(rootKey + "right_back");
+        chestSide = TextureRegistry.getTexture(rootKey + "side");
+        chestTop = TextureRegistry.getTexture(rootKey + "top");
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/client/render/block/model/CropsPumpkinBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/CropsPumpkinBlockModel.java
index d1cc13db0..967fb26f0 100644
--- a/src/main/java/net/minecraft/client/render/block/model/CropsPumpkinBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/CropsPumpkinBlockModel.java
@@ -9,19 +9,19 @@ import net.minecraft.core.util.helper.Side;
 
 public class CropsPumpkinBlockModel<T extends Block> extends StandardBlockModel<T> {
     public static final IconCoordinate[] GROWTH_STAGE_TEXTURES_TOP = {
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage1_top"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage2_top"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage3_top"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage4_top")
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage1_top"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage2_top"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage3_top"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage4_top")
     };
     public static final IconCoordinate[] GROWTH_STAGE_TEXTURES_SIDE = {
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage1_side"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage2_side"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage3_side"),
-            TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage4_side")
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage1_side"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage2_side"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage3_side"),
+            TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage4_side")
     };
 
-    public static final IconCoordinate LEAF_TEXTURE = TextureRegistry.getTexture("minecraft:block/crops_pumpkin_stage0");
+    public static final IconCoordinate LEAF_TEXTURE = TextureRegistry.getTexture("minecraft:block/crops_pumpkin/stage0");
 
     public CropsPumpkinBlockModel(Block block) {
         super(block);
diff --git a/src/main/java/net/minecraft/client/render/block/model/CropsWheatBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/CropsWheatBlockModel.java
index e41c614f2..d22ef58cc 100644
--- a/src/main/java/net/minecraft/client/render/block/model/CropsWheatBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/CropsWheatBlockModel.java
@@ -11,14 +11,14 @@ import net.minecraft.core.util.helper.Side;
 
 public class CropsWheatBlockModel<T extends Block> extends StandardBlockModel<T> {
     public final IconCoordinate[] growthStageTextures = {
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage0"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage1"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage2"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage3"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage4"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage5"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage6"),
-            TextureRegistry.getTexture("minecraft:block/crops_wheat_stage7")
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage0"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage1"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage2"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage3"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage4"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage5"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage6"),
+            TextureRegistry.getTexture("minecraft:block/crops_wheat/stage7")
     };
 
     public CropsWheatBlockModel(Block block) {
diff --git a/src/main/java/net/minecraft/client/render/block/model/FarmlandBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/FarmlandBlockModel.java
index a2e4c9ac0..bf777338d 100644
--- a/src/main/java/net/minecraft/client/render/block/model/FarmlandBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/FarmlandBlockModel.java
@@ -3,15 +3,17 @@ package net.minecraft.client.render.block.model;
 import net.minecraft.client.render.texture.stitcher.IconCoordinate;
 import net.minecraft.client.render.texture.stitcher.TextureRegistry;
 import net.minecraft.core.block.Block;
+import net.minecraft.core.block.Blocks;
 import net.minecraft.core.block.FarmlandBlock;
 import net.minecraft.core.util.helper.Side;
+import net.minecraft.core.world.WorldSource;
 
 public class FarmlandBlockModel<T extends Block> extends StandardBlockModel<T> {
-    protected IconCoordinate topWet = TextureRegistry.getTexture("minecraft:block/farmland_wet_top");
-    protected IconCoordinate topWetFertilized = TextureRegistry.getTexture("minecraft:block/farmland_wet_fertilized_top");
-    protected IconCoordinate topDry = TextureRegistry.getTexture("minecraft:block/farmland_dry_top");
-    protected IconCoordinate topDryFertilized = TextureRegistry.getTexture("minecraft:block/farmland_dry_fertilized_top");
-    protected IconCoordinate mud = TextureRegistry.getTexture("minecraft:block/mud");
+    protected IconCoordinate topWet = TextureRegistry.getTexture("minecraft:block/farmland/wet_top");
+    protected IconCoordinate topWetFertilized = TextureRegistry.getTexture("minecraft:block/farmland/wet_fertilized_top");
+    protected IconCoordinate topDry = TextureRegistry.getTexture("minecraft:block/farmland/dry_top");
+    protected IconCoordinate topDryFertilized = TextureRegistry.getTexture("minecraft:block/farmland/dry_fertilized_top");
+    protected IconCoordinate mud = TextureRegistry.getTexture("minecraft:block/farmland/wet");
 
     public FarmlandBlockModel(Block block) {
         super(block);
@@ -40,4 +42,10 @@ public class FarmlandBlockModel<T extends Block> extends StandardBlockModel<T> {
             return atlasIndices[side.getId()];
         }
     }
+
+    @Override
+    public boolean shouldSideBeRendered(WorldSource blockAccess, int x, int y, int z, int side) {
+        if (side >= 2 && blockAccess.getBlockId(x, y, z) == Blocks.FARMLAND_DIRT.id) return false;
+        return super.shouldSideBeRendered(blockAccess, x, y, z, side);
+    }
 }
diff --git a/src/main/java/net/minecraft/client/render/block/model/FloweringCherryLeavesBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/FloweringCherryLeavesBlockModel.java
index f38dda9c1..6fd3e7ef6 100644
--- a/src/main/java/net/minecraft/client/render/block/model/FloweringCherryLeavesBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/FloweringCherryLeavesBlockModel.java
@@ -9,10 +9,10 @@ import org.jetbrains.annotations.Nullable;
 import org.lwjgl.opengl.GL11;
 
 public class FloweringCherryLeavesBlockModel<T extends Block> extends LeavesBlockModel<T> {
-    private final IconCoordinate grownCherryOverlay = TextureRegistry.getTexture("minecraft:block/leaves_cherry_overlay");
-    private final IconCoordinate floweringCherryOverlay = TextureRegistry.getTexture("minecraft:block/leaves_cherry_flowering_overlay");
+    private final IconCoordinate grownCherryOverlay = TextureRegistry.getTexture("minecraft:block/leaves/cherry_overlay");
+    private final IconCoordinate floweringCherryOverlay = TextureRegistry.getTexture("minecraft:block/leaves/cherry_flowering_overlay");
     public FloweringCherryLeavesBlockModel(Block block) {
-        super(block, "minecraft:block/leaves_cherry");
+        super(block, "minecraft:block/leaves/cherry");
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/client/render/block/model/GrassBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/GrassBlockModel.java
index 365741006..2a1808869 100644
--- a/src/main/java/net/minecraft/client/render/block/model/GrassBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/GrassBlockModel.java
@@ -18,11 +18,11 @@ public class GrassBlockModel<T extends Block> extends StandardBlockModel<T> {
     private static final IconCoordinate[] overlayIndices = new IconCoordinate[]{
             null,
             null,
-            TextureRegistry.getTexture("minecraft:block/grass_side_overlay"),
-            TextureRegistry.getTexture("minecraft:block/grass_side_overlay"),
-            TextureRegistry.getTexture("minecraft:block/grass_side_overlay"),
-            TextureRegistry.getTexture("minecraft:block/grass_side_overlay")};
-    protected IconCoordinate snowSide = TextureRegistry.getTexture("minecraft:block/grass_snowy_side");
+            TextureRegistry.getTexture("minecraft:block/grass/side_overlay"),
+            TextureRegistry.getTexture("minecraft:block/grass/side_overlay"),
+            TextureRegistry.getTexture("minecraft:block/grass/side_overlay"),
+            TextureRegistry.getTexture("minecraft:block/grass/side_overlay")};
+    protected IconCoordinate snowSide = TextureRegistry.getTexture("minecraft:block/grass/snowy_side");
     public GrassBlockModel(Block block) {
         super(block);
     }
diff --git a/src/main/java/net/minecraft/client/render/block/model/LampBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/LampBlockModel.java
index aeb0d8e59..3eeae3dae 100644
--- a/src/main/java/net/minecraft/client/render/block/model/LampBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/LampBlockModel.java
@@ -14,8 +14,8 @@ public class LampBlockModel<T extends LampBlock> extends StandardBlockModel<T> {
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            texCoordsInactive[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/lamp_" + c.colorID + "_idle");
-            texCoordsActive[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/lamp_" + c.colorID + "_active");
+            texCoordsInactive[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/lamp/" + c.colorID + "_idle");
+            texCoordsActive[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/lamp/" + c.colorID + "_active");
         }
     }
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/MotionSensorBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/MotionSensorBlockModel.java
index 34929a8f3..609a4404e 100644
--- a/src/main/java/net/minecraft/client/render/block/model/MotionSensorBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/MotionSensorBlockModel.java
@@ -8,7 +8,7 @@ import net.minecraft.core.block.MotionSensorBlock;
 import net.minecraft.core.util.helper.Side;
 
 public class MotionSensorBlockModel extends VeryRotatableBlockModel<MotionSensorBlock> {
-    protected IconCoordinate overlay = TextureRegistry.getTexture("minecraft:block/motionsensor_overlay");
+    protected IconCoordinate overlay = TextureRegistry.getTexture("minecraft:block/motion_sensor/active_front_overlay");
     public MotionSensorBlockModel(Block block) {
         super(block);
     }
diff --git a/src/main/java/net/minecraft/client/render/block/model/PaintedChestBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PaintedChestBlockModel.java
index 7461e32df..015412d8d 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PaintedChestBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PaintedChestBlockModel.java
@@ -21,19 +21,19 @@ public class PaintedChestBlockModel<T extends Block> extends ChestBlockModel<T>
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            String rootKey = "minecraft:block/chest_planks_oak_painted_" + c.colorID;
+            String rootKey = "minecraft:block/chest/planks_" + c.colorID + "/";
             texCoords[c.blockMeta] = new IconCoordinate[7];
-            texCoords[c.blockMeta][TEX_SINGLE_FRONT] = TextureRegistry.getTexture(rootKey + "_front");
-            texCoords[c.blockMeta][TEX_LEFT_FRONT] = TextureRegistry.getTexture(rootKey + "_left_front");
-            texCoords[c.blockMeta][TEX_RIGHT_FRONT] = TextureRegistry.getTexture(rootKey + "_right_front");
-            texCoords[c.blockMeta][TEX_LEFT_BACK] = TextureRegistry.getTexture(rootKey + "_left_back");
-            texCoords[c.blockMeta][TEX_RIGHT_BACK] = TextureRegistry.getTexture(rootKey + "_right_back");
-            texCoords[c.blockMeta][TEX_SIDE] = TextureRegistry.getTexture(rootKey + "_side");
-            texCoords[c.blockMeta][TEX_TOP] = TextureRegistry.getTexture(rootKey + "_top");
+            texCoords[c.blockMeta][TEX_SINGLE_FRONT] = TextureRegistry.getTexture(rootKey + "front");
+            texCoords[c.blockMeta][TEX_LEFT_FRONT] = TextureRegistry.getTexture(rootKey + "left_front");
+            texCoords[c.blockMeta][TEX_RIGHT_FRONT] = TextureRegistry.getTexture(rootKey + "right_front");
+            texCoords[c.blockMeta][TEX_LEFT_BACK] = TextureRegistry.getTexture(rootKey + "left_back");
+            texCoords[c.blockMeta][TEX_RIGHT_BACK] = TextureRegistry.getTexture(rootKey + "right_back");
+            texCoords[c.blockMeta][TEX_SIDE] = TextureRegistry.getTexture(rootKey + "side");
+            texCoords[c.blockMeta][TEX_TOP] = TextureRegistry.getTexture(rootKey + "top");
         }
     }
     public PaintedChestBlockModel(Block block) {
-        super(block, "minecraft:block/chest_planks_oak");
+        super(block, "minecraft:block/chest/planks/");
     }
 
     @Override
diff --git a/src/main/java/net/minecraft/client/render/block/model/PaintedDoorBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PaintedDoorBlockModel.java
index 66ddeb97c..9ed8bf4c1 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PaintedDoorBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PaintedDoorBlockModel.java
@@ -11,11 +11,13 @@ import net.minecraft.core.util.helper.Side;
 public class PaintedDoorBlockModel<T extends DoorBlock> extends DoorBlockModel<T> {
     public static final IconCoordinate[] doorBottomTextures = new IconCoordinate[DyeColor.COLOR_AMOUNT];
     public static final IconCoordinate[] doorTopTextures = new IconCoordinate[DyeColor.COLOR_AMOUNT];
+    public static final IconCoordinate[] frameTopTextures = new IconCoordinate[DyeColor.COLOR_AMOUNT];
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            doorTopTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/door_planks_oak_" + c.colorID + "_top");
-            doorBottomTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/door_planks_oak_" + c.colorID + "_bottom");
+            doorTopTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/door/planks_" + c.colorID + "/top");
+            doorBottomTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/door/planks_" + c.colorID + "/bottom");
+            doorBottomTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/door/planks_" + c.colorID + "/frame_top");
         }
     }
     private final boolean isTop;
@@ -28,7 +30,7 @@ public class PaintedDoorBlockModel<T extends DoorBlock> extends DoorBlockModel<T
     {
         int color = (data >> 4) & DyeColor.MASK_COLOR;
         if (side.getAxis() == Axis.Y){
-            return TrapDoorPaintedBlockModel.topTextures[color];
+            return frameTopTextures[color];
         } else if (isTop){
             return doorTopTextures[color];
         }
diff --git a/src/main/java/net/minecraft/client/render/block/model/PebblesBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PebblesBlockModel.java
index 9df336ece..c0aca2b45 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PebblesBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PebblesBlockModel.java
@@ -10,9 +10,9 @@ import net.minecraft.core.util.helper.Side;
 
 public class PebblesBlockModel<T extends Block> extends StandardBlockModel<T> {
     protected IconCoordinate[] pebbles = {
-            TextureRegistry.getTexture("minecraft:block/pebbles0"),
-            TextureRegistry.getTexture("minecraft:block/pebbles1"),
-            TextureRegistry.getTexture("minecraft:block/pebbles2")
+            TextureRegistry.getTexture("minecraft:block/pebbles/0"),
+            TextureRegistry.getTexture("minecraft:block/pebbles/1"),
+            TextureRegistry.getTexture("minecraft:block/pebbles/2")
     };
     public PebblesBlockModel(Block block) {
         super(block);
diff --git a/src/main/java/net/minecraft/client/render/block/model/PistonBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PistonBlockModel.java
index 3ca6f7468..df6c8f903 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PistonBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PistonBlockModel.java
@@ -11,9 +11,9 @@ import org.jetbrains.annotations.Nullable;
 
 public class PistonBlockModel<T extends PistonBaseBlock> extends StandardBlockModel<T> {
     private final IconCoordinate faceTexture;
-    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/piston_side");
-    protected IconCoordinate topTexture = TextureRegistry.getTexture("minecraft:block/piston_top");
-    protected IconCoordinate bottomTexture = TextureRegistry.getTexture("minecraft:block/piston_bottom");
+    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/piston/side");
+    protected IconCoordinate topTexture = TextureRegistry.getTexture("minecraft:block/piston/top");
+    protected IconCoordinate bottomTexture = TextureRegistry.getTexture("minecraft:block/piston/bottom");
 
     protected final double headThickness;
     public PistonBlockModel(Block block, IconCoordinate faceTexture){
diff --git a/src/main/java/net/minecraft/client/render/block/model/PistonHeadBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PistonHeadBlockModel.java
index 0c49435fd..9444fab51 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PistonHeadBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PistonHeadBlockModel.java
@@ -13,9 +13,9 @@ import org.jetbrains.annotations.Nullable;
 
 public class PistonHeadBlockModel extends StandardBlockModel<PistonHeadBlock> {
     protected IconCoordinate pistonSide;
-    protected IconCoordinate pistonDry = TextureRegistry.getTexture("minecraft:block/piston_face");
-    protected IconCoordinate pistonSticky = TextureRegistry.getTexture("minecraft:block/piston_face_sticky");
-    protected IconCoordinate pistonSteel = TextureRegistry.getTexture("minecraft:block/piston_face_steel");
+    protected IconCoordinate pistonDry = TextureRegistry.getTexture("minecraft:block/piston/face");
+    protected IconCoordinate pistonSticky = TextureRegistry.getTexture("minecraft:block/piston_sticky/face");
+    protected IconCoordinate pistonSteel = TextureRegistry.getTexture("minecraft:block/piston_steel/face");
     @Nullable
     public IconCoordinate faceTextureOverride;
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/PlanksPaintedBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PlanksPaintedBlockModel.java
index 26c0820fc..1a0bb8866 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PlanksPaintedBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PlanksPaintedBlockModel.java
@@ -11,7 +11,7 @@ public class PlanksPaintedBlockModel<T extends Block> extends StandardBlockModel
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            texCoords[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/planks_oak_painted_" + c.colorID);
+            texCoords[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/planks/" + c.colorID);
         }
     }
 
diff --git a/src/main/java/net/minecraft/client/render/block/model/PumpkinPieBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/PumpkinPieBlockModel.java
index 82cef26e1..1396706b0 100644
--- a/src/main/java/net/minecraft/client/render/block/model/PumpkinPieBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/PumpkinPieBlockModel.java
@@ -8,9 +8,9 @@ import net.minecraft.core.block.EdibleBlock;
 import net.minecraft.core.util.helper.Side;
 
 public class PumpkinPieBlockModel<T extends Block> extends StandardBlockModel<T> {
-    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie_side");
-    protected IconCoordinate insideTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie_inside");
-    protected IconCoordinate topTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie_top");
+    protected IconCoordinate sideTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie/side");
+    protected IconCoordinate insideTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie/inner");
+    protected IconCoordinate topTexture = TextureRegistry.getTexture("minecraft:block/pumpkin_pie/top");
 
     public PumpkinPieBlockModel(Block block) {
         super(block);
diff --git a/src/main/java/net/minecraft/client/render/block/model/RailBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/RailBlockModel.java
index 31dde58f5..117022fb1 100644
--- a/src/main/java/net/minecraft/client/render/block/model/RailBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/RailBlockModel.java
@@ -12,10 +12,10 @@ import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.WorldSource;
 
 public class RailBlockModel<T extends RailBlock> extends StandardBlockModel<T> {
-    protected IconCoordinate railCurve = TextureRegistry.getTexture("minecraft:block/rail_turn");
-    protected IconCoordinate powerActive = TextureRegistry.getTexture("minecraft:block/rail_powered_active");
-    protected IconCoordinate powerActiveOverlay = TextureRegistry.getTexture("minecraft:block/rail_powered_overlay");
-    protected IconCoordinate detectorActiveOverlay = TextureRegistry.getTexture("minecraft:block/rail_detector_overlay");
+    protected IconCoordinate railCurve = TextureRegistry.getTexture("minecraft:block/rail/turn");
+    protected IconCoordinate powerActive = TextureRegistry.getTexture("minecraft:block/rail_powered/active");
+    protected IconCoordinate powerActiveOverlay = TextureRegistry.getTexture("minecraft:block/rail_powered/active_overlay");
+    protected IconCoordinate detectorActiveOverlay = TextureRegistry.getTexture("minecraft:block/rail_detector/active_overlay");
 
     public RailBlockModel(Block block) {
         super(block);
diff --git a/src/main/java/net/minecraft/client/render/block/model/TrapDoorPaintedBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/TrapDoorPaintedBlockModel.java
index 69da98a57..5b5fc60b3 100644
--- a/src/main/java/net/minecraft/client/render/block/model/TrapDoorPaintedBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/TrapDoorPaintedBlockModel.java
@@ -15,8 +15,8 @@ public class TrapDoorPaintedBlockModel<T extends Block> extends TrapDoorBlockMod
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            topTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/trapdoor_planks_oak_" + c.colorID + "_top");
-            sideTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/trapdoor_planks_oak_" + c.colorID + "_side");
+            topTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/trapdoor/planks_" + c.colorID + "/top");
+            sideTextures[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/trapdoor/planks_" + c.colorID + "/side");
         }
     }
     public TrapDoorPaintedBlockModel(Block block) {
diff --git a/src/main/java/net/minecraft/client/render/block/model/VeryRotatableBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/VeryRotatableBlockModel.java
index be0447f4e..260bfe43a 100644
--- a/src/main/java/net/minecraft/client/render/block/model/VeryRotatableBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/VeryRotatableBlockModel.java
@@ -68,9 +68,9 @@ public class VeryRotatableBlockModel<T extends Block> extends StandardBlockModel
             case DOWN:
                 switch (side) {
                     case NORTH:
-                        return Side.BOTTOM.getId();
-                    case SOUTH:
                         return Side.TOP.getId();
+                    case SOUTH:
+                        return Side.BOTTOM.getId();
                     case TOP:
                         return Side.NORTH.getId();
                     case BOTTOM:
diff --git a/src/main/java/net/minecraft/client/render/block/model/WoolBlockModel.java b/src/main/java/net/minecraft/client/render/block/model/WoolBlockModel.java
index 946b878f3..12f284f16 100644
--- a/src/main/java/net/minecraft/client/render/block/model/WoolBlockModel.java
+++ b/src/main/java/net/minecraft/client/render/block/model/WoolBlockModel.java
@@ -11,7 +11,7 @@ public class WoolBlockModel<T extends Block> extends StandardBlockModel<T> {
 
     static {
         for (DyeColor c : DyeColor.blockOrderedColors()){
-            texCoords[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/wool_" + c.colorID);
+            texCoords[c.blockMeta] = TextureRegistry.getTexture("minecraft:block/wool/" + c.colorID);
         }
     }
     public WoolBlockModel(Block block) {
diff --git a/src/main/java/net/minecraft/client/render/dynamictexture/DynamicTextureTrommel.java b/src/main/java/net/minecraft/client/render/dynamictexture/DynamicTextureTrommel.java
index a4caede0c..7b8433298 100644
--- a/src/main/java/net/minecraft/client/render/dynamictexture/DynamicTextureTrommel.java
+++ b/src/main/java/net/minecraft/client/render/dynamictexture/DynamicTextureTrommel.java
@@ -25,7 +25,7 @@ public class DynamicTextureTrommel extends DynamicTextureRotating {
 		
 		BufferedImage atlasImage = targetTexture.parentAtlas.atlas;
 		
-		IconCoordinate foreground = TextureRegistry.getTexture("minecraft:block/trommel_active_front_foreground");
+		IconCoordinate foreground = TextureRegistry.getTexture("minecraft:block/trommel/active_front_foreground");
 		dialImageData = new byte[foreground.getArea() * 4];
 		for(int x=0; x < foreground.width; x++) {
 			for(int y=0; y < foreground.height; y++) {
@@ -34,7 +34,7 @@ public class DynamicTextureTrommel extends DynamicTextureRotating {
 		}
 		dialTexRes = foreground.width;
 		
-		IconCoordinate background = TextureRegistry.getTexture("minecraft:block/trommel_active_front_background");
+		IconCoordinate background = TextureRegistry.getTexture("minecraft:block/trommel/active_front_background");
 		clockImageData = new byte[background.getArea() * 4];
 		for(int x=0; x < background.width; x++) {
 			for(int y=0; y < background.height; y++) {
diff --git a/src/main/java/net/minecraft/client/render/texture/stitcher/AtlasStitcher.java b/src/main/java/net/minecraft/client/render/texture/stitcher/AtlasStitcher.java
index 5a1913d90..5c43bbc57 100644
--- a/src/main/java/net/minecraft/client/render/texture/stitcher/AtlasStitcher.java
+++ b/src/main/java/net/minecraft/client/render/texture/stitcher/AtlasStitcher.java
@@ -69,6 +69,7 @@ public class AtlasStitcher extends Texture {
         for (IconCoordinate coordinate : coordinateList){
             futures.add(service.submit(new SetupTexture(mc, coordinate, defaultTexture)));
         }
+
         for (Future<?> f : futures) {
             try {
                 f.get();
diff --git a/src/main/java/net/minecraft/client/render/texture/stitcher/IconCoordinate.java b/src/main/java/net/minecraft/client/render/texture/stitcher/IconCoordinate.java
index 7f70fb9d0..baa93cde0 100644
--- a/src/main/java/net/minecraft/client/render/texture/stitcher/IconCoordinate.java
+++ b/src/main/java/net/minecraft/client/render/texture/stitcher/IconCoordinate.java
@@ -28,7 +28,8 @@ public class IconCoordinate implements Comparable<IconCoordinate> {
         this.namespaceId = namespaceId;
         this.sourceImage = sourceImage;
     }
-    protected void setImage(BufferedImage image){
+    protected void setImage(@NotNull BufferedImage image){
+        assert image != null : "setImage cannot take null!";
         this.pendingDimensions = true;
         this._imageStorage = image;
     }
@@ -59,6 +60,7 @@ public class IconCoordinate implements Comparable<IconCoordinate> {
         return width * height;
     }
     protected void drawToAtlas(Graphics2D atlas){
+        assert _imageStorage != null : "Image storage should not be null!! something went wrong with image '" + namespaceId + "' at '" + sourceImage + "'!";
         if (width != _imageStorage.getWidth() || height != _imageStorage.getHeight()) {
             int[] subImage = _imageStorage.getRGB(0, 0, width, height, null, 0, width);
             BufferedImage _img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
diff --git a/src/main/java/net/minecraft/client/sound/SoundEngine.java b/src/main/java/net/minecraft/client/sound/SoundEngine.java
index 41ff4cf9c..c20b8064d 100644
--- a/src/main/java/net/minecraft/client/sound/SoundEngine.java
+++ b/src/main/java/net/minecraft/client/sound/SoundEngine.java
@@ -10,6 +10,7 @@ import net.minecraft.core.entity.Mob;
 import net.minecraft.core.sound.SoundCategory;
 import net.minecraft.core.util.helper.MathHelper;
 import net.minecraft.client.option.GameSettings;
+import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import paulscode.sound.SoundSystem;
 import paulscode.sound.SoundSystemConfig;
@@ -20,7 +21,7 @@ public class SoundEngine
 {
 	private static final Logger LOGGER = LogUtils.getLogger();
   private static final int MUSIC_INTERVAL = 6000;
-	private static SoundSystem soundSystem;
+	private static @Nullable SoundSystem soundSystem;
 	private static boolean loaded = false;
 
 	public static final String BG_MUSIC = "BgMusic";
@@ -40,7 +41,7 @@ public class SoundEngine
     }
 
 	public void destroy() {
-		if (loaded) {
+		if (loaded && soundSystem != null) {
 			soundSystem.cleanup();
 		}
 	}
@@ -199,6 +200,9 @@ public class SoundEngine
 	}
 
 	public void playSoundWithIdAtPos(SoundEntry entry, SoundCategory category, float x, float y, float z, float volume, final float pitch, String soundID) {
+		if (!loaded || muted || soundSystem == null || !SoundCategoryHelper.isAnyEnabled(options)) {
+			return;
+		}
 		if (entry != null) {
 			float soundDistance = entry.attenuationDistance;
 			if(volume > 1.0F)
@@ -271,6 +275,9 @@ public class SoundEngine
 	}
 
 	public void stopMusic() {
+		if (!loaded || soundSystem == null) {
+			return;
+		}
 		soundSystem.stop(BG_MUSIC);
 		soundSystem.stop(STREAMING);
 	}
@@ -298,7 +305,7 @@ public class SoundEngine
         }
         loaded = true;
     }
-	public static SoundSystem getSoundSystem(){
+	public static @Nullable SoundSystem getSoundSystem(){
 		return soundSystem;
 	}
 
diff --git a/src/main/java/net/minecraft/client/util/helper/Textures.java b/src/main/java/net/minecraft/client/util/helper/Textures.java
index 9de2b4a8d..1cfa4db2a 100644
--- a/src/main/java/net/minecraft/client/util/helper/Textures.java
+++ b/src/main/java/net/minecraft/client/util/helper/Textures.java
@@ -28,7 +28,7 @@ import org.slf4j.Logger;
 
 public class Textures {
 	private static final Logger LOGGER = LogUtils.getLogger();
-	public static BufferedImage missingTexture;
+	public final static BufferedImage missingTexture;
 	
 	static {
 		missingTexture = new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB);
diff --git a/src/main/java/net/minecraft/core/block/Block.java b/src/main/java/net/minecraft/core/block/Block.java
index 1a2816ff9..bd4dceb6b 100644
--- a/src/main/java/net/minecraft/core/block/Block.java
+++ b/src/main/java/net/minecraft/core/block/Block.java
@@ -556,8 +556,6 @@ public class Block
 
     public void onActivatorInteract(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction) {
     }
-    public void onBlockPlacedByActivator(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction) {
-    }
 
     public void onEntityWalking(World world, int x, int y, int z, Entity entity)
     {
diff --git a/src/main/java/net/minecraft/core/block/ButtonBlock.java b/src/main/java/net/minecraft/core/block/ButtonBlock.java
index 6d0d00b53..d3eafa59f 100644
--- a/src/main/java/net/minecraft/core/block/ButtonBlock.java
+++ b/src/main/java/net/minecraft/core/block/ButtonBlock.java
@@ -2,6 +2,7 @@ package net.minecraft.core.block;
 
 import net.minecraft.core.block.entity.ActivatorBlockEntity;
 import net.minecraft.core.block.material.Material;
+import net.minecraft.core.entity.Mob;
 import net.minecraft.core.entity.player.Player;
 import net.minecraft.core.enums.EnumDropCause;
 import net.minecraft.core.item.Item;
@@ -94,9 +95,52 @@ public class ButtonBlock extends Block
         return world.isBlockNormalCube(x, y, z + 1);
     }
 
+    @Override
+    public void onBlockPlacedByMob(World world, int x, int y, int z, @NotNull Side side, Mob mob, double xPlaced, double yPlaced) {
+        int orientation = -1;
+        switch (side) {
+            case BOTTOM:
+                if (world.isBlockNormalCube(x, y + 1, z)) {
+                    orientation = SIDE_TOP;
+                }
+                break;
+            case TOP:
+                if (world.isBlockNormalCube(x, y - 1, z)) {
+                    orientation = SIDE_BOTTOM;
+                }
+                break;
+            case NORTH:
+                if (world.isBlockNormalCube(x, y, z + 1)) {
+                    orientation = SIDE_SOUTH;
+                }
+                break;
+            case SOUTH:
+                if (world.isBlockNormalCube(x, y, z - 1)) {
+                    orientation = SIDE_NORTH;
+                }
+                break;
+            case WEST:
+                if (world.isBlockNormalCube(x + 1, y, z)) {
+                    orientation = SIDE_EAST;
+                }
+                break;
+            case EAST:
+                if (world.isBlockNormalCube(x - 1, y, z)) {
+                    orientation = SIDE_EAST;
+                }
+                break;
+        }
+        if (orientation == -1) {
+            orientation = getOrientation(world, x, y, z);
+        }
+        int meta = world.getBlockMetadata(x, y, z);
+        world.setBlockMetadataWithNotify(x, y, z, (meta & ~MASK_DIRECTION) | orientation);
+    }
+
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
         int orientation = -1;
+        if (side.isHorizontal()) side = side.getOpposite();
         switch (side) {
             case BOTTOM:
                 if (world.isBlockNormalCube(x, y + 1, z)) {
diff --git a/src/main/java/net/minecraft/core/block/ChestBlock.java b/src/main/java/net/minecraft/core/block/ChestBlock.java
index 62dcfcfe2..8c8ebeda5 100644
--- a/src/main/java/net/minecraft/core/block/ChestBlock.java
+++ b/src/main/java/net/minecraft/core/block/ChestBlock.java
@@ -137,7 +137,7 @@ public class ChestBlock extends EntityBlock implements IPaintable {
 
 	@Override
 	public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-		Direction direction = side.getOpposite().getDirection();
+		Direction direction = side.getDirection();
 		Type type = Type.SINGLE;
 
         if (direction == Direction.NORTH) {
diff --git a/src/main/java/net/minecraft/core/block/FarmlandBlock.java b/src/main/java/net/minecraft/core/block/FarmlandBlock.java
index ba3fb8f88..8fbaf76fa 100644
--- a/src/main/java/net/minecraft/core/block/FarmlandBlock.java
+++ b/src/main/java/net/minecraft/core/block/FarmlandBlock.java
@@ -25,9 +25,9 @@ public class FarmlandBlock extends Block implements IBonemealable
 	public FarmlandBlock(String key, String namespaceId, int id)
 	{
 		super(key, namespaceId, id, Material.dirt);
-		setTicking(true);
 		setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F);
 		withLightBlock(255);
+		setTicking(true);
 	}
 
 	public static boolean isWet(int data) {
@@ -54,6 +54,12 @@ public class FarmlandBlock extends Block implements IBonemealable
 		}
 	}
 
+	@Override
+	public int tickDelay()
+	{
+		return 60;
+	}
+
 	@Override
 	public AABB getCollisionBoundingBoxFromPool(final WorldSource world, final int x, final int y, final int z)
 	{
@@ -112,20 +118,19 @@ public class FarmlandBlock extends Block implements IBonemealable
 		return false;
 	}
 
-	private boolean isWaterNearby(final World world, final int x, final int y, final int z)
+	private boolean isWaterNearby(final World world, final int x, final int y, final int z, int range)
 	{
-		for (int ix = x - 4; ix <= x + 4; ix++)
+		for (int x1 = x - range; x1 <= x + range; x1++)
 		{
-			for (int iy = y; iy <= y + 1; iy++)
+			for (int y1 = y - range; y1 <= y + range; y1++)
 			{
-				for (int iz = z - 4; iz <= z + 4; iz++)
+				for (int z1 = z - range; z1 <= z + range; z1++)
 				{
-					if (Block.hasTag(world.getBlockId(ix, iy, iz), BlockTags.IS_WATER))
+					if (Block.hasTag(world.getBlockId(x1, y1, z1), BlockTags.IS_WATER))
 					{
 						return true;
 					}
 				}
-
 			}
 
 		}
@@ -152,6 +157,12 @@ public class FarmlandBlock extends Block implements IBonemealable
 		}
 	}
 
+	@Override
+	public void onBlockPlacedByWorld(World world, int x, int y, int z)
+	{
+		world.scheduleBlockUpdate(x, y, z, id, tickDelay() - world.rand.nextInt(10) + world.rand.nextInt(10));
+	}
+
 	@Override
 	public void onNeighborBlockChange(final World world, final int x, final int y, final int z, final int blockId)
 	{
@@ -164,7 +175,37 @@ public class FarmlandBlock extends Block implements IBonemealable
 			else
 				world.setBlockWithNotify(x, y, z, Blocks.DIRT.id);
 
+		} else {
+			world.scheduleBlockUpdate(x, y, z, id, tickDelay() - world.rand.nextInt(10) + world.rand.nextInt(10));
+		}
+	}
+
+	private boolean canBecomeWet(final World world, final int x, final int y, final int z)
+	{
+		// If there's water within 1 block, it can become wet
+		if(isWaterNearby(world, x, y, z, 1))
+			return true;
+
+		// If there's water 3 blocks...
+		if(isWaterNearby(world, x, y, z, 4)){
+			for (int x1 = x - 1; x1 <= x + 1; x1++)
+			{
+				for (int y1 = y - 1; y1 <= y + 1; y1++)
+				{
+					for (int z1 = z - 1; z1 <= z + 1; z1++)
+					{
+						//...And the block is next to another wet mud block, it can become wet
+						int bID = world.getBlockId(x1, y1, z1);
+						if (bID == Blocks.MUD.id || (bID == Blocks.FARMLAND_DIRT.id && FarmlandBlock.isWet(world.getBlockMetadata(x1, y1, z1))))
+						{
+							return true;
+						}
+					}
+				}
+
+			}
 		}
+		return false;
 	}
 
 	@Override
@@ -175,16 +216,23 @@ public class FarmlandBlock extends Block implements IBonemealable
 
 	@Override
 	public void updateTick(final World world, final int x, final int y, final int z, final Random rand) {
-		if (rand.nextInt(5) == 0) {
-			int data = world.getBlockMetadata(x, y, z);
-			if (isWaterNearby(world, x, y, z) || world.canBlockBeRainedOn(x, y + 1, z)) {
-				world.setBlockMetadataWithNotify(x, y, z, setWet(data, getWet(data) - 1));
-			} else {
-				if (isWet(data)) {
-					world.setBlockMetadataWithNotify(x, y, z, setWet(data, 0));
-				} else if (!isCropsNearby(world, x, y, z)) {
-					world.setBlockWithNotify(x, y, z, Blocks.DIRT.id);
-				}
+		if (rand.nextInt(2) != 0) {
+			world.scheduleBlockUpdate(x, y, z, id, tickDelay() - rand.nextInt(10) + rand.nextInt(10));
+			return;
+		}
+		int data = world.getBlockMetadata(x, y, z);
+		int hydration = getWet(data);
+		if (isWaterNearby(world, x, y, z, 4) || world.canBlockBeRainedOn(x, y + 1, z)) {
+			if (hydration < 15 && canBecomeWet(world, x, y, z)) {
+				world.setBlockMetadataWithNotify(x, y, z, setWet(data, hydration + 1));
+				world.scheduleBlockUpdate(x, y, z, id, tickDelay() - rand.nextInt(10) + rand.nextInt(10));
+			}
+		} else {
+			if (hydration > 0) {
+				world.setBlockMetadataWithNotify(x, y, z, setWet(data, hydration - 1));
+				world.scheduleBlockUpdate(x, y, z, id, tickDelay() - rand.nextInt(10) + rand.nextInt(10));
+			} else if (!isCropsNearby(world, x, y, z)) {
+				world.setBlockWithNotify(x, y, z, Blocks.DIRT.id);
 			}
 		}
 	}
diff --git a/src/main/java/net/minecraft/core/block/FullRotatableBlock.java b/src/main/java/net/minecraft/core/block/FullRotatableBlock.java
index 5d3947869..cd1a70b42 100644
--- a/src/main/java/net/minecraft/core/block/FullRotatableBlock.java
+++ b/src/main/java/net/minecraft/core/block/FullRotatableBlock.java
@@ -23,9 +23,7 @@ public abstract class FullRotatableBlock extends Block {
 
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-        final Direction direction = side.getOpposite().getDirection();
-
-        world.setBlockMetadataWithNotify(x, y, z, directionToMeta(direction));
+        world.setBlockMetadataWithNotify(x, y, z, directionToMeta(side.getDirection()));
     }
 
     public static int directionToMeta(Direction direction) {
@@ -35,11 +33,4 @@ public abstract class FullRotatableBlock extends Block {
     public static Direction metaToDirection(int meta) {
         return Direction.getDirectionById(meta & MASK_DIRECTION);
     }
-
-    @Override
-    public void onBlockPlacedByActivator(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction)
-    {
-        super.onBlockPlacedByActivator(world, x, y, z, activator, direction);
-        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, direction));
-    }
 }
diff --git a/src/main/java/net/minecraft/core/block/LeverBlock.java b/src/main/java/net/minecraft/core/block/LeverBlock.java
index 5f1b849cf..62e0a9e9b 100644
--- a/src/main/java/net/minecraft/core/block/LeverBlock.java
+++ b/src/main/java/net/minecraft/core/block/LeverBlock.java
@@ -123,7 +123,7 @@ public class LeverBlock extends Block
         int meta = world.getBlockMetadata(x, y, z);
         boolean isPowered = isPowered(meta);
         int rotation = -1;
-        switch (side){
+        switch (side.getOpposite()){
             case BOTTOM:
                 if (world.canPlaceOnSurfaceOfBlock(x, y + 1, z)){
                     rotation = ROTATION_BOTTOM_NS;
diff --git a/src/main/java/net/minecraft/core/block/MudBlock.java b/src/main/java/net/minecraft/core/block/MudBlock.java
index 920a9d5bf..ac605af30 100644
--- a/src/main/java/net/minecraft/core/block/MudBlock.java
+++ b/src/main/java/net/minecraft/core/block/MudBlock.java
@@ -86,7 +86,8 @@ public class MudBlock extends Block{
                     for (int z1 = z - 1; z1 <= z + 1; z1++)
                     {
                         //...And the block is next to another wet mud block, it can become wet
-                        if (world.getBlockId(x1, y1, z1) == Blocks.MUD.id)
+                        int bID = world.getBlockId(x1, y1, z1);
+                        if (bID == Blocks.MUD.id || (bID == Blocks.FARMLAND_DIRT.id && FarmlandBlock.isWet(world.getBlockMetadata(x1, y1, z1))))
                         {
                             return true;
                         }
@@ -162,7 +163,7 @@ public class MudBlock extends Block{
     @Override
     public void updateTick(final World world, final int x, final int y, final int z, final Random rand)
     {
-        // dry out mud
+        // hydrate mud
         if(isHardened) {
             if(!isLavaNearby(world, x, y, z)) {
                 if (canBecomeWet(world, x, y, z)) {
@@ -173,6 +174,7 @@ public class MudBlock extends Block{
             }
         }
 
+        // dry out mud
         if(!isHardened){
             if(isLavaNearby(world, x, y, z) || world.dimension.id == Dimension.NETHER.id) {
                 world.playSoundEffect(null, SoundCategory.WORLD_SOUNDS, x + 0.5D, y + 0.5D, z + 0.5D, "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F);
diff --git a/src/main/java/net/minecraft/core/block/RotatableBlock.java b/src/main/java/net/minecraft/core/block/RotatableBlock.java
index 679dc3e81..af90e4f69 100644
--- a/src/main/java/net/minecraft/core/block/RotatableBlock.java
+++ b/src/main/java/net/minecraft/core/block/RotatableBlock.java
@@ -30,14 +30,8 @@ public abstract class RotatableBlock extends Block{
 
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-        if (!side.isHorizontal()) side = Side.NORTH;
-        world.setBlockMetadataWithNotify(x, y, z, side.getOpposite().getId());
+        if (!side.isHorizontal()) side = Side.SOUTH;
+        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, side.getDirection()));
     }
 
-    public void onBlockPlacedByActivator(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction)
-    {
-        super.onBlockPlacedByActivator(world, x, y, z, activator, direction);
-        if (direction.getOffsetY() != 0) direction = Direction.NORTH.getOpposite();
-        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, direction));
-    }
 }
diff --git a/src/main/java/net/minecraft/core/block/RotatableEntityBlock.java b/src/main/java/net/minecraft/core/block/RotatableEntityBlock.java
index 30c75acb6..fd379f415 100644
--- a/src/main/java/net/minecraft/core/block/RotatableEntityBlock.java
+++ b/src/main/java/net/minecraft/core/block/RotatableEntityBlock.java
@@ -21,15 +21,7 @@ public abstract class RotatableEntityBlock extends EntityBlock {
 
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-        if (!side.isHorizontal()) side = Side.NORTH;
-        world.setBlockMetadataWithNotify(x, y, z, side.getOpposite().getId());
-    }
-
-    @Override
-    public void onBlockPlacedByActivator(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction)
-    {
-        super.onBlockPlacedByActivator(world, x, y, z, activator, direction);
-        if (direction.getOffsetY() != 0) direction = Direction.NORTH.getOpposite();
-        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, direction));
+        if (!side.isHorizontal()) side = Side.SOUTH;
+        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, side.getDirection()));
     }
 }
diff --git a/src/main/java/net/minecraft/core/block/StairsBlock.java b/src/main/java/net/minecraft/core/block/StairsBlock.java
index da7d7c494..eb2221b80 100644
--- a/src/main/java/net/minecraft/core/block/StairsBlock.java
+++ b/src/main/java/net/minecraft/core/block/StairsBlock.java
@@ -329,8 +329,9 @@ public class StairsBlock extends Block
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
         int meta = world.getBlockMetadata(x, y, z) & 0xF0;
 
+        side = side.getOpposite();
         Side hSide = !side.isHorizontal() ? Side.NORTH : side;
-        Direction hRotation = side.getOpposite().getDirection();
+        Direction hRotation = hSide.getOpposite().getDirection();
         if(hRotation == Direction.NORTH) meta |= 0b0010;
         if(hRotation == Direction.EAST) meta |= 0b0001;
         if(hRotation == Direction.SOUTH) meta |= 0b0011;
diff --git a/src/main/java/net/minecraft/core/block/TorchBlock.java b/src/main/java/net/minecraft/core/block/TorchBlock.java
index 7d2734603..62f15f2f5 100644
--- a/src/main/java/net/minecraft/core/block/TorchBlock.java
+++ b/src/main/java/net/minecraft/core/block/TorchBlock.java
@@ -80,9 +80,48 @@ public class TorchBlock extends Block
         return world.canPlaceOnSurfaceOfBlock(x, y - 1, z);
     }
 
+    @Override
+    public void onBlockPlacedByMob(World world, int x, int y, int z, @NotNull Side side, Mob mob, double xPlaced, double yPlaced) {
+        int orientation = SIDE_NONE;
+        switch (side) {
+            case TOP:
+                if(canPlaceOnTop(world, x, y - 1, z))
+                {
+                    orientation = SIDE_BOTTOM;
+                }
+                break;
+            case NORTH:
+                if(world.isBlockNormalCube(x, y, z + 1))
+                {
+                    orientation = SIDE_SOUTH;
+                }
+                break;
+            case SOUTH:
+                if(world.isBlockNormalCube(x, y, z - 1))
+                {
+                    orientation = SIDE_NORTH;
+                }
+                break;
+            case WEST:
+                if(world.isBlockNormalCube(x + 1, y, z))
+                {
+                    orientation = SIDE_EAST;
+                }
+                break;
+            case EAST:
+                if(world.isBlockNormalCube(x - 1, y, z))
+                {
+                    orientation = SIDE_WEST;
+                }
+                break;
+        }
+        world.setBlockMetadataWithNotify(x, y, z, orientation);
+    }
+
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
         int orientation = SIDE_NONE;
+        if (side.isHorizontal()) side = side.getOpposite();
         switch (side) {
             case TOP:
                 if(canPlaceOnTop(world, x, y - 1, z))
diff --git a/src/main/java/net/minecraft/core/block/VeryRotatableEntityBlock.java b/src/main/java/net/minecraft/core/block/VeryRotatableEntityBlock.java
index 8039803b6..468a7b450 100644
--- a/src/main/java/net/minecraft/core/block/VeryRotatableEntityBlock.java
+++ b/src/main/java/net/minecraft/core/block/VeryRotatableEntityBlock.java
@@ -5,7 +5,6 @@ import net.minecraft.core.entity.Mob;
 import net.minecraft.core.util.helper.Direction;
 import net.minecraft.core.util.helper.Side;
 import net.minecraft.core.world.World;
-import net.minecraft.core.block.entity.ActivatorBlockEntity;
 import org.jetbrains.annotations.NotNull;
 
 public abstract class VeryRotatableEntityBlock extends RotatableEntityBlock {
@@ -18,28 +17,20 @@ public abstract class VeryRotatableEntityBlock extends RotatableEntityBlock {
     public void onBlockPlacedByMob(World world, int x, int y, int z, @NotNull Side side, Mob mob, double xPlaced, double yPlaced) {
         final Direction direction = mob.getPlacementDirection(side).getOpposite();
 
-        world.setBlockMetadataWithNotify(x, y, z, directionToMeta(direction));
+        world.setBlockMetadataWithNotify(x, y, z, setDirection(0, direction));
     }
 
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-        final Direction direction = side.getOpposite().getDirection();
-
-        world.setBlockMetadataWithNotify(x, y, z, directionToMeta(direction));
+        world.setBlockMetadataWithNotify(x, y, z, setDirection(0, side.getDirection()));
     }
 
-    public static int directionToMeta(Direction direction) {
-        return direction.getId() & MASK_DIRECTION;
+    public static int setDirection(int meta, Direction direction) {
+        return (meta & ~MASK_DIRECTION) | (direction.getId() & MASK_DIRECTION);
     }
 
     public static Direction metaToDirection(int meta) {
         return Direction.getDirectionById(meta & MASK_DIRECTION);
     }
 
-    @Override
-    public void onBlockPlacedByActivator(World world, int x, int y, int z, ActivatorBlockEntity activator, Direction direction)
-    {
-        super.onBlockPlacedByActivator(world, x, y, z, activator, direction);
-        world.setBlockMetadataWithNotify(x, y, z, RotatableBlock.setDirection(0, direction));
-    }
 }
diff --git a/src/main/java/net/minecraft/core/block/piston/PistonBaseBlock.java b/src/main/java/net/minecraft/core/block/piston/PistonBaseBlock.java
index de25b0b39..ca052330d 100644
--- a/src/main/java/net/minecraft/core/block/piston/PistonBaseBlock.java
+++ b/src/main/java/net/minecraft/core/block/piston/PistonBaseBlock.java
@@ -56,7 +56,7 @@ public class PistonBaseBlock extends Block
 
     @Override
     public void onBlockPlacedOnSide(World world, int x, int y, int z, @NotNull Side side, double xPlaced, double yPlaced) {
-        Direction placementDirection = side.getOpposite().getDirection();
+        Direction placementDirection = side.getDirection();
         world.setBlockMetadataWithNotify(x, y, z, placementDirection.getId());
         if(!world.isClientSide)
         {
diff --git a/src/main/java/net/minecraft/core/item/block/BlockItem.java b/src/main/java/net/minecraft/core/item/block/BlockItem.java
index 7cfa18ea0..99910e11a 100644
--- a/src/main/java/net/minecraft/core/item/block/BlockItem.java
+++ b/src/main/java/net/minecraft/core/item/block/BlockItem.java
@@ -72,9 +72,7 @@ public class BlockItem extends Item
         int z = blockZ + direction.getOffsetZ();
         Block b = world.getBlock(x, y, z);
         if (b == null || BlockTags.PLACE_OVERWRITES.appliesTo(b)) {
-            if (onUseItemOnBlock(itemStack, null, world, x, y, z, direction.getSide(), 0.5, 0.5)) {
-                getBlock().onBlockPlacedByActivator(world, x, y, z, activatorBlock, direction);
-            }
+            onUseItemOnBlock(itemStack, null, world, x, y, z, direction.getSide(), 0.5, 0.5);
         }
     }
 
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_bottom.png b/src/main/resources/assets/minecraft/textures/block/activator/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/activator/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator/bottom_active.png b/src/main/resources/assets/minecraft/textures/block/activator/bottom_active.png
new file mode 100644
index 000000000..ff08b5c55
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/activator/bottom_active.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/activator/bottom_active_overlay.png b/src/main/resources/assets/minecraft/textures/block/activator/bottom_active_overlay.png
new file mode 100644
index 000000000..c650bea2c
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/activator/bottom_active_overlay.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_front.png b/src/main/resources/assets/minecraft/textures/block/activator/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_front.png
rename to src/main/resources/assets/minecraft/textures/block/activator/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_front_active.png b/src/main/resources/assets/minecraft/textures/block/activator/front_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_front_active.png
rename to src/main/resources/assets/minecraft/textures/block/activator/front_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_front_active_overlay.png b/src/main/resources/assets/minecraft/textures/block/activator/front_active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_front_active_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/activator/front_active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_side.png b/src/main/resources/assets/minecraft/textures/block/activator/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_side.png
rename to src/main/resources/assets/minecraft/textures/block/activator/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_side_active.png b/src/main/resources/assets/minecraft/textures/block/activator/side_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_side_active.png
rename to src/main/resources/assets/minecraft/textures/block/activator/side_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_side_active_overlay.png b/src/main/resources/assets/minecraft/textures/block/activator/side_active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_side_active_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/activator/side_active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_top.png b/src/main/resources/assets/minecraft/textures/block/activator/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_top.png
rename to src/main/resources/assets/minecraft/textures/block/activator/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_top_active.png b/src/main/resources/assets/minecraft/textures/block/activator/top_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_top_active.png
rename to src/main/resources/assets/minecraft/textures/block/activator/top_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/activator_top_active_overlay.png b/src/main/resources/assets/minecraft/textures/block/activator/top_active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/activator_top_active_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/activator/top_active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/basket_bottom.png b/src/main/resources/assets/minecraft/textures/block/basket/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/basket_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/basket/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/basket_fill.png b/src/main/resources/assets/minecraft/textures/block/basket/fill.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/basket_fill.png
rename to src/main/resources/assets/minecraft/textures/block/basket/fill.png
diff --git a/src/main/resources/assets/minecraft/textures/block/basket_side.png b/src/main/resources/assets/minecraft/textures/block/basket/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/basket_side.png
rename to src/main/resources/assets/minecraft/textures/block/basket/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak.png b/src/main/resources/assets/minecraft/textures/block/bed/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak.png
rename to src/main/resources/assets/minecraft/textures/block/bed/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_foot_front.png b/src/main/resources/assets/minecraft/textures/block/bed/foot_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_foot_front.png
rename to src/main/resources/assets/minecraft/textures/block/bed/foot_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_foot_side.png b/src/main/resources/assets/minecraft/textures/block/bed/foot_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_foot_side.png
rename to src/main/resources/assets/minecraft/textures/block/bed/foot_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_foot_top.png b/src/main/resources/assets/minecraft/textures/block/bed/foot_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_foot_top.png
rename to src/main/resources/assets/minecraft/textures/block/bed/foot_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_head_front.png b/src/main/resources/assets/minecraft/textures/block/bed/head_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_head_front.png
rename to src/main/resources/assets/minecraft/textures/block/bed/head_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_head_side.png b/src/main/resources/assets/minecraft/textures/block/bed/head_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_head_side.png
rename to src/main/resources/assets/minecraft/textures/block/bed/head_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bed_head_top.png b/src/main/resources/assets/minecraft/textures/block/bed/head_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bed_head_top.png
rename to src/main/resources/assets/minecraft/textures/block/bed/head_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_sugarcane_baked_side.png b/src/main/resources/assets/minecraft/textures/block/block_baked_sugarcane/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_sugarcane_baked_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_baked_sugarcane/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_sugarcane_baked_top.png b/src/main/resources/assets/minecraft/textures/block/block_baked_sugarcane/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_sugarcane_baked_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_baked_sugarcane/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_diamond_bottom.png b/src/main/resources/assets/minecraft/textures/block/block_diamond/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_diamond_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/block_diamond/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_diamond_side.png b/src/main/resources/assets/minecraft/textures/block/block_diamond/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_diamond_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_diamond/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_diamond_top.png b/src/main/resources/assets/minecraft/textures/block/block_diamond/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_diamond_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_diamond/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_gold_bottom.png b/src/main/resources/assets/minecraft/textures/block/block_gold/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_gold_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/block_gold/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_gold_side.png b/src/main/resources/assets/minecraft/textures/block/block_gold/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_gold_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_gold/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_gold_top.png b/src/main/resources/assets/minecraft/textures/block/block_gold/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_gold_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_gold/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_iron_bottom.png b/src/main/resources/assets/minecraft/textures/block/block_iron/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_iron_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/block_iron/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_iron_side.png b/src/main/resources/assets/minecraft/textures/block/block_iron/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_iron_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_iron/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_iron_top.png b/src/main/resources/assets/minecraft/textures/block/block_iron/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_iron_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_iron/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_steel_bottom.png b/src/main/resources/assets/minecraft/textures/block/block_steel/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_steel_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/block_steel/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_steel_side.png b/src/main/resources/assets/minecraft/textures/block/block_steel/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_steel_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_steel/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_steel_top.png b/src/main/resources/assets/minecraft/textures/block/block_steel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_steel_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_steel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_sugarcane_side.png b/src/main/resources/assets/minecraft/textures/block/block_sugarcane/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_sugarcane_side.png
rename to src/main/resources/assets/minecraft/textures/block/block_sugarcane/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/block_sugarcane_top.png b/src/main/resources/assets/minecraft/textures/block/block_sugarcane/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/block_sugarcane_top.png
rename to src/main/resources/assets/minecraft/textures/block/block_sugarcane/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bone_shale_bottom.png b/src/main/resources/assets/minecraft/textures/block/bone_shale/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bone_shale_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/bone_shale/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bone_shale_side.png b/src/main/resources/assets/minecraft/textures/block/bone_shale/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bone_shale_side.png
rename to src/main/resources/assets/minecraft/textures/block/bone_shale/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bone_shale_top.png b/src/main/resources/assets/minecraft/textures/block/bone_shale/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bone_shale_top.png
rename to src/main/resources/assets/minecraft/textures/block/bone_shale/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bookshelf_side.png b/src/main/resources/assets/minecraft/textures/block/bookshelf/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/bookshelf_side.png
rename to src/main/resources/assets/minecraft/textures/block/bookshelf/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/bookshelf/top.png b/src/main/resources/assets/minecraft/textures/block/bookshelf/top.png
new file mode 100644
index 000000000..0e743b846
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/bookshelf/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/brazier_base.png b/src/main/resources/assets/minecraft/textures/block/brazier/base.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/brazier_base.png
rename to src/main/resources/assets/minecraft/textures/block/brazier/base.png
diff --git a/src/main/resources/assets/minecraft/textures/block/brazier_side.png b/src/main/resources/assets/minecraft/textures/block/brazier/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/brazier_side.png
rename to src/main/resources/assets/minecraft/textures/block/brazier/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_0.png b/src/main/resources/assets/minecraft/textures/block/breaking/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_0.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_1.png b/src/main/resources/assets/minecraft/textures/block/breaking/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_1.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_2.png b/src/main/resources/assets/minecraft/textures/block/breaking/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_2.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_3.png b/src/main/resources/assets/minecraft/textures/block/breaking/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_3.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_4.png b/src/main/resources/assets/minecraft/textures/block/breaking/4.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_4.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/4.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_5.png b/src/main/resources/assets/minecraft/textures/block/breaking/5.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_5.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/5.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_6.png b/src/main/resources/assets/minecraft/textures/block/breaking/6.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_6.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/6.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_7.png b/src/main/resources/assets/minecraft/textures/block/breaking/7.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_7.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/7.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_8.png b/src/main/resources/assets/minecraft/textures/block/breaking/8.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_8.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/8.png
diff --git a/src/main/resources/assets/minecraft/textures/block/breaking_9.png b/src/main/resources/assets/minecraft/textures/block/breaking/9.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/breaking_9.png
rename to src/main/resources/assets/minecraft/textures/block/breaking/9.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cactus_bottom.png b/src/main/resources/assets/minecraft/textures/block/cactus/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cactus_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/cactus/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cactus_side.png b/src/main/resources/assets/minecraft/textures/block/cactus/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cactus_side.png
rename to src/main/resources/assets/minecraft/textures/block/cactus/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cactus_top.png b/src/main/resources/assets/minecraft/textures/block/cactus/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cactus_top.png
rename to src/main/resources/assets/minecraft/textures/block/cactus/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cake_bottom.png b/src/main/resources/assets/minecraft/textures/block/cake/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cake_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/cake/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cake_inner.png b/src/main/resources/assets/minecraft/textures/block/cake/inner.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cake_inner.png
rename to src/main/resources/assets/minecraft/textures/block/cake/inner.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cake_side.png b/src/main/resources/assets/minecraft/textures/block/cake/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cake_side.png
rename to src/main/resources/assets/minecraft/textures/block/cake/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/cake_top.png b/src/main/resources/assets/minecraft/textures/block/cake/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/cake_top.png
rename to src/main/resources/assets/minecraft/textures/block/cake/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/capstone_marble_side.png b/src/main/resources/assets/minecraft/textures/block/capstone_marble/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/capstone_marble_side.png
rename to src/main/resources/assets/minecraft/textures/block/capstone_marble/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/capstone_marble_top.png b/src/main/resources/assets/minecraft/textures/block/capstone_marble/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/capstone_marble_top.png
rename to src/main/resources/assets/minecraft/textures/block/capstone_marble/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_black/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_black_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_black/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_blue/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_blue_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_blue/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_brown/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_brown_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_brown/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_cyan_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_cyan/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_gray/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_gray_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_gray/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_green/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_green_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_green/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lightblue_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lightblue/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_lime/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_lime_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_lime/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_magenta_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_magenta/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_orange/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_orange_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_orange/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_pink/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_pink_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_pink/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_purple/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_purple_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_purple/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_red/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_red_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_red/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_silver/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_silver_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_silver/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_white/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_white_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_white/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_left_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/left_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_left_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/left_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_left_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/left_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_left_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/left_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_right_back.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/right_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_right_back.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/right_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_right_front.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/right_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_right_front.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/right_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_side.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_side.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_top.png b/src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/chest_planks_oak_painted_yellow_top.png
rename to src/main/resources/assets/minecraft/textures/block/chest/planks_yellow/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage0.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage0.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage1_side.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage1_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage1_side.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage1_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage1_top.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage1_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage1_top.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage1_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage2_side.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage2_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage2_side.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage2_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage2_top.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage2_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage2_top.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage2_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage3_side.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage3_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage3_side.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage3_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage3_top.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage3_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage3_top.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage3_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage4_side.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage4_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage4_side.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage4_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage4_top.png b/src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage4_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_pumpkin_stage4_top.png
rename to src/main/resources/assets/minecraft/textures/block/crops_pumpkin/stage4_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage0.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage0.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage1.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage1.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage2.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage2.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage3.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage3.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage4.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage4.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage4.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage4.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage5.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage5.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage5.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage5.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage6.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage6.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage6.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage6.png
diff --git a/src/main/resources/assets/minecraft/textures/block/crops_wheat_stage7.png b/src/main/resources/assets/minecraft/textures/block/crops_wheat/stage7.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/crops_wheat_stage7.png
rename to src/main/resources/assets/minecraft/textures/block/crops_wheat/stage7.png
diff --git a/src/main/resources/assets/minecraft/textures/block/dispenser_bottom.png b/src/main/resources/assets/minecraft/textures/block/dispenser/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/dispenser_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/dispenser/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/dispenser_front.png b/src/main/resources/assets/minecraft/textures/block/dispenser/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/dispenser_front.png
rename to src/main/resources/assets/minecraft/textures/block/dispenser/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/dispenser_side.png b/src/main/resources/assets/minecraft/textures/block/dispenser/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/dispenser_side.png
rename to src/main/resources/assets/minecraft/textures/block/dispenser/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/dispenser_top.png b/src/main/resources/assets/minecraft/textures/block/dispenser/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/dispenser_top.png
rename to src/main/resources/assets/minecraft/textures/block/dispenser/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_glass_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/glass/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_glass_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/glass/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door/glass/frame_top.png b/src/main/resources/assets/minecraft/textures/block/door/glass/frame_top.png
new file mode 100644
index 000000000..9b0c976fb
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/door/glass/frame_top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/door_glass_top.png b/src/main/resources/assets/minecraft/textures/block/door/glass/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_glass_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/glass/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_iron_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/iron/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_iron_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/iron/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_iron_top.png b/src/main/resources/assets/minecraft/textures/block/door/iron/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_iron_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/iron/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_iron_top.png b/src/main/resources/assets/minecraft/textures/block/door/iron/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_iron_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/iron/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_black_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_black/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_black_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_black/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_black_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_black/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_black_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_black/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_black_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_black/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_black_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_black/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_blue_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_blue/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_blue_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_blue/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_blue_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_blue/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_blue_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_blue/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_blue_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_blue/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_blue_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_blue/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_brown_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_brown/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_brown_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_brown/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_brown_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_brown/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_brown_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_brown/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_brown_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_brown/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_brown_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_brown/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_cyan_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_cyan/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_cyan_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_cyan/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_cyan_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_cyan/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_cyan_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_cyan/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_cyan_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_cyan/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_cyan_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_cyan/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_gray_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_gray/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_gray_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_gray/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_gray_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_gray/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_gray_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_gray/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_gray_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_gray/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_gray_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_gray/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_green_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_green/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_green_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_green/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_green_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_green/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_green_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_green/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_green_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_green/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_green_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_green/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_lightblue_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_lightblue_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lightblue_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lightblue_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_lightblue_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_lightblue_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lightblue/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_lime_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lime/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_lime_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lime/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lime_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lime/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lime_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lime/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_lime_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_lime/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_lime_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_lime/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_magenta_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_magenta/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_magenta_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_magenta/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_magenta_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_magenta/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_magenta_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_magenta/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_magenta_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_magenta/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_magenta_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_magenta/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_orange_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_orange/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_orange_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_orange/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_orange_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_orange/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_orange_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_orange/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_orange_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_orange/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_orange_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_orange/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_pink_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_pink/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_pink_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_pink/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_pink_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_pink/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_pink_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_pink/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_pink_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_pink/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_pink_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_pink/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_purple_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_purple/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_purple_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_purple/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_purple_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_purple/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_purple_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_purple/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_purple_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_purple/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_purple_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_purple/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_red_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_red/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_red_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_red/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_red_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_red/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_red_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_red/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_red_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_red/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_red_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_red/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_silver_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_silver/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_silver_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_silver/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_silver_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_silver/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_silver_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_silver/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_silver_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_silver/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_silver_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_silver/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_white_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_white/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_white_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_white/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_white_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_white/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_white_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_white/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_white_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_white/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_white_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_white/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_yellow_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/planks_yellow/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_yellow_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_yellow/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_yellow_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_yellow/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_yellow_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_yellow/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_planks_oak_yellow_top.png b/src/main/resources/assets/minecraft/textures/block/door/planks_yellow/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_planks_oak_yellow_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/planks_yellow/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_steel_bottom.png b/src/main/resources/assets/minecraft/textures/block/door/steel/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_steel_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/door/steel/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_steel_frame_top.png b/src/main/resources/assets/minecraft/textures/block/door/steel/frame_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_steel_frame_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/steel/frame_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/door_steel_top.png b/src/main/resources/assets/minecraft/textures/block/door/steel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/door_steel_top.png
rename to src/main/resources/assets/minecraft/textures/block/door/steel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland/dry.png b/src/main/resources/assets/minecraft/textures/block/farmland/dry.png
new file mode 100644
index 000000000..4a17787e9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/farmland/dry.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_dry_fertilized_top.png b/src/main/resources/assets/minecraft/textures/block/farmland/dry_fertilized_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/farmland_dry_fertilized_top.png
rename to src/main/resources/assets/minecraft/textures/block/farmland/dry_fertilized_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_dry_top.png b/src/main/resources/assets/minecraft/textures/block/farmland/dry_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/farmland_dry_top.png
rename to src/main/resources/assets/minecraft/textures/block/farmland/dry_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland/wet.png b/src/main/resources/assets/minecraft/textures/block/farmland/wet.png
new file mode 100644
index 000000000..344268a9c
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/farmland/wet.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_wet_fertilized_top.png b/src/main/resources/assets/minecraft/textures/block/farmland/wet_fertilized_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/farmland_wet_fertilized_top.png
rename to src/main/resources/assets/minecraft/textures/block/farmland/wet_fertilized_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/farmland_wet_top.png b/src/main/resources/assets/minecraft/textures/block/farmland/wet_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/farmland_wet_top.png
rename to src/main/resources/assets/minecraft/textures/block/farmland/wet_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_chain_center.png b/src/main/resources/assets/minecraft/textures/block/fence_chain/center.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_chain_center.png
rename to src/main/resources/assets/minecraft/textures/block/fence_chain/center.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_chain_column.png b/src/main/resources/assets/minecraft/textures/block/fence_chain/column.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_chain_column.png
rename to src/main/resources/assets/minecraft/textures/block/fence_chain/column.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_chain_top.png b/src/main/resources/assets/minecraft/textures/block/fence_chain/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_chain_top.png
rename to src/main/resources/assets/minecraft/textures/block/fence_chain/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_paper_center.png b/src/main/resources/assets/minecraft/textures/block/fence_paper/center.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_paper_center.png
rename to src/main/resources/assets/minecraft/textures/block/fence_paper/center.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_paper_column.png b/src/main/resources/assets/minecraft/textures/block/fence_paper/column.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_paper_column.png
rename to src/main/resources/assets/minecraft/textures/block/fence_paper/column.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_steel_center.png b/src/main/resources/assets/minecraft/textures/block/fence_steel/center.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_steel_center.png
rename to src/main/resources/assets/minecraft/textures/block/fence_steel/center.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_steel_column.png b/src/main/resources/assets/minecraft/textures/block/fence_steel/column.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_steel_column.png
rename to src/main/resources/assets/minecraft/textures/block/fence_steel/column.png
diff --git a/src/main/resources/assets/minecraft/textures/block/fence_steel_top.png b/src/main/resources/assets/minecraft/textures/block/fence_steel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/fence_steel_top.png
rename to src/main/resources/assets/minecraft/textures/block/fence_steel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_light_blue0.png b/src/main/resources/assets/minecraft/textures/block/flower_lightblue/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_light_blue0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_lightblue/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_light_blue1.png b/src/main/resources/assets/minecraft/textures/block/flower_lightblue/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_light_blue1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_lightblue/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_light_blue2.png b/src/main/resources/assets/minecraft/textures/block/flower_lightblue/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_light_blue2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_lightblue/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_light_blue3.png b/src/main/resources/assets/minecraft/textures/block/flower_lightblue/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_light_blue3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_lightblue/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_orange0.png b/src/main/resources/assets/minecraft/textures/block/flower_orange/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_orange0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_orange/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_orange1.png b/src/main/resources/assets/minecraft/textures/block/flower_orange/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_orange1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_orange/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_orange2.png b/src/main/resources/assets/minecraft/textures/block/flower_orange/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_orange2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_orange/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_orange3.png b/src/main/resources/assets/minecraft/textures/block/flower_orange/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_orange3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_orange/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_pink0.png b/src/main/resources/assets/minecraft/textures/block/flower_pink/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_pink0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_pink/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_pink1.png b/src/main/resources/assets/minecraft/textures/block/flower_pink/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_pink1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_pink/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_pink2.png b/src/main/resources/assets/minecraft/textures/block/flower_pink/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_pink2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_pink/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_pink3.png b/src/main/resources/assets/minecraft/textures/block/flower_pink/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_pink3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_pink/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_purple0.png b/src/main/resources/assets/minecraft/textures/block/flower_purple/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_purple0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_purple/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_purple1.png b/src/main/resources/assets/minecraft/textures/block/flower_purple/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_purple1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_purple/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_purple2.png b/src/main/resources/assets/minecraft/textures/block/flower_purple/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_purple2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_purple/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_purple3.png b/src/main/resources/assets/minecraft/textures/block/flower_purple/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_purple3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_purple/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_red0.png b/src/main/resources/assets/minecraft/textures/block/flower_red/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_red0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_red/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_red1.png b/src/main/resources/assets/minecraft/textures/block/flower_red/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_red1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_red/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_red2.png b/src/main/resources/assets/minecraft/textures/block/flower_red/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_red2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_red/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_red3.png b/src/main/resources/assets/minecraft/textures/block/flower_red/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_red3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_red/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_yellow0.png b/src/main/resources/assets/minecraft/textures/block/flower_yellow/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_yellow0.png
rename to src/main/resources/assets/minecraft/textures/block/flower_yellow/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_yellow1.png b/src/main/resources/assets/minecraft/textures/block/flower_yellow/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_yellow1.png
rename to src/main/resources/assets/minecraft/textures/block/flower_yellow/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_yellow2.png b/src/main/resources/assets/minecraft/textures/block/flower_yellow/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_yellow2.png
rename to src/main/resources/assets/minecraft/textures/block/flower_yellow/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/flower_yellow3.png b/src/main/resources/assets/minecraft/textures/block/flower_yellow/3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/flower_yellow3.png
rename to src/main/resources/assets/minecraft/textures/block/flower_yellow/3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_active_front.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/active_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_active_front.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/active_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_active_front_filled.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/active_front_filled.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_active_front_filled.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/active_front_filled.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_bottom.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_idle_front.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/idle_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_idle_front.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/idle_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_idle_front_filled.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/idle_front_filled.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_idle_front_filled.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/idle_front_filled.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_side.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_side.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_blast_top.png b/src/main/resources/assets/minecraft/textures/block/furnace_blast/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_blast_top.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_blast/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_active_front.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/active_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_active_front.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/active_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_active_front_filled.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/active_front_filled.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_active_front_filled.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/active_front_filled.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_bottom.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_idle_front.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/idle_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_idle_front.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/idle_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_idle_front_filled.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/idle_front_filled.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_idle_front_filled.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/idle_front_filled.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_side.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_side.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/furnace_stone_top.png b/src/main/resources/assets/minecraft/textures/block/furnace_stone/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/furnace_stone_top.png
rename to src/main/resources/assets/minecraft/textures/block/furnace_stone/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass/bottom.png b/src/main/resources/assets/minecraft/textures/block/grass/bottom.png
new file mode 100644
index 000000000..4a17787e9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/grass/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_retro_side.png b/src/main/resources/assets/minecraft/textures/block/grass/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_retro_side.png
rename to src/main/resources/assets/minecraft/textures/block/grass/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_side_overlay.png b/src/main/resources/assets/minecraft/textures/block/grass/side_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_side_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/grass/side_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_snowy_side.png b/src/main/resources/assets/minecraft/textures/block/grass/snowy_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_snowy_side.png
rename to src/main/resources/assets/minecraft/textures/block/grass/snowy_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_top.png b/src/main/resources/assets/minecraft/textures/block/grass/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_top.png
rename to src/main/resources/assets/minecraft/textures/block/grass/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_path/bottom.png b/src/main/resources/assets/minecraft/textures/block/grass_path/bottom.png
new file mode 100644
index 000000000..4a17787e9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/grass_path/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_path_side.png b/src/main/resources/assets/minecraft/textures/block/grass_path/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_path_side.png
rename to src/main/resources/assets/minecraft/textures/block/grass_path/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_path_top.png b/src/main/resources/assets/minecraft/textures/block/grass_path/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_path_top.png
rename to src/main/resources/assets/minecraft/textures/block/grass_path/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_retro/bottom.png b/src/main/resources/assets/minecraft/textures/block/grass_retro/bottom.png
new file mode 100644
index 000000000..4a17787e9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/grass_retro/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_side.png b/src/main/resources/assets/minecraft/textures/block/grass_retro/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_side.png
rename to src/main/resources/assets/minecraft/textures/block/grass_retro/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_retro_top.png b/src/main/resources/assets/minecraft/textures/block/grass_retro/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_retro_top.png
rename to src/main/resources/assets/minecraft/textures/block/grass_retro/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_scorched/bottom.png b/src/main/resources/assets/minecraft/textures/block/grass_scorched/bottom.png
new file mode 100644
index 000000000..3c68fa827
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/grass_scorched/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_scorched_side.png b/src/main/resources/assets/minecraft/textures/block/grass_scorched/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_scorched_side.png
rename to src/main/resources/assets/minecraft/textures/block/grass_scorched/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/grass_scorched_top.png b/src/main/resources/assets/minecraft/textures/block/grass_scorched/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/grass_scorched_top.png
rename to src/main/resources/assets/minecraft/textures/block/grass_scorched/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/jukebox_side.png b/src/main/resources/assets/minecraft/textures/block/jukebox/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/jukebox_side.png
rename to src/main/resources/assets/minecraft/textures/block/jukebox/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/jukebox/side.png b/src/main/resources/assets/minecraft/textures/block/jukebox/side.png
new file mode 100644
index 000000000..4a37b676c
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/jukebox/side.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/jukebox_top.png b/src/main/resources/assets/minecraft/textures/block/jukebox/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/jukebox_top.png
rename to src/main/resources/assets/minecraft/textures/block/jukebox/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_black_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/black_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_black_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/black_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_black_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/black_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_black_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/black_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_blue_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/blue_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_blue_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/blue_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_blue_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/blue_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_blue_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/blue_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_brown_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/brown_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_brown_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/brown_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_brown_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/brown_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_brown_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/brown_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_cyan_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/cyan_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_cyan_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/cyan_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_cyan_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/cyan_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_cyan_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/cyan_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_gray_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/gray_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_gray_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/gray_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_gray_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/gray_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_gray_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/gray_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_green_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/green_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_green_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/green_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_green_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/green_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_green_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/green_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_lightblue_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/lightblue_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_lightblue_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/lightblue_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_lightblue_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/lightblue_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_lightblue_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/lightblue_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_lime_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/lime_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_lime_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/lime_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_lime_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/lime_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_lime_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/lime_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_magenta_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/magenta_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_magenta_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/magenta_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_magenta_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/magenta_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_magenta_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/magenta_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_orange_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/orange_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_orange_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/orange_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_orange_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/orange_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_orange_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/orange_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_pink_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/pink_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_pink_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/pink_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_pink_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/pink_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_pink_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/pink_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_purple_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/purple_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_purple_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/purple_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_purple_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/purple_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_purple_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/purple_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_red_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/red_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_red_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/red_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_red_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/red_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_red_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/red_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_silver_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/silver_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_silver_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/silver_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_silver_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/silver_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_silver_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/silver_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_white_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/white_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_white_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/white_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_white_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/white_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_white_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/white_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_yellow_active.png b/src/main/resources/assets/minecraft/textures/block/lamp/yellow_active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_yellow_active.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/yellow_active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lamp_yellow_idle.png b/src/main/resources/assets/minecraft/textures/block/lamp/yellow_idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lamp_yellow_idle.png
rename to src/main/resources/assets/minecraft/textures/block/lamp/yellow_idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lantern_firefly_blue.png b/src/main/resources/assets/minecraft/textures/block/lantern_firefly/blue.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lantern_firefly_blue.png
rename to src/main/resources/assets/minecraft/textures/block/lantern_firefly/blue.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lantern_firefly_green.png b/src/main/resources/assets/minecraft/textures/block/lantern_firefly/green.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lantern_firefly_green.png
rename to src/main/resources/assets/minecraft/textures/block/lantern_firefly/green.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lantern_firefly_orange.png b/src/main/resources/assets/minecraft/textures/block/lantern_firefly/orange.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lantern_firefly_orange.png
rename to src/main/resources/assets/minecraft/textures/block/lantern_firefly/orange.png
diff --git a/src/main/resources/assets/minecraft/textures/block/lantern_firefly_red.png b/src/main/resources/assets/minecraft/textures/block/lantern_firefly/red.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/lantern_firefly_red.png
rename to src/main/resources/assets/minecraft/textures/block/lantern_firefly/red.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_birch.png b/src/main/resources/assets/minecraft/textures/block/leaves/birch.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_birch.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/birch.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_birch_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/birch_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_birch_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/birch_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_caatinga.png b/src/main/resources/assets/minecraft/textures/block/leaves/caatinga.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_caatinga.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/caatinga.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_caatinga_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/caatinga_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_caatinga_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/caatinga_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage0.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage0.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage1.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage1.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage2.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage2.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage3.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage3.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao_bean_stage3.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao_bean_stage3.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cacao_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/cacao_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cacao_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cacao_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cherry.png b/src/main/resources/assets/minecraft/textures/block/leaves/cherry.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cherry.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cherry.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cherry_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/cherry_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cherry_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cherry_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cherry_flowering_overlay.png b/src/main/resources/assets/minecraft/textures/block/leaves/cherry_flowering_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cherry_flowering_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cherry_flowering_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_cherry_overlay.png b/src/main/resources/assets/minecraft/textures/block/leaves/cherry_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_cherry_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/cherry_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_eucalyptus.png b/src/main/resources/assets/minecraft/textures/block/leaves/eucalyptus.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_eucalyptus.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/eucalyptus.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_eucalyptus_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/eucalyptus_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_eucalyptus_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/eucalyptus_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_oak.png b/src/main/resources/assets/minecraft/textures/block/leaves/oak.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_oak.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/oak.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_oak_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/oak_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_oak_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/oak_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_oak_retro.png b/src/main/resources/assets/minecraft/textures/block/leaves/oak_retro.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_oak_retro.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/oak_retro.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_oak_retro_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/oak_retro_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_oak_retro_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/oak_retro_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_palm.png b/src/main/resources/assets/minecraft/textures/block/leaves/palm.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_palm.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/palm.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_palm_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/palm_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_palm_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/palm_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_pine.png b/src/main/resources/assets/minecraft/textures/block/leaves/pine.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_pine.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/pine.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_pine_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/pine_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_pine_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/pine_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_shrub.png b/src/main/resources/assets/minecraft/textures/block/leaves/shrub.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_shrub.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/shrub.png
diff --git a/src/main/resources/assets/minecraft/textures/block/leaves_shrub_fancy.png b/src/main/resources/assets/minecraft/textures/block/leaves/shrub_fancy.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/leaves_shrub_fancy.png
rename to src/main/resources/assets/minecraft/textures/block/leaves/shrub_fancy.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_birch_side.png b/src/main/resources/assets/minecraft/textures/block/log/birch_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_birch_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/birch_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_birch_top.png b/src/main/resources/assets/minecraft/textures/block/log/birch_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_birch_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/birch_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_cherry_side.png b/src/main/resources/assets/minecraft/textures/block/log/cherry_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_cherry_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/cherry_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_cherry_top.png b/src/main/resources/assets/minecraft/textures/block/log/cherry_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_cherry_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/cherry_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_eucalyptus_side.png b/src/main/resources/assets/minecraft/textures/block/log/eucalyptus_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_eucalyptus_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/eucalyptus_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_eucalyptus_top.png b/src/main/resources/assets/minecraft/textures/block/log/eucalyptus_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_eucalyptus_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/eucalyptus_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_oak_mossy_side.png b/src/main/resources/assets/minecraft/textures/block/log/oak_mossy_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_oak_mossy_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/oak_mossy_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_oak_mossy_top.png b/src/main/resources/assets/minecraft/textures/block/log/oak_mossy_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_oak_mossy_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/oak_mossy_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_oak_side.png b/src/main/resources/assets/minecraft/textures/block/log/oak_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_oak_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/oak_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_oak_top.png b/src/main/resources/assets/minecraft/textures/block/log/oak_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_oak_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/oak_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_palm_side.png b/src/main/resources/assets/minecraft/textures/block/log/palm_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_palm_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/palm_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_palm_top.png b/src/main/resources/assets/minecraft/textures/block/log/palm_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_palm_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/palm_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_pine_side.png b/src/main/resources/assets/minecraft/textures/block/log/pine_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_pine_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/pine_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_pine_top.png b/src/main/resources/assets/minecraft/textures/block/log/pine_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_pine_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/pine_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_thorn_side.png b/src/main/resources/assets/minecraft/textures/block/log/thorn_side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_thorn_side.png
rename to src/main/resources/assets/minecraft/textures/block/log/thorn_side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/log_thorn_top.png b/src/main/resources/assets/minecraft/textures/block/log/thorn_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/log_thorn_top.png
rename to src/main/resources/assets/minecraft/textures/block/log/thorn_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/motionsensor_active_front.png b/src/main/resources/assets/minecraft/textures/block/motion_sensor/active_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/motionsensor_active_front.png
rename to src/main/resources/assets/minecraft/textures/block/motion_sensor/active_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/motionsensor_overlay.png b/src/main/resources/assets/minecraft/textures/block/motion_sensor/active_front_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/motionsensor_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/motion_sensor/active_front_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/motionsensor_idle_front.png b/src/main/resources/assets/minecraft/textures/block/motion_sensor/idle_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/motionsensor_idle_front.png
rename to src/main/resources/assets/minecraft/textures/block/motion_sensor/idle_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/motionsensor_side.png b/src/main/resources/assets/minecraft/textures/block/motion_sensor/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/motionsensor_side.png
rename to src/main/resources/assets/minecraft/textures/block/motion_sensor/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_coal_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/coal/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_coal_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/coal/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_coal_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/coal/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_coal_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/coal/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_coal_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/coal/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_coal_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/coal/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_coal_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/coal/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_coal_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/coal/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_coal_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/coal/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_coal_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/coal/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_diamond_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/diamond/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_diamond_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/diamond/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_diamond_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/diamond/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_diamond_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/diamond/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_diamond_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/diamond/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_diamond_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/diamond/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_diamond_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/diamond/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_diamond_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/diamond/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_diamond_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/diamond/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_diamond_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/diamond/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_gold_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/gold/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_gold_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/gold/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_gold_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/gold/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_gold_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/gold/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_gold_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/gold/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_gold_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/gold/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_gold_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/gold/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_gold_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/gold/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_gold_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/gold/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_gold_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/gold/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_iron_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/iron/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_iron_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/iron/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_iron_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/iron/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_iron_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/iron/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_iron_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/iron/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_iron_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/iron/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_iron_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/iron/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_iron_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/iron/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_iron_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/iron/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_iron_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/iron/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_lapis_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/lapis/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_lapis_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/lapis/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_lapis_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/lapis/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_lapis_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/lapis/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_lapis_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/lapis/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_lapis_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/lapis/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_lapis_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/lapis/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_lapis_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/lapis/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_lapis_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/lapis/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_lapis_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/lapis/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_nethercoal_netherrack.png b/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_nethercoal_netherrack.png
rename to src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_nethercoal_netherrack_overlay.png b/src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_nethercoal_netherrack_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/ore/nethercoal/netherrack_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_basalt.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/basalt.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_basalt.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/basalt.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_granite.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/granite.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_granite.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/granite.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_limestone.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/limestone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_limestone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/limestone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_overlay.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_permafrost.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/permafrost.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_permafrost.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/permafrost.png
diff --git a/src/main/resources/assets/minecraft/textures/block/ore_redstone_stone.png b/src/main/resources/assets/minecraft/textures/block/ore/redstone/stone.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/ore_redstone_stone.png
rename to src/main/resources/assets/minecraft/textures/block/ore/redstone/stone.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pebbles0.png b/src/main/resources/assets/minecraft/textures/block/pebbles/0.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pebbles0.png
rename to src/main/resources/assets/minecraft/textures/block/pebbles/0.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pebbles1.png b/src/main/resources/assets/minecraft/textures/block/pebbles/1.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pebbles1.png
rename to src/main/resources/assets/minecraft/textures/block/pebbles/1.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pebbles2.png b/src/main/resources/assets/minecraft/textures/block/pebbles/2.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pebbles2.png
rename to src/main/resources/assets/minecraft/textures/block/pebbles/2.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pillar_marble_side.png b/src/main/resources/assets/minecraft/textures/block/pillar_marble/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pillar_marble_side.png
rename to src/main/resources/assets/minecraft/textures/block/pillar_marble/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pillar_marble_top.png b/src/main/resources/assets/minecraft/textures/block/pillar_marble/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pillar_marble_top.png
rename to src/main/resources/assets/minecraft/textures/block/pillar_marble/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_bottom.png b/src/main/resources/assets/minecraft/textures/block/piston/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/piston/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_face.png b/src/main/resources/assets/minecraft/textures/block/piston/face.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_face.png
rename to src/main/resources/assets/minecraft/textures/block/piston/face.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_side.png b/src/main/resources/assets/minecraft/textures/block/piston/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_side.png
rename to src/main/resources/assets/minecraft/textures/block/piston/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_top.png b/src/main/resources/assets/minecraft/textures/block/piston/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_top.png
rename to src/main/resources/assets/minecraft/textures/block/piston/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_bottom_steel.png b/src/main/resources/assets/minecraft/textures/block/piston_steel/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_bottom_steel.png
rename to src/main/resources/assets/minecraft/textures/block/piston_steel/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_face_steel.png b/src/main/resources/assets/minecraft/textures/block/piston_steel/face.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_face_steel.png
rename to src/main/resources/assets/minecraft/textures/block/piston_steel/face.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_side_steel.png b/src/main/resources/assets/minecraft/textures/block/piston_steel/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_side_steel.png
rename to src/main/resources/assets/minecraft/textures/block/piston_steel/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_top_steel.png b/src/main/resources/assets/minecraft/textures/block/piston_steel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_top_steel.png
rename to src/main/resources/assets/minecraft/textures/block/piston_steel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/spikes_bottom.png b/src/main/resources/assets/minecraft/textures/block/piston_sticky/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/spikes_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/piston_sticky/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_face_sticky.png b/src/main/resources/assets/minecraft/textures/block/piston_sticky/face.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/piston_face_sticky.png
rename to src/main/resources/assets/minecraft/textures/block/piston_sticky/face.png
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_sticky/side.png b/src/main/resources/assets/minecraft/textures/block/piston_sticky/side.png
new file mode 100644
index 000000000..f0778e711
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/piston_sticky/side.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/piston_sticky/top.png b/src/main/resources/assets/minecraft/textures/block/piston_sticky/top.png
new file mode 100644
index 000000000..71149429e
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/piston_sticky/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_black.png b/src/main/resources/assets/minecraft/textures/block/planks/black.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_black.png
rename to src/main/resources/assets/minecraft/textures/block/planks/black.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_blue.png b/src/main/resources/assets/minecraft/textures/block/planks/blue.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_blue.png
rename to src/main/resources/assets/minecraft/textures/block/planks/blue.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_brown.png b/src/main/resources/assets/minecraft/textures/block/planks/brown.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_brown.png
rename to src/main/resources/assets/minecraft/textures/block/planks/brown.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_cyan.png b/src/main/resources/assets/minecraft/textures/block/planks/cyan.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_cyan.png
rename to src/main/resources/assets/minecraft/textures/block/planks/cyan.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_gray.png b/src/main/resources/assets/minecraft/textures/block/planks/gray.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_gray.png
rename to src/main/resources/assets/minecraft/textures/block/planks/gray.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_green.png b/src/main/resources/assets/minecraft/textures/block/planks/green.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_green.png
rename to src/main/resources/assets/minecraft/textures/block/planks/green.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_lightblue.png b/src/main/resources/assets/minecraft/textures/block/planks/lightblue.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_lightblue.png
rename to src/main/resources/assets/minecraft/textures/block/planks/lightblue.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_lime.png b/src/main/resources/assets/minecraft/textures/block/planks/lime.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_lime.png
rename to src/main/resources/assets/minecraft/textures/block/planks/lime.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_magenta.png b/src/main/resources/assets/minecraft/textures/block/planks/magenta.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_magenta.png
rename to src/main/resources/assets/minecraft/textures/block/planks/magenta.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks/oak.png b/src/main/resources/assets/minecraft/textures/block/planks/oak.png
new file mode 100644
index 000000000..0e743b846
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/planks/oak.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_orange.png b/src/main/resources/assets/minecraft/textures/block/planks/orange.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_orange.png
rename to src/main/resources/assets/minecraft/textures/block/planks/orange.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_pink.png b/src/main/resources/assets/minecraft/textures/block/planks/pink.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_pink.png
rename to src/main/resources/assets/minecraft/textures/block/planks/pink.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_purple.png b/src/main/resources/assets/minecraft/textures/block/planks/purple.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_purple.png
rename to src/main/resources/assets/minecraft/textures/block/planks/purple.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_red.png b/src/main/resources/assets/minecraft/textures/block/planks/red.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_red.png
rename to src/main/resources/assets/minecraft/textures/block/planks/red.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_silver.png b/src/main/resources/assets/minecraft/textures/block/planks/silver.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_silver.png
rename to src/main/resources/assets/minecraft/textures/block/planks/silver.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_white.png b/src/main/resources/assets/minecraft/textures/block/planks/white.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_white.png
rename to src/main/resources/assets/minecraft/textures/block/planks/white.png
diff --git a/src/main/resources/assets/minecraft/textures/block/planks_oak_painted_yellow.png b/src/main/resources/assets/minecraft/textures/block/planks/yellow.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/planks_oak_painted_yellow.png
rename to src/main/resources/assets/minecraft/textures/block/planks/yellow.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_bottom.png b/src/main/resources/assets/minecraft/textures/block/pumpkin/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_side.png b/src/main/resources/assets/minecraft/textures/block/pumpkin/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_side.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_top.png b/src/main/resources/assets/minecraft/textures/block/pumpkin/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_top.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/bottom.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/bottom.png
new file mode 100644
index 000000000..bc517393b
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_idle.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_carved_idle.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_carved/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/side.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/side.png
new file mode 100644
index 000000000..64a0f5b68
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/side.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/top.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/top.png
new file mode 100644
index 000000000..15674144d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/bottom.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/bottom.png
new file mode 100644
index 000000000..bc517393b
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_active.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_carved_active.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/side.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/side.png
new file mode 100644
index 000000000..64a0f5b68
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/side.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/top.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/top.png
new file mode 100644
index 000000000..15674144d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_carved_lit/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_pie_bottom.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_pie/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_pie_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_pie/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_pie_inside.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_pie/inner.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_pie_inside.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_pie/inner.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_pie_side.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_pie/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_pie_side.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_pie/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_pie_top.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_pie/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_pie_top.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_pie/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/bottom.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/bottom.png
new file mode 100644
index 000000000..bc517393b
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_redstone.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone_overlay.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/front_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/pumpkin_redstone_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/front_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/side.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/side.png
new file mode 100644
index 000000000..64a0f5b68
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/side.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/top.png b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/top.png
new file mode 100644
index 000000000..15674144d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/pumpkin_redstone/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_straight.png b/src/main/resources/assets/minecraft/textures/block/rail/straight.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_straight.png
rename to src/main/resources/assets/minecraft/textures/block/rail/straight.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_turn.png b/src/main/resources/assets/minecraft/textures/block/rail/turn.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_turn.png
rename to src/main/resources/assets/minecraft/textures/block/rail/turn.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_detector_overlay.png b/src/main/resources/assets/minecraft/textures/block/rail_detector/active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_detector_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/rail_detector/active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_detector.png b/src/main/resources/assets/minecraft/textures/block/rail_detector/straight.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_detector.png
rename to src/main/resources/assets/minecraft/textures/block/rail_detector/straight.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_powered_active.png b/src/main/resources/assets/minecraft/textures/block/rail_powered/active.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_powered_active.png
rename to src/main/resources/assets/minecraft/textures/block/rail_powered/active.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_powered_overlay.png b/src/main/resources/assets/minecraft/textures/block/rail_powered/active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_powered_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/rail_powered/active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/rail_powered_idle.png b/src/main/resources/assets/minecraft/textures/block/rail_powered/idle.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/rail_powered_idle.png
rename to src/main/resources/assets/minecraft/textures/block/rail_powered/idle.png
diff --git a/src/main/resources/assets/minecraft/textures/block/repeater_active_overlay.png b/src/main/resources/assets/minecraft/textures/block/repeater/active_overlay.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/repeater_active_overlay.png
rename to src/main/resources/assets/minecraft/textures/block/repeater/active_overlay.png
diff --git a/src/main/resources/assets/minecraft/textures/block/repeater_active_top.png b/src/main/resources/assets/minecraft/textures/block/repeater/active_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/repeater_active_top.png
rename to src/main/resources/assets/minecraft/textures/block/repeater/active_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/repeater_idle_top.png b/src/main/resources/assets/minecraft/textures/block/repeater/idle_top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/repeater_idle_top.png
rename to src/main/resources/assets/minecraft/textures/block/repeater/idle_top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sandstone_bottom.png b/src/main/resources/assets/minecraft/textures/block/sandstone/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sandstone_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/sandstone/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sandstone_side.png b/src/main/resources/assets/minecraft/textures/block/sandstone/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sandstone_side.png
rename to src/main/resources/assets/minecraft/textures/block/sandstone/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sandstone_top.png b/src/main/resources/assets/minecraft/textures/block/sandstone/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sandstone_top.png
rename to src/main/resources/assets/minecraft/textures/block/sandstone/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_birch.png b/src/main/resources/assets/minecraft/textures/block/sapling/birch.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_birch.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/birch.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_cacao.png b/src/main/resources/assets/minecraft/textures/block/sapling/cacao.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_cacao.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/cacao.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_cherry.png b/src/main/resources/assets/minecraft/textures/block/sapling/cherry.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_cherry.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/cherry.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_eucalyptus.png b/src/main/resources/assets/minecraft/textures/block/sapling/eucalyptus.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_eucalyptus.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/eucalyptus.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_oak.png b/src/main/resources/assets/minecraft/textures/block/sapling/oak.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_oak.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/oak.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_oak_retro.png b/src/main/resources/assets/minecraft/textures/block/sapling/oak_retro.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_oak_retro.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/oak_retro.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_palm.png b/src/main/resources/assets/minecraft/textures/block/sapling/palm.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_palm.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/palm.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_pine.png b/src/main/resources/assets/minecraft/textures/block/sapling/pine.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_pine.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/pine.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_shrub.png b/src/main/resources/assets/minecraft/textures/block/sapling/shrub.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_shrub.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/shrub.png
diff --git a/src/main/resources/assets/minecraft/textures/block/sapling_thorn.png b/src/main/resources/assets/minecraft/textures/block/sapling/thorn.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/sapling_thorn.png
rename to src/main/resources/assets/minecraft/textures/block/sapling/thorn.png
diff --git a/src/main/resources/assets/minecraft/textures/block/seat/bottom.png b/src/main/resources/assets/minecraft/textures/block/seat/bottom.png
new file mode 100644
index 000000000..0e743b846
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/seat/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/seat_side.png b/src/main/resources/assets/minecraft/textures/block/seat/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/seat_side.png
rename to src/main/resources/assets/minecraft/textures/block/seat/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/seat_top.png b/src/main/resources/assets/minecraft/textures/block/seat/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/seat_top.png
rename to src/main/resources/assets/minecraft/textures/block/seat/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/spikes/bottom.png b/src/main/resources/assets/minecraft/textures/block/spikes/bottom.png
new file mode 100644
index 000000000..f57985db9
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/spikes/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/spikes_side.png b/src/main/resources/assets/minecraft/textures/block/spikes/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/spikes_side.png
rename to src/main/resources/assets/minecraft/textures/block/spikes/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/spikes_top.png b/src/main/resources/assets/minecraft/textures/block/spikes/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/spikes_top.png
rename to src/main/resources/assets/minecraft/textures/block/spikes/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/tnt_bottom.png b/src/main/resources/assets/minecraft/textures/block/tnt/bottom.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/tnt_bottom.png
rename to src/main/resources/assets/minecraft/textures/block/tnt/bottom.png
diff --git a/src/main/resources/assets/minecraft/textures/block/tnt_side.png b/src/main/resources/assets/minecraft/textures/block/tnt/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/tnt_side.png
rename to src/main/resources/assets/minecraft/textures/block/tnt/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/tnt_top.png b/src/main/resources/assets/minecraft/textures/block/tnt/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/tnt_top.png
rename to src/main/resources/assets/minecraft/textures/block/tnt/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_glass_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/glass/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_glass_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/glass/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/glass/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/glass/top.png
new file mode 100644
index 000000000..9b0c976fb
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/glass/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_iron_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/iron/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_iron_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/iron/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/iron/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/iron/top.png
new file mode 100644
index 000000000..e45107e2d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/iron/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks/top.png
new file mode 100644
index 000000000..43ed53ff0
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_black_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_black/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_black_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_black/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_black/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_black/top.png
new file mode 100644
index 000000000..b1eadf216
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_black/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_blue_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_blue/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_blue_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_blue/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_blue/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_blue/top.png
new file mode 100644
index 000000000..48b4a1441
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_blue/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_brown_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_brown/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_brown_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_brown/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_brown/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_brown/top.png
new file mode 100644
index 000000000..7b1fcad0a
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_brown/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_cyan_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_cyan/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_cyan_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_cyan/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_cyan/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_cyan/top.png
new file mode 100644
index 000000000..d978a0828
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_cyan/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_gray_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_gray/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_gray_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_gray/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_gray/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_gray/top.png
new file mode 100644
index 000000000..f244fd735
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_gray/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_green_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_green/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_green_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_green/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_green/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_green/top.png
new file mode 100644
index 000000000..3f4adcf76
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_green/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lightblue_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lightblue/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lightblue_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lightblue/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lightblue/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lightblue/top.png
new file mode 100644
index 000000000..7b732e1b1
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lightblue/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lime_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lime/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_lime_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lime/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lime/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lime/top.png
new file mode 100644
index 000000000..51c369abc
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_lime/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_magenta_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_magenta/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_magenta_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_magenta/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_magenta/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_magenta/top.png
new file mode 100644
index 000000000..f69ad5fd5
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_magenta/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_orange_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_orange/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_orange_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_orange/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_orange/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_orange/top.png
new file mode 100644
index 000000000..5afc5f5de
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_orange/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_pink_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_pink/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_pink_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_pink/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_pink/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_pink/top.png
new file mode 100644
index 000000000..e1e49a239
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_pink/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_purple_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_purple/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_purple_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_purple/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_purple/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_purple/top.png
new file mode 100644
index 000000000..a2156385d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_purple/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_red_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_red/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_red_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_red/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_red/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_red/top.png
new file mode 100644
index 000000000..8b8620031
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_red/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_silver_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_silver/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_silver_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_silver/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_silver/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_silver/top.png
new file mode 100644
index 000000000..644e222fe
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_silver/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_white_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_white/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_white_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_white/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_white/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_white/top.png
new file mode 100644
index 000000000..19f344088
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_white/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_yellow_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_yellow/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_planks_oak_yellow_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/planks_yellow/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_yellow/top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_yellow/top.png
new file mode 100644
index 000000000..91810225d
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/trapdoor/planks_yellow/top.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_steel_side.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/steel/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_steel_side.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/steel/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trapdoor_steel_top.png b/src/main/resources/assets/minecraft/textures/block/trapdoor/steel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trapdoor_steel_top.png
rename to src/main/resources/assets/minecraft/textures/block/trapdoor/steel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_active_back.png b/src/main/resources/assets/minecraft/textures/block/trommel/active_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_active_back.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/active_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_active_front.png b/src/main/resources/assets/minecraft/textures/block/trommel/active_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_active_front.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/active_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_active_front_background.png b/src/main/resources/assets/minecraft/textures/block/trommel/active_front_background.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_active_front_background.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/active_front_background.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_active_front_foreground.png b/src/main/resources/assets/minecraft/textures/block/trommel/active_front_foreground.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_active_front_foreground.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/active_front_foreground.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_idle_back.png b/src/main/resources/assets/minecraft/textures/block/trommel/idle_back.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_idle_back.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/idle_back.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_idle_front.png b/src/main/resources/assets/minecraft/textures/block/trommel/idle_front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_idle_front.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/idle_front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_side.png b/src/main/resources/assets/minecraft/textures/block/trommel/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_side.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_side_slot.png b/src/main/resources/assets/minecraft/textures/block/trommel/side_slot.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_side_slot.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/side_slot.png
diff --git a/src/main/resources/assets/minecraft/textures/block/trommel_top.png b/src/main/resources/assets/minecraft/textures/block/trommel/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/trommel_top.png
rename to src/main/resources/assets/minecraft/textures/block/trommel/top.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_black.png b/src/main/resources/assets/minecraft/textures/block/wool/black.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_black.png
rename to src/main/resources/assets/minecraft/textures/block/wool/black.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_blue.png b/src/main/resources/assets/minecraft/textures/block/wool/blue.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_blue.png
rename to src/main/resources/assets/minecraft/textures/block/wool/blue.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_brown.png b/src/main/resources/assets/minecraft/textures/block/wool/brown.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_brown.png
rename to src/main/resources/assets/minecraft/textures/block/wool/brown.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_cyan.png b/src/main/resources/assets/minecraft/textures/block/wool/cyan.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_cyan.png
rename to src/main/resources/assets/minecraft/textures/block/wool/cyan.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_gray.png b/src/main/resources/assets/minecraft/textures/block/wool/gray.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_gray.png
rename to src/main/resources/assets/minecraft/textures/block/wool/gray.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_green.png b/src/main/resources/assets/minecraft/textures/block/wool/green.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_green.png
rename to src/main/resources/assets/minecraft/textures/block/wool/green.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_lightblue.png b/src/main/resources/assets/minecraft/textures/block/wool/lightblue.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_lightblue.png
rename to src/main/resources/assets/minecraft/textures/block/wool/lightblue.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_lime.png b/src/main/resources/assets/minecraft/textures/block/wool/lime.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_lime.png
rename to src/main/resources/assets/minecraft/textures/block/wool/lime.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_magenta.png b/src/main/resources/assets/minecraft/textures/block/wool/magenta.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_magenta.png
rename to src/main/resources/assets/minecraft/textures/block/wool/magenta.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_orange.png b/src/main/resources/assets/minecraft/textures/block/wool/orange.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_orange.png
rename to src/main/resources/assets/minecraft/textures/block/wool/orange.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_pink.png b/src/main/resources/assets/minecraft/textures/block/wool/pink.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_pink.png
rename to src/main/resources/assets/minecraft/textures/block/wool/pink.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_purple.png b/src/main/resources/assets/minecraft/textures/block/wool/purple.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_purple.png
rename to src/main/resources/assets/minecraft/textures/block/wool/purple.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_red.png b/src/main/resources/assets/minecraft/textures/block/wool/red.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_red.png
rename to src/main/resources/assets/minecraft/textures/block/wool/red.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_silver.png b/src/main/resources/assets/minecraft/textures/block/wool/silver.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_silver.png
rename to src/main/resources/assets/minecraft/textures/block/wool/silver.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_white.png b/src/main/resources/assets/minecraft/textures/block/wool/white.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_white.png
rename to src/main/resources/assets/minecraft/textures/block/wool/white.png
diff --git a/src/main/resources/assets/minecraft/textures/block/wool_yellow.png b/src/main/resources/assets/minecraft/textures/block/wool/yellow.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/wool_yellow.png
rename to src/main/resources/assets/minecraft/textures/block/wool/yellow.png
diff --git a/src/main/resources/assets/minecraft/textures/block/workbench/bottom.png b/src/main/resources/assets/minecraft/textures/block/workbench/bottom.png
new file mode 100644
index 000000000..0e743b846
Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/block/workbench/bottom.png differ
diff --git a/src/main/resources/assets/minecraft/textures/block/workbench_front.png b/src/main/resources/assets/minecraft/textures/block/workbench/front.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/workbench_front.png
rename to src/main/resources/assets/minecraft/textures/block/workbench/front.png
diff --git a/src/main/resources/assets/minecraft/textures/block/workbench_side.png b/src/main/resources/assets/minecraft/textures/block/workbench/side.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/workbench_side.png
rename to src/main/resources/assets/minecraft/textures/block/workbench/side.png
diff --git a/src/main/resources/assets/minecraft/textures/block/workbench_top.png b/src/main/resources/assets/minecraft/textures/block/workbench/top.png
similarity index 100%
rename from src/main/resources/assets/minecraft/textures/block/workbench_top.png
rename to src/main/resources/assets/minecraft/textures/block/workbench/top.png
