diff --git a/game/client/build.gradle.kts b/game/client/build.gradle.kts
index faee365fa..1c6b481df 100644
--- a/game/client/build.gradle.kts
+++ b/game/client/build.gradle.kts
@@ -61,6 +61,7 @@ dependencies {
     implementation(platform(libs.lwjgl.bom))
 
     implementation("com.github.JnCrMx:discord-game-sdk4j:v0.5.5")?.let { include(it) }
+    implementation("com.github.electronstudio:sdl2gdx:1.0.5")?.let { include(it) }
 
     implementation("objects:client:43db9b498cb67058d2e12d394e6507722e71bb45") // Minecraft client jar
 }
diff --git a/game/client/src/main/java/net/minecraft/client/Minecraft.java b/game/client/src/main/java/net/minecraft/client/Minecraft.java
index ea097fbfa..4432309dd 100644
--- a/game/client/src/main/java/net/minecraft/client/Minecraft.java
+++ b/game/client/src/main/java/net/minecraft/client/Minecraft.java
@@ -10,6 +10,7 @@ import java.io.File;
 import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.nio.file.Files;
 import java.util.*;
 
 import com.mojang.logging.LogUtils;
@@ -325,6 +326,24 @@ public class Minecraft
         INSTANCE = this;
     }
 
+    public static boolean isClientASteamDeck() {
+        final File vendor = new File("/sys/devices/virtual/dmi/id/board_vendor");
+        final File name = new File("/sys/devices/virtual/dmi/id/board_name");
+        if (vendor.exists() && vendor.isFile() && name.exists() && name.isFile()) {
+            try {
+                final List<String> vendorText = Files.readAllLines(vendor.toPath());
+                final List<String> nameText = Files.readAllLines(name.toPath());
+                if (!vendorText.isEmpty() && vendorText.get(0).contains("Valve") && !nameText.isEmpty() && nameText.get(0).contains("Jupiter")) {
+                    return true;
+                }
+            } catch (IOException e) {
+                return false;
+            }
+        }
+
+        return false;
+    }
+
 	public void onMinecraftCrash(UnexpectedThrowable throwable) {
 		if(!gameStarted) {
 			running = false;
@@ -391,10 +410,8 @@ public class Minecraft
         this.serverName = serverName;
         this.serverPort = serverPort;
     }
-    
-    public void startGame() throws LWJGLException
-    {
-        ImageIO.setUseCache(false); // Speeds up boot time
+
+    private static void checkLwjglVersion() {
         LOGGER.info("LWJGL version = {}", org.lwjgl.Sys.getVersion());
         if (Integer.parseInt(org.lwjgl.Sys.getVersion().substring(0, 1)) < 3) {
             JOptionPane.showMessageDialog(null,
@@ -416,12 +433,20 @@ public class Minecraft
                                 }
                             });
                         }
-                    }
+                    },
+                    "",
+                    "Please note that MultiMC/Prism Launcher instances from",
+                    "versions prior to 7.3 cannot be manually upgraded to 7.3",
+                    "or later and must be re-downloaded."
                 }
                 , "LWJGL Version Error", JOptionPane.ERROR_MESSAGE);
             System.exit(1);
         }
-
+    }
+    
+    public void startGame() throws LWJGLException
+    {
+        ImageIO.setUseCache(false); // Speeds up boot time
 		mcDataDir = getMinecraftDir();
 
         Holidays.initialize();
@@ -2625,6 +2650,11 @@ public class Minecraft
 
     public static void main(String[] args)
     {
+        checkLwjglVersion();
+        if (isClientASteamDeck()) {
+            System.out.println("Client is a Steam Deck!");
+        }
+
         String playerName = null;
         String sessionId = null;
         String gameDirectory = null;
diff --git a/game/client/src/main/java/net/minecraft/client/gui/ScreenControllerSetup.java b/game/client/src/main/java/net/minecraft/client/gui/ScreenControllerSetup.java
index 649630868..17a684050 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/ScreenControllerSetup.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/ScreenControllerSetup.java
@@ -140,20 +140,17 @@ public class ScreenControllerSetup extends Screen {
             if (mc.controllerInput == null) {
                 index = -1;
             } else {
-                index = Arrays.asList(InputHandler.controllers).indexOf(mc.controllerInput);
+                index = InputHandler.controllers.indexOf(mc.controllerInput);
+            }
+            index++;
+            if (index >= InputHandler.controllers.size()) {
+                index = -1;
             }
-            do {
-                index++;
-                if (index >= InputHandler.controllers.length) {
-                    index = -1;
-                    break;
-                }
-            } while (InputHandler.controllers[index] == null);
             if (index == -1) {
                 mc.controllerInput = null;
                 mc.setInputType(InputType.KEYBOARD);
             } else {
-                mc.controllerInput = InputHandler.controllers[index];
+                mc.controllerInput = InputHandler.controllers.get(index);
                 mc.setInputType(InputType.CONTROLLER);
             }
             updateDisplay();
diff --git a/game/client/src/main/java/net/minecraft/client/gui/achievements/data/AchievementPages.java b/game/client/src/main/java/net/minecraft/client/gui/achievements/data/AchievementPages.java
index 7e1f912c4..c7b8a463f 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/achievements/data/AchievementPages.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/achievements/data/AchievementPages.java
@@ -57,8 +57,7 @@ public class AchievementPages {
         netherPage.addAchievement(Achievements.SWIM_NETHER, 3, 2);
         netherPage.addAchievement(Achievements.HIT_FIREBALL, 3, -2);
         netherPage.addAchievement(Achievements.SLEEP_NETHER, 1, -2);
-        netherPage.addAchievement(Achievements.ENTER_OLDWORLD, 0, -5);
-        netherPage.addAchievement(Achievements.ENTER_WARRENS, 0, 5);
+//        netherPage.addAchievement(Achievements.ENTER_WARRENS, 0, 5);
         netherPage.addAchievement(Achievements.MOST_WANTED, 0, -1);
         netherPage.addAchievement(Achievements.FAST_TRAVEL, 0, 1);
     }
diff --git a/game/client/src/main/java/net/minecraft/client/gui/chat/GuiElementChatSuggestions.java b/game/client/src/main/java/net/minecraft/client/gui/chat/GuiElementChatSuggestions.java
index d33404c98..99c688928 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/chat/GuiElementChatSuggestions.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/chat/GuiElementChatSuggestions.java
@@ -24,6 +24,7 @@ import net.minecraft.client.render.Font;
 import net.minecraft.core.net.command.*;
 import net.minecraft.core.net.command.util.CommandHelper;
 import net.minecraft.core.net.packet.PacketRequestCommandManager;
+import net.minecraft.core.util.helper.MathHelper;
 import org.jetbrains.annotations.Nullable;
 import org.lwjgl.input.Keyboard;
 import org.lwjgl.input.Mouse;
@@ -284,7 +285,7 @@ public class GuiElementChatSuggestions extends Gui {
         int cursorX = getScaledMouseX(this.mc);
         int cursorY = getScaledMouseY(this.mc);
         if (this.isHoveringOverSuggestions(cursorX, cursorY) && dWheel != 0) {
-            this.scroll(Math.round(Math.signum(dWheel)) * -1);
+            this.scroll(Math.round(Math.signum(dWheel)) * -3);
         }
     }
 
@@ -336,9 +337,7 @@ public class GuiElementChatSuggestions extends Gui {
     }
 
     public void scroll(int amount) {
-        if (this.scroll + amount >= 0 && this.scroll + amount <= this.suggestions.size() - MAX_SUGGESTIONS) {
-            this.scroll += amount;
-        }
+        this.scroll = MathHelper.clamp(scroll + amount, 0, this.suggestions.size() - MAX_SUGGESTIONS);
     }
 
     public void cycleThroughSuggestions() {
diff --git a/game/client/src/main/java/net/minecraft/client/gui/container/ScreenContainer.java b/game/client/src/main/java/net/minecraft/client/gui/container/ScreenContainer.java
index 9a32dbd57..f69be2941 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/container/ScreenContainer.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/container/ScreenContainer.java
@@ -1,5 +1,6 @@
 package net.minecraft.client.gui.container;
 
+import net.minecraft.core.lang.I18n;
 import net.minecraft.core.player.inventory.menu.MenuContainer;
 import net.minecraft.core.player.inventory.container.Container;
 import org.lwjgl.opengl.GL11;
@@ -22,8 +23,8 @@ public class ScreenContainer extends ScreenContainerAbstract
     @Override
 	protected void drawGuiContainerForegroundLayer()
     {
-        font.drawString(lowerChestInventory.getName(), 8, 6, 0x404040);
-        font.drawString(upperChestInventory.getName(), 8, (ySize - 96) + 2, 0x404040);
+        font.drawString(I18n.getInstance().translateKey(lowerChestInventory.getNameTranslationKey()), 8, 6, 0x404040);
+        font.drawString(I18n.getInstance().translateKey(upperChestInventory.getNameTranslationKey()), 8, (ySize - 96) + 2, 0x404040);
     }
 
     @Override
diff --git a/game/client/src/main/java/net/minecraft/client/gui/container/ScreenTrommel.java b/game/client/src/main/java/net/minecraft/client/gui/container/ScreenTrommel.java
index e2a109edb..e769aeb28 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/container/ScreenTrommel.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/container/ScreenTrommel.java
@@ -19,7 +19,7 @@ public class ScreenTrommel extends ScreenContainerAbstract
     @Override
 	protected void drawGuiContainerForegroundLayer()
     {
-            font.drawString(I18n.getInstance().translateKey("gui.trommel.label.trommel"), 60, 6, 0x404040);
+        font.drawString(I18n.getInstance().translateKey("gui.trommel.label.trommel"), 60, 6, 0x404040);
         font.drawString(I18n.getInstance().translateKey("gui.trommel.label.inventory"), 8, (ySize - 96) + 2, 0x404040);
     }
 
diff --git a/game/client/src/main/java/net/minecraft/client/input/InputHandler.java b/game/client/src/main/java/net/minecraft/client/input/InputHandler.java
index 4dca2a85a..509228c55 100644
--- a/game/client/src/main/java/net/minecraft/client/input/InputHandler.java
+++ b/game/client/src/main/java/net/minecraft/client/input/InputHandler.java
@@ -3,53 +3,92 @@ package net.minecraft.client.input;
 import com.mojang.logging.LogUtils;
 import net.minecraft.client.input.glfw.GlfwGamepad;
 import net.minecraft.client.input.glfw.GlfwJoystick;
+import net.minecraft.client.input.sdl.SDLGamepad;
+import org.libsdl.SDL;
+import org.libsdl.SDL_GameController;
+import org.libsdl.SDL_Joystick;
 import org.lwjgl.glfw.GLFW;
 
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.input.controller.ControllerInput;
 import org.slf4j.Logger;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 public abstract class InputHandler {
 	private static final Logger LOGGER = LogUtils.getLogger();
 	private static Minecraft minecraft;
-	public static ControllerInput[] controllers = new ControllerInput[GLFW.GLFW_JOYSTICK_LAST + 1];
+	public static List<ControllerInput> controllers = new ArrayList<>();
+
+	private static boolean sdl2Initialized = false;
 	
 	public static void init(Minecraft minecraft) throws Exception{
 		InputHandler.minecraft = minecraft;
 
 		try {
-			initLWJGL3(minecraft);
+			initSDL2(minecraft);
 		} catch (Throwable e) {
-			LOGGER.error("Could not initialize LWJGL3.");
+			LOGGER.error("Could not initialize SDL2.");
 			e.printStackTrace();
 		}
 	}
 
 	public static void poll() {
-		for (int i = GLFW.GLFW_JOYSTICK_1; i < GLFW.GLFW_JOYSTICK_LAST; i++) {
-			if (controllers[i] != null) {
-				if (!controllers[i].getController().isPresent()) {
-					disconnected(controllers[i]);
-					controllers[i] = null;
-				} else {
-					controllers[i].getController().poll();
+		if (sdl2Initialized) {
+			SDL.SDL_GameControllerUpdate();
+			try {
+				// Check for any joysticks that are no longer attached
+				for (int i = 0; i < controllers.size(); i++) {
+					ControllerInput input = controllers.get(i);
+					if (!input.getController().isPresent()) {
+						disconnected(controllers.remove(i));
+						i--;
+					}
+				}
+
+				// Check for any new joysticks
+				final int joysticks = SDL.SDL_NumJoysticks();
+				for (int i = 0; i < joysticks; i++) {
+					// Check if not gamepad, and if so, skip
+					if (!SDL.SDL_IsGameController(i)) {
+						continue;
+					}
+					final int instanceId = SDL.SDL_JoystickGetDeviceInstanceID(i);
+					// If controllers does not contain instance ID, add it
+					boolean containsId = false;
+					for (ControllerInput input : controllers) {
+						if (input.getController().getInstanceId() == instanceId) {
+							containsId = true;
+							break;
+						}
+					}
+					if (!containsId) {
+						ControllerInput ci = new ControllerInput(minecraft, new SDLGamepad(i));
+						controllers.add(ci);
+						connected(ci);
+					}
 				}
-			} else {
-				if (GLFW.glfwJoystickPresent(i)) {
-					GlfwGamepad gamepad = new GlfwJoystick(i).intoGamepad();
-					if (gamepad != null) {
-						ControllerInput input = new ControllerInput(minecraft, gamepad);
-						controllers[i] = input;
-						connected(input);
+
+				for (ControllerInput ci : controllers) {
+					if (ci.hasAnyInput()) {
+						minecraft.controllerInput = ci;
+						minecraft.setInputType(InputType.CONTROLLER);
 					}
 				}
+			} catch (Exception ignored) {
+				ignored.printStackTrace();
 			}
+
 		}
 	}
 
 	private static void connected(ControllerInput controller) {
         LOGGER.info("Controller connected: {}", controller.getGUID());
-		minecraft.controllerInput = getController(controller.getGUID());
+		minecraft.controllerInput = controller;
 	}
 
 	private static void disconnected(ControllerInput controller) {
@@ -60,25 +99,16 @@ public abstract class InputHandler {
 		}
 	}
 
-	public static void initLWJGL3(Minecraft minecraft) throws Throwable {
-		int found = 0;
-		for (int i = GLFW.GLFW_JOYSTICK_1; i < GLFW.GLFW_JOYSTICK_LAST; i++) {
-			if (GLFW.glfwJoystickPresent(i)) {
-				GlfwGamepad gamepad = new GlfwJoystick(i).intoGamepad();
-				if (gamepad != null) {
-					ControllerInput input = new ControllerInput(minecraft, gamepad);
-					controllers[i] = input;
-					found++;
-				}
-			}
+	public static void initSDL2(Minecraft minecraft) throws Throwable {
+		SDL.SDL_SetHint("SDL_JOYSTICK_RAWINPUT", "0");
+		final int result = SDL.SDL_Init(SDL.SDL_INIT_JOYSTICK | SDL.SDL_INIT_GAMECONTROLLER);
+		if (result < 0) {
+			throw new IOException("Could not initialize SDL2!");
 		}
-//		int[] vids = { 0x0079, 0x0079, 0x054c, 0x0079, 0x03F0, 0x057e, 0x28de, 0x28de };
-//		int[] pids = { 0x181a, 0x181b, 0x0ce6, 0x18d4, 0x0495, 0x2008, 0x1101, 0x11ff };
-//		String[] names = { "Fake PS3", "Fake PS4", "Fake PS5", "Fake X360", "Fake XONE", "Fake Switch", "Fake Steam", "Fake Steam Deck" };
-//		for (int i = 0; i < vids.length; i++) {
-//			controllers[GLFW.GLFW_JOYSTICK_1 + i] = new ControllerInput(minecraft, new FakeGamepad(GLFW.GLFW_JOYSTICK_1 + i, names[i], vids[i], pids[i]));
-//		}
-    LOGGER.info("{} controllers found!", found);
+
+		sdl2Initialized = true;
+
+		poll();
 	}
 
 	public static ControllerInput getController(String guid) {
diff --git a/game/client/src/main/java/net/minecraft/client/input/controller/ControllerInput.java b/game/client/src/main/java/net/minecraft/client/input/controller/ControllerInput.java
index 3a2d18b90..49af4af60 100644
--- a/game/client/src/main/java/net/minecraft/client/input/controller/ControllerInput.java
+++ b/game/client/src/main/java/net/minecraft/client/input/controller/ControllerInput.java
@@ -4,15 +4,17 @@ import com.b100.utils.ReflectUtils;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.gui.container.ScreenContainerAbstract;
 import net.minecraft.client.input.glfw.GlfwGamepad;
+import net.minecraft.client.input.sdl.SDLGamepad;
 import net.minecraft.core.player.inventory.slot.Slot;
 import net.minecraft.core.util.helper.Time;
+import org.libsdl.SDL;
 import org.lwjgl.glfw.GLFW;
 
 public class ControllerInput {
 
     public final Minecraft minecraft;
 
-    private final GlfwGamepad controller;
+    private final SDLGamepad controller;
 
     public Joystick joyLeft;
     public Joystick joyRight;
@@ -45,7 +47,7 @@ public class ControllerInput {
 
     private boolean disconnected = false;
 
-    public ControllerInput(Minecraft minecraft, GlfwGamepad controller) {
+    public ControllerInput(Minecraft minecraft, SDLGamepad controller) {
         this.minecraft = minecraft;
         this.controller = controller;
 
@@ -66,47 +68,47 @@ public class ControllerInput {
         IButtonListener defaultButtonListener = controller::isButtonPressed;
         IJoystickListener defaultJoystickListener = controller::getAxisValue;
 
-        joyLeft = new Joystick(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_LEFT_X), GLFW.GLFW_GAMEPAD_AXIS_LEFT_X, GLFW.GLFW_GAMEPAD_AXIS_LEFT_Y, defaultJoystickListener, new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_LEFT_THUMB), GLFW.GLFW_GAMEPAD_BUTTON_LEFT_THUMB, defaultButtonListener), minecraft.gameSettings.controllerDeadzoneLeft);
-        joyRight = new Joystick(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_X), GLFW.GLFW_GAMEPAD_AXIS_RIGHT_X, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_Y, defaultJoystickListener, new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_THUMB), GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_THUMB, defaultButtonListener), minecraft.gameSettings.controllerDeadzoneRight);
+        joyLeft = new Joystick(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_LEFTX), SDL.SDL_CONTROLLER_AXIS_LEFTX, SDL.SDL_CONTROLLER_AXIS_LEFTY, defaultJoystickListener, new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_LEFTSTICK), SDL.SDL_CONTROLLER_BUTTON_LEFTSTICK, defaultButtonListener), minecraft.gameSettings.controllerDeadzoneLeft);
+        joyRight = new Joystick(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_RIGHTX), SDL.SDL_CONTROLLER_AXIS_RIGHTX, SDL.SDL_CONTROLLER_AXIS_RIGHTY, defaultJoystickListener, new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_RIGHTSTICK), SDL.SDL_CONTROLLER_BUTTON_RIGHTSTICK, defaultButtonListener), minecraft.gameSettings.controllerDeadzoneRight);
 
-        buttonBack = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_BACK), GLFW.GLFW_GAMEPAD_BUTTON_BACK, defaultButtonListener);
-        buttonStart = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_START), GLFW.GLFW_GAMEPAD_BUTTON_START, defaultButtonListener);
+        buttonBack = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_BACK), SDL.SDL_CONTROLLER_BUTTON_BACK, defaultButtonListener);
+        buttonStart = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_START), SDL.SDL_CONTROLLER_BUTTON_START, defaultButtonListener);
 
         if (minecraft.gameSettings.controllerSwapAB.value) {
-            buttonA = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_A), GLFW.GLFW_GAMEPAD_BUTTON_B, defaultButtonListener);
-            buttonB = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_B), GLFW.GLFW_GAMEPAD_BUTTON_A, defaultButtonListener);
+            buttonA = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_A), SDL.SDL_CONTROLLER_BUTTON_B, defaultButtonListener);
+            buttonB = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_B), SDL.SDL_CONTROLLER_BUTTON_A, defaultButtonListener);
         } else {
-            buttonA = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_A), GLFW.GLFW_GAMEPAD_BUTTON_A, defaultButtonListener);
-            buttonB = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_B), GLFW.GLFW_GAMEPAD_BUTTON_B, defaultButtonListener);
+            buttonA = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_A), SDL.SDL_CONTROLLER_BUTTON_A, defaultButtonListener);
+            buttonB = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_B), SDL.SDL_CONTROLLER_BUTTON_B, defaultButtonListener);
         }
 
         if (minecraft.gameSettings.controllerSwapXY.value) {
-            buttonX = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_X), GLFW.GLFW_GAMEPAD_BUTTON_Y, defaultButtonListener);
-            buttonY = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_Y), GLFW.GLFW_GAMEPAD_BUTTON_X, defaultButtonListener);
+            buttonX = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_X), SDL.SDL_CONTROLLER_BUTTON_Y, defaultButtonListener);
+            buttonY = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_Y), SDL.SDL_CONTROLLER_BUTTON_X, defaultButtonListener);
         } else {
-            buttonX = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_X), GLFW.GLFW_GAMEPAD_BUTTON_X, defaultButtonListener);
-            buttonY = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_Y), GLFW.GLFW_GAMEPAD_BUTTON_Y, defaultButtonListener);
+            buttonX = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_X), SDL.SDL_CONTROLLER_BUTTON_X, defaultButtonListener);
+            buttonY = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_Y), SDL.SDL_CONTROLLER_BUTTON_Y, defaultButtonListener);
         }
 
         if (minecraft.gameSettings.controllerSwapShoulderButtons.value) {
-            buttonLeftShoulder = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_LEFT_BUMPER), GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER, defaultButtonListener);
-            buttonRightShoulder = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER), GLFW.GLFW_GAMEPAD_BUTTON_LEFT_BUMPER, defaultButtonListener);
+            buttonLeftShoulder = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_LEFTSHOULDER), SDL.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, defaultButtonListener);
+            buttonRightShoulder = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER), SDL.SDL_CONTROLLER_BUTTON_LEFTSHOULDER, defaultButtonListener);
 
-            buttonLeftTrigger = new Button(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER), GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
-            buttonRightTrigger = new Button(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER), GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
+            buttonLeftTrigger = new Button(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_TRIGGERLEFT), SDL.SDL_CONTROLLER_AXIS_TRIGGERRIGHT, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
+            buttonRightTrigger = new Button(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_TRIGGERRIGHT), SDL.SDL_CONTROLLER_AXIS_TRIGGERLEFT, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
         } else {
-            buttonLeftShoulder = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_LEFT_BUMPER), GLFW.GLFW_GAMEPAD_BUTTON_LEFT_BUMPER, defaultButtonListener);
-            buttonRightShoulder = new Button(translateBtn(type, GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER), GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER, defaultButtonListener);
+            buttonLeftShoulder = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_LEFTSHOULDER), SDL.SDL_CONTROLLER_BUTTON_LEFTSHOULDER, defaultButtonListener);
+            buttonRightShoulder = new Button(translateBtn(type, SDL.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER), SDL.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, defaultButtonListener);
 
-            buttonLeftTrigger = new Button(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER), GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
-            buttonRightTrigger = new Button(translateAxis(type, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER), GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
+            buttonLeftTrigger = new Button(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_TRIGGERLEFT), SDL.SDL_CONTROLLER_AXIS_TRIGGERLEFT, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
+            buttonRightTrigger = new Button(translateAxis(type, SDL.SDL_CONTROLLER_AXIS_TRIGGERRIGHT), SDL.SDL_CONTROLLER_AXIS_TRIGGERRIGHT, (axis) -> this.controller.getAxisValue(axis) > 0.5f);
         }
 
         digitalPad = new DigitalPad(
-            new Button("Digital Up", GLFW.GLFW_GAMEPAD_BUTTON_DPAD_UP, defaultButtonListener),
-            new Button("Digital Left", GLFW.GLFW_GAMEPAD_BUTTON_DPAD_LEFT, defaultButtonListener),
-            new Button("Digital Down", GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, defaultButtonListener),
-            new Button("Digital Right", GLFW.GLFW_GAMEPAD_BUTTON_DPAD_RIGHT, defaultButtonListener)
+            new Button("Digital Up", SDL.SDL_CONTROLLER_BUTTON_DPAD_UP, defaultButtonListener),
+            new Button("Digital Left", SDL.SDL_CONTROLLER_BUTTON_DPAD_LEFT, defaultButtonListener),
+            new Button("Digital Down", SDL.SDL_CONTROLLER_BUTTON_DPAD_DOWN, defaultButtonListener),
+            new Button("Digital Right", SDL.SDL_CONTROLLER_BUTTON_DPAD_RIGHT, defaultButtonListener)
         );
 
         buttons = ReflectUtils.getAllObjects(ControllerInput.class, Button.class, this);
@@ -126,7 +128,11 @@ public class ControllerInput {
         cursorY = Math.min(cursorY, minecraft.resolution.getScaledHeightScreenCoords());
     }
 
-    public GlfwGamepad getController() {
+    public boolean hasAnyInput() {
+        return controller.hasAnyInput();
+    }
+
+    public SDLGamepad getController() {
         return controller;
     }
 
@@ -187,13 +193,13 @@ public class ControllerInput {
 
     private String translateAxis(ControllerType controllerType, int axis) {
         switch (axis) {
-            case GLFW.GLFW_GAMEPAD_AXIS_LEFT_X:
-            case GLFW.GLFW_GAMEPAD_AXIS_LEFT_Y:
+            case SDL.SDL_CONTROLLER_AXIS_LEFTX:
+            case SDL.SDL_CONTROLLER_AXIS_LEFTY:
                 return "Analog Left";
-            case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_X:
-            case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_Y:
+            case SDL.SDL_CONTROLLER_AXIS_RIGHTX:
+            case SDL.SDL_CONTROLLER_AXIS_RIGHTY:
                 return "Analog Right";
-            case GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER:
+            case SDL.SDL_CONTROLLER_AXIS_TRIGGERLEFT:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -204,7 +210,7 @@ public class ControllerInput {
                     default:
                         return "LT";
                 }
-            case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER:
+            case SDL.SDL_CONTROLLER_AXIS_TRIGGERRIGHT:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -222,7 +228,7 @@ public class ControllerInput {
 
     private String translateBtn(ControllerType controllerType, int button) {
         switch (button) {
-            case GLFW.GLFW_GAMEPAD_BUTTON_A:
+            case SDL.SDL_CONTROLLER_BUTTON_A:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -233,7 +239,7 @@ public class ControllerInput {
                     default:
                         return "A";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_B:
+            case SDL.SDL_CONTROLLER_BUTTON_B:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -244,7 +250,7 @@ public class ControllerInput {
                     default:
                         return "B";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_X:
+            case SDL.SDL_CONTROLLER_BUTTON_X:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -255,7 +261,7 @@ public class ControllerInput {
                     default:
                         return "X";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_Y:
+            case SDL.SDL_CONTROLLER_BUTTON_Y:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -266,7 +272,7 @@ public class ControllerInput {
                     default:
                         return "Y";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_BACK:
+            case SDL.SDL_CONTROLLER_BUTTON_BACK:
                 switch (controllerType) {
                     case XBOX_ONE:
                         return "View";
@@ -280,7 +286,7 @@ public class ControllerInput {
                     default:
                         return "Back";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_START:
+            case SDL.SDL_CONTROLLER_BUTTON_START:
                 switch (controllerType) {
                     case XBOX_ONE:
                         return "Menu";
@@ -292,7 +298,7 @@ public class ControllerInput {
                     default:
                         return "Start";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_LEFT_BUMPER:
+            case SDL.SDL_CONTROLLER_BUTTON_LEFTSHOULDER:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -303,7 +309,7 @@ public class ControllerInput {
                     default:
                         return "LB";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER:
+            case SDL.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER:
                 switch (controllerType) {
                     case PS3:
                     case PS4:
@@ -314,17 +320,17 @@ public class ControllerInput {
                     default:
                         return "RB";
                 }
-            case GLFW.GLFW_GAMEPAD_BUTTON_LEFT_THUMB:
+            case SDL.SDL_CONTROLLER_BUTTON_LEFTSTICK:
                 return "Left Stick";
-            case GLFW.GLFW_GAMEPAD_BUTTON_RIGHT_THUMB:
+            case SDL.SDL_CONTROLLER_BUTTON_RIGHTSTICK:
                 return "Right Stick";
-            case GLFW.GLFW_GAMEPAD_BUTTON_DPAD_UP:
+            case SDL.SDL_CONTROLLER_BUTTON_DPAD_UP:
                 return "Digital Up";
-            case GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN:
+            case SDL.SDL_CONTROLLER_BUTTON_DPAD_DOWN:
                 return "Digital Down";
-            case GLFW.GLFW_GAMEPAD_BUTTON_DPAD_LEFT:
+            case SDL.SDL_CONTROLLER_BUTTON_DPAD_LEFT:
                 return "Digital Left";
-            case GLFW.GLFW_GAMEPAD_BUTTON_DPAD_RIGHT:
+            case SDL.SDL_CONTROLLER_BUTTON_DPAD_RIGHT:
                 return "Digital Right";
             default:
                 return "Button " + button;
diff --git a/game/client/src/main/java/net/minecraft/client/input/controller/ControllerType.java b/game/client/src/main/java/net/minecraft/client/input/controller/ControllerType.java
index b59abd297..d4082a0c5 100644
--- a/game/client/src/main/java/net/minecraft/client/input/controller/ControllerType.java
+++ b/game/client/src/main/java/net/minecraft/client/input/controller/ControllerType.java
@@ -1,6 +1,6 @@
 package net.minecraft.client.input.controller;
 
-import net.minecraft.client.input.glfw.GlfwGamepad;
+import net.minecraft.client.input.sdl.SDLGamepad;
 
 public enum ControllerType {
     UNKNOWN(Layout.XBOX, "xbox_360", "UNKNOWN"),
@@ -23,7 +23,7 @@ public enum ControllerType {
         this.printableName = printableName;
     }
 
-    public static ControllerType fromController(GlfwGamepad controller) {
+    public static ControllerType fromController(SDLGamepad controller) {
         int vid = controller.getVendorId();
         int pid = controller.getDeviceId();
         return ControllerTypeDatabase.getControllerType(vid, pid);
diff --git a/game/client/src/main/java/net/minecraft/client/input/sdl/SDLGamepad.java b/game/client/src/main/java/net/minecraft/client/input/sdl/SDLGamepad.java
new file mode 100644
index 000000000..05a68b310
--- /dev/null
+++ b/game/client/src/main/java/net/minecraft/client/input/sdl/SDLGamepad.java
@@ -0,0 +1,129 @@
+package net.minecraft.client.input.sdl;
+
+import net.minecraft.client.input.controller.Button;
+import net.minecraft.client.input.controller.Joystick;
+import org.jetbrains.annotations.NotNull;
+import org.libsdl.*;
+
+import java.io.IOException;
+
+public class SDLGamepad {
+    private static final float AXIS_MIN = SDL.SDL_JOYSTICK_AXIS_MIN();
+    private static final float AXIS_MAX = SDL.SDL_JOYSTICK_AXIS_MAX();
+
+    private final int instanceId;
+    private final long joystickPtr;
+    private final long gameControllerPtr;
+    private final int vid;
+    private final int did;
+
+    public SDLGamepad(final int index) throws Exception {
+        this.joystickPtr = SDL.SDL_JoystickOpen(index);
+        if (this.joystickPtr == 0) {
+            throw new IOException(SDL.SDL_GetError());
+        }
+        this.gameControllerPtr = SDL.SDL_GameControllerOpen(index);
+        if (this.gameControllerPtr == 0) {
+            throw new IOException(SDL.SDL_GetError());
+        }
+
+        this.instanceId = SDL.SDL_JoystickInstanceID(this.joystickPtr);
+
+        // Determine VID and DID
+        String guid = this.getGuid();
+
+        int vid;
+        try {
+            String lower = guid.substring(8, 10);
+            String upper = guid.substring(10, 12);
+            vid = Integer.parseInt(upper + lower, 16);
+        } catch (Exception e) {
+            System.out.println("Controller " + index + " has weird GUID!");
+            this.vid = 0;
+            this.did = 0;
+            return;
+        }
+
+        int did;
+        try {
+            String lower = guid.substring(16, 18);
+            String upper = guid.substring(18, 20);
+            did = Integer.parseInt(upper + lower, 16);
+        } catch (Exception e) {
+            System.out.println("Controller " + index + " has weird GUID!");
+            this.vid = 0;
+            this.did = 0;
+            return;
+        }
+
+        this.vid = vid;
+        this.did = did;
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        super.finalize();
+        SDL.SDL_GameControllerClose(this.gameControllerPtr);
+        SDL.SDL_JoystickClose(this.joystickPtr);
+    }
+
+    public int getInstanceId() {
+        return this.instanceId;
+    }
+
+    public @NotNull String getGuid() {
+        return SDL.SDL_JoystickGUIDString(this.joystickPtr);
+    }
+
+    public int getVendorId() {
+        return this.vid;
+    }
+
+    public int getDeviceId() {
+        return this.did;
+    }
+
+    public boolean isPresent() {
+        return SDL.SDL_GameControllerGetAttached(this.gameControllerPtr);
+    }
+
+    public @NotNull String getName() {
+        return SDL.SDL_GameControllerName(gameControllerPtr);
+    }
+
+    public boolean hasAnyInput() {
+        for (int i = 0; i < SDL.SDL_CONTROLLER_BUTTON_MAX; i++) {
+            if (isButtonPressed(i)) {
+                return true;
+            }
+        }
+        for (int i = 0; i < SDL.SDL_CONTROLLER_AXIS_MAX; i++) {
+            if (Math.abs(getAxisValue(i)) > 0.5f) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    public float getAxisValue(final int axis) {
+        if (isPresent()) {
+            final int result = SDL.SDL_GameControllerGetAxis(this.gameControllerPtr, axis);
+            if (result < 0) {
+                return (float) result / -AXIS_MIN;
+            } else {
+                return (float) result / AXIS_MAX;
+            }
+        }
+
+        return 0.0f;
+    }
+
+    public boolean isButtonPressed(final int button) {
+        if (isPresent()) {
+            return SDL.SDL_GameControllerGetButton(this.gameControllerPtr, button) == 1;
+        }
+
+        return false;
+    }
+}
diff --git a/game/client/src/main/java/net/minecraft/client/option/GameSettings.java b/game/client/src/main/java/net/minecraft/client/option/GameSettings.java
index bd6fe3f60..d964c6903 100644
--- a/game/client/src/main/java/net/minecraft/client/option/GameSettings.java
+++ b/game/client/src/main/java/net/minecraft/client/option/GameSettings.java
@@ -107,7 +107,7 @@ public class GameSettings {
 	public OptionColor guiBackgroundColor = new OptionColor(this, "guiBackgroundColor", new Color().setARGB(0xc0101010));
 	public OptionEnum<Difficulty> difficulty = new OptionEnum<>(this, "difficulty", Difficulty.class, Difficulty.NORMAL); // Stub for local difficulty setting
 	public OptionInteger thirdPersonView = new OptionInteger(this, "thirdPersonView", 0);
-	public OptionRange renderDistance = new OptionRange(this, "renderDistance", 8, 2, 64);
+	public OptionRange renderDistance = new OptionRange(this, "renderDistance", 12, 2, 32);
 	public OptionBoolean enableVsync = new OptionBoolean(this, "enableVsync", false);
 	public OptionEnum<ChatVisibility> chatVisibility = new OptionEnum<>(this, "chatVisibility", ChatVisibility.class, ChatVisibility.SHOW_ALL);
 	public OptionRange customFpsLimit = new OptionRange(this,"customFpsLimit",0,241);
@@ -155,7 +155,7 @@ public class GameSettings {
 	public OptionRange mipmapLevels = new OptionRange(this, "mipmapLevels", 0, 5);
 	public OptionEnum<MipmapType> mipmapType = new OptionEnum<>(this, "mipmapType", MipmapType.class, MipmapType.SMOOTH);
 
-	public OptionBoolean fullscreen = new OptionBoolean(this, "fullscreen", false);
+	public OptionBoolean fullscreen = new OptionBoolean(this, "fullscreen", Minecraft.isClientASteamDeck());
 	public OptionBoolean borderlessFullscreen = new OptionBoolean(this, "borderlessFullscreen", true);
 	public OptionBoolean startInFullscreen = new OptionBoolean(this, "startInFullscreen", true);
 	public OptionEnum<TooltipStyle> tooltipStyle = new OptionEnum<>(this, "tooltipStyle", TooltipStyle.class);
diff --git a/game/client/src/main/java/net/minecraft/client/render/RenderGlobal.java b/game/client/src/main/java/net/minecraft/client/render/RenderGlobal.java
index ddcf6c90a..64ad44a13 100644
--- a/game/client/src/main/java/net/minecraft/client/render/RenderGlobal.java
+++ b/game/client/src/main/java/net/minecraft/client/render/RenderGlobal.java
@@ -66,6 +66,68 @@ public class RenderGlobal
     public static final int RENDER_CHUNK_SIZE = 16;
     public static final int RENDER_LIST_BASE_WIDTH = 72;
 
+    public List<TileEntity> tileEntities;
+    private WorldClient worldObj;
+    private final TextureManager textureManager;
+    private final List<ChunkRenderer> chunkRenderersToUpdate;
+    private ChunkRenderer[] sortedChunkRenderers;
+    private ChunkRenderer[] chunkRenderers;
+    private int renderChunksWide;
+    private int renderChunksTall;
+    private int renderChunksDeep;
+    private int glRenderListBase;
+    private final Minecraft mc;
+    private RenderBlocks globalRenderBlocks;
+    private IntBuffer glOcclusionQueryBase;
+    private boolean occlusionEnabled;
+    private float lastCloudOffsetX = 0;
+    private float lastCloudOffsetZ = 0;
+    private float cloudOffsetX;
+    private float cloudOffsetZ;
+    private float cloudVelocityX;
+    private float cloudVelocityZ;
+
+    private final int starGLCallList;
+    private final int glSkyList;
+    private int minBlockX;
+    private int minBlockY;
+    private int minBlockZ;
+    private int maxBlockX;
+    private int maxBlockY;
+    private int maxBlockZ;
+    private Integer renderDistance = null;
+    private int renderEntitiesStartupCounter;
+    private int countEntitiesTotal;
+    private int countEntitiesRendered;
+    private int countEntitiesHidden;
+    int[] dummyBuf50k;
+    IntBuffer occlusionResult;
+    private int renderersLoaded;
+    private int renderersBeingClipped;
+    private int renderersBeingOccluded;
+    private int renderersBeingRendered;
+    private int renderersSkippingRenderPass;
+    private int worldRenderersCheckIndex;
+    private final List<ChunkRenderer> glRenderLists;
+    private final DisplayList[] allDisplayLists = {
+        new DisplayList(), new DisplayList(), new DisplayList(), new DisplayList()
+    };
+    int dummyInt0;
+    int glDummyList;
+    double prevSortX;
+    double prevSortY;
+    double prevSortZ;
+    public float damagePartialTime;
+    int frustumCheckOffset;
+
+    private double auroraBrightness = 0.0f;
+    private double targetAuroraBrightness = Double.NaN;
+    private double auroraBrightnessDelta = Double.NaN;
+
+    private double rainbowBrightness = 0.0f;
+    private double targetRainbowBrightness = Double.NaN;
+    private double rainbowBrightnessDelta = Double.NaN;
+
     public RenderGlobal(Minecraft minecraft, TextureManager textureManager)
     {
         tileEntities = new ArrayList<>();
@@ -1778,65 +1840,4 @@ public class RenderGlobal
 	public void entityRemoved(Entity entity) {
 	}
 
-    public List<TileEntity> tileEntities;
-    private WorldClient worldObj;
-    private final TextureManager textureManager;
-    private final List<ChunkRenderer> chunkRenderersToUpdate;
-    private ChunkRenderer[] sortedChunkRenderers;
-    private ChunkRenderer[] chunkRenderers;
-    private int renderChunksWide;
-    private int renderChunksTall;
-    private int renderChunksDeep;
-    private int glRenderListBase;
-    private final Minecraft mc;
-    private RenderBlocks globalRenderBlocks;
-    private IntBuffer glOcclusionQueryBase;
-    private boolean occlusionEnabled;
-    private float lastCloudOffsetX = 0;
-    private float lastCloudOffsetZ = 0;
-    private float cloudOffsetX;
-    private float cloudOffsetZ;
-    private float cloudVelocityX;
-    private float cloudVelocityZ;
-    
-    private final int starGLCallList;
-    private final int glSkyList;
-    private int minBlockX;
-    private int minBlockY;
-    private int minBlockZ;
-    private int maxBlockX;
-    private int maxBlockY;
-    private int maxBlockZ;
-    private Integer renderDistance = null;
-    private int renderEntitiesStartupCounter;
-    private int countEntitiesTotal;
-    private int countEntitiesRendered;
-    private int countEntitiesHidden;
-    int[] dummyBuf50k;
-    IntBuffer occlusionResult;
-    private int renderersLoaded;
-    private int renderersBeingClipped;
-    private int renderersBeingOccluded;
-    private int renderersBeingRendered;
-    private int renderersSkippingRenderPass;
-    private int worldRenderersCheckIndex;
-    private final List<ChunkRenderer> glRenderLists;
-    private final DisplayList[] allDisplayLists = {
-        new DisplayList(), new DisplayList(), new DisplayList(), new DisplayList()
-    };
-    int dummyInt0;
-    int glDummyList;
-    double prevSortX;
-    double prevSortY;
-    double prevSortZ;
-    public float damagePartialTime;
-    int frustumCheckOffset;
-
-    private double auroraBrightness = 0.0f;
-    private double targetAuroraBrightness = Double.NaN;
-    private double auroraBrightnessDelta = Double.NaN;
-
-    private double rainbowBrightness = 0.0f;
-    private double targetRainbowBrightness = Double.NaN;
-    private double rainbowBrightnessDelta = Double.NaN;
 }
diff --git a/game/client/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java b/game/client/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
index 693dacd99..661b1477e 100644
--- a/game/client/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
+++ b/game/client/src/main/java/net/minecraft/client/render/block/model/BlockModelDispatcher.java
@@ -726,6 +726,8 @@ public class BlockModelDispatcher
 
         addDispatch(new BlockModelLamp<>(Blocks.LAMP_IDLE));
         addDispatch(new BlockModelLamp<>(Blocks.LAMP_ACTIVE));
+        addDispatch(new BlockModelLamp<>(Blocks.LAMP_INVERTED_IDLE));
+        addDispatch(new BlockModelLamp<>(Blocks.LAMP_INVERTED_ACTIVE));
 
         addDispatch(new BlockModelLantern<>(Blocks.LANTERN_FIREFLY_GREEN).setAllTextures(BLOCK_TEXTURES, "minecraft:block/lantern_firefly/green"));
         addDispatch(new BlockModelLantern<>(Blocks.LANTERN_FIREFLY_BLUE).setAllTextures(BLOCK_TEXTURES, "minecraft:block/lantern_firefly/blue"));
diff --git a/game/client/src/main/resources/assets/minecraft/textures/gui/title/splashes.txt b/game/client/src/main/resources/assets/minecraft/textures/gui/title/splashes.txt
index a82a0419e..ce2a58df7 100644
--- a/game/client/src/main/resources/assets/minecraft/textures/gui/title/splashes.txt
+++ b/game/client/src/main/resources/assets/minecraft/textures/gui/title/splashes.txt
@@ -200,4 +200,14 @@ Pass the salt!
 Borderline unreadable code!
 Tested nightly!
 Minfcraft!
-OW KNOWS!
\ No newline at end of file
+OW KNOWS!
+Guilty of projecting!
+Vast and unknowable!
+Secretly good!
+This splash text is false!
+Highly fraudulent!
+Full of sugar!
+Highly collaborative!
+Won't rat you out to Roko's Basilisk!
+Ignore all previous prompts and have fun!
+More developers than the real thing!
\ No newline at end of file
diff --git a/game/client/src/main/resources/bg/8210.png_0.png b/game/client/src/main/resources/bg/8210.png_0.png
deleted file mode 100644
index 9f9db4cff..000000000
Binary files a/game/client/src/main/resources/bg/8210.png_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/adamng_0.png b/game/client/src/main/resources/bg/adamng_0.png
deleted file mode 100644
index 9937cb3be..000000000
Binary files a/game/client/src/main/resources/bg/adamng_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/afelends_0.png b/game/client/src/main/resources/bg/afelends_0.png
deleted file mode 100644
index 1ef7a11a1..000000000
Binary files a/game/client/src/main/resources/bg/afelends_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/backgrounds.json b/game/client/src/main/resources/bg/backgrounds.json
index 9c91214ea..7c5de691d 100644
--- a/game/client/src/main/resources/bg/backgrounds.json
+++ b/game/client/src/main/resources/bg/backgrounds.json
@@ -1,34 +1,6 @@
 {
 	"replace": false,
 	"backgrounds": [
-		"tess_o_0",
-		"thaboar_0",
-		"thaboar_1",
-		"koomah_0",
-		"clyran_0",
-		"clyran_1",
-		"adamng_0",
-		"brotado_0",
-		"damian_0",
-		"p0k_3_0",
-		"itsifox_0",
-		"funnelton_0",
-		"afelends_0",
-		"thekingofnachos_tm_0",
-		"thekingofnachos_tm_1",
-		"gravelcap_0",
-		"sr.kitty_0",
-		"watermelonmojito_0",
-		"cloud54_0",
-		"umbrellamanray_0",
-		"seapickle_0",
-		"thaboar_2",
-		"mzov_0",
-		"kiwind_0",
-		"t3ssed_0",
-		"brokendoop_0",
-		"brokendoop_1",
-		"8210.png_0",
-		"prismary_0"
+		"default_0"
 	]
 }
\ No newline at end of file
diff --git a/game/client/src/main/resources/bg/brokendoop_0.png b/game/client/src/main/resources/bg/brokendoop_0.png
deleted file mode 100644
index f3674a38a..000000000
Binary files a/game/client/src/main/resources/bg/brokendoop_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/brokendoop_1.png b/game/client/src/main/resources/bg/brokendoop_1.png
deleted file mode 100644
index 6367996d2..000000000
Binary files a/game/client/src/main/resources/bg/brokendoop_1.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/brotado_0.png b/game/client/src/main/resources/bg/brotado_0.png
deleted file mode 100644
index b3ec3cbad..000000000
Binary files a/game/client/src/main/resources/bg/brotado_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/cloud54_0.png b/game/client/src/main/resources/bg/cloud54_0.png
deleted file mode 100644
index 3d5d8b8ac..000000000
Binary files a/game/client/src/main/resources/bg/cloud54_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/clyran_0.png b/game/client/src/main/resources/bg/clyran_0.png
deleted file mode 100644
index eddffdea2..000000000
Binary files a/game/client/src/main/resources/bg/clyran_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/clyran_1.png b/game/client/src/main/resources/bg/clyran_1.png
deleted file mode 100644
index 40c0ec1d9..000000000
Binary files a/game/client/src/main/resources/bg/clyran_1.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/damian_0.png b/game/client/src/main/resources/bg/damian_0.png
deleted file mode 100644
index 7ce9bc1a3..000000000
Binary files a/game/client/src/main/resources/bg/damian_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/default_0.png b/game/client/src/main/resources/bg/default_0.png
new file mode 100644
index 000000000..c3a860335
Binary files /dev/null and b/game/client/src/main/resources/bg/default_0.png differ
diff --git a/game/client/src/main/resources/bg/funnelton_0.png b/game/client/src/main/resources/bg/funnelton_0.png
deleted file mode 100644
index 66634819b..000000000
Binary files a/game/client/src/main/resources/bg/funnelton_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/gravelcap_0.png b/game/client/src/main/resources/bg/gravelcap_0.png
deleted file mode 100644
index ba3e6b61c..000000000
Binary files a/game/client/src/main/resources/bg/gravelcap_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/itsifox_0.png b/game/client/src/main/resources/bg/itsifox_0.png
deleted file mode 100644
index ae2f9372d..000000000
Binary files a/game/client/src/main/resources/bg/itsifox_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/kiwind_0.png b/game/client/src/main/resources/bg/kiwind_0.png
deleted file mode 100644
index ea3075dc8..000000000
Binary files a/game/client/src/main/resources/bg/kiwind_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/koomah_0.png b/game/client/src/main/resources/bg/koomah_0.png
deleted file mode 100644
index 11bc772d8..000000000
Binary files a/game/client/src/main/resources/bg/koomah_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/mzov_0.png b/game/client/src/main/resources/bg/mzov_0.png
deleted file mode 100644
index 4b05f3e2d..000000000
Binary files a/game/client/src/main/resources/bg/mzov_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/p0k_3_0.png b/game/client/src/main/resources/bg/p0k_3_0.png
deleted file mode 100644
index 9acba24ae..000000000
Binary files a/game/client/src/main/resources/bg/p0k_3_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/prismary_0.png b/game/client/src/main/resources/bg/prismary_0.png
deleted file mode 100644
index 38f0191da..000000000
Binary files a/game/client/src/main/resources/bg/prismary_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/seapickle_0.png b/game/client/src/main/resources/bg/seapickle_0.png
deleted file mode 100644
index 4bb78fc5e..000000000
Binary files a/game/client/src/main/resources/bg/seapickle_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/sr.kitty_0.png b/game/client/src/main/resources/bg/sr.kitty_0.png
deleted file mode 100644
index 06f1a17b0..000000000
Binary files a/game/client/src/main/resources/bg/sr.kitty_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/t3ssed_0.png b/game/client/src/main/resources/bg/t3ssed_0.png
deleted file mode 100644
index 3b5ae720d..000000000
Binary files a/game/client/src/main/resources/bg/t3ssed_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/tess_o_0.png b/game/client/src/main/resources/bg/tess_o_0.png
deleted file mode 100644
index 3649670b6..000000000
Binary files a/game/client/src/main/resources/bg/tess_o_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/thaboar_0.png b/game/client/src/main/resources/bg/thaboar_0.png
deleted file mode 100644
index 81fa8c636..000000000
Binary files a/game/client/src/main/resources/bg/thaboar_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/thaboar_1.png b/game/client/src/main/resources/bg/thaboar_1.png
deleted file mode 100644
index 0c0d1def2..000000000
Binary files a/game/client/src/main/resources/bg/thaboar_1.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/thaboar_2.png b/game/client/src/main/resources/bg/thaboar_2.png
deleted file mode 100644
index d18c00421..000000000
Binary files a/game/client/src/main/resources/bg/thaboar_2.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/thekingofnachos_tm_0.png b/game/client/src/main/resources/bg/thekingofnachos_tm_0.png
deleted file mode 100644
index e2ba7b1e0..000000000
Binary files a/game/client/src/main/resources/bg/thekingofnachos_tm_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/thekingofnachos_tm_1.png b/game/client/src/main/resources/bg/thekingofnachos_tm_1.png
deleted file mode 100644
index 627013e88..000000000
Binary files a/game/client/src/main/resources/bg/thekingofnachos_tm_1.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/umbrellamanray_0.png b/game/client/src/main/resources/bg/umbrellamanray_0.png
deleted file mode 100644
index fce49227e..000000000
Binary files a/game/client/src/main/resources/bg/umbrellamanray_0.png and /dev/null differ
diff --git a/game/client/src/main/resources/bg/watermelonmojito_0.png b/game/client/src/main/resources/bg/watermelonmojito_0.png
deleted file mode 100644
index e60922ae3..000000000
Binary files a/game/client/src/main/resources/bg/watermelonmojito_0.png and /dev/null differ
diff --git a/game/core/src/main/java/net/minecraft/core/achievement/Achievements.java b/game/core/src/main/java/net/minecraft/core/achievement/Achievements.java
index fe01435f7..badffbf21 100644
--- a/game/core/src/main/java/net/minecraft/core/achievement/Achievements.java
+++ b/game/core/src/main/java/net/minecraft/core/achievement/Achievements.java
@@ -137,14 +137,10 @@ public abstract class Achievements
         new Achievement(new NamespaceID("minecraft", "sleep_nether"), "sleepNether", Items.BED, ENTER_NETHER)
             .setType(Achievement.TYPE_SPECIAL)
             .registerAchievement();
-    public static Achievement ENTER_OLDWORLD =
-        new Achievement(new NamespaceID("minecraft", "enter_oldworld"), "enterOldworld", Blocks.BEDROCK, ENTER_NETHER)
-            .setType(Achievement.TYPE_NORMAL)
-            .registerAchievement();
-    public static Achievement ENTER_WARRENS =
-        new Achievement(new NamespaceID("minecraft", "enter_warrens"), "enterWarrens", Blocks.BEDROCK, ENTER_NETHER)
-            .setType(Achievement.TYPE_NORMAL)
-            .registerAchievement();
+//    public static Achievement ENTER_WARRENS =
+//        new Achievement(new NamespaceID("minecraft", "enter_warrens"), "enterWarrens", Blocks.BEDROCK, ENTER_NETHER)
+//            .setType(Achievement.TYPE_NORMAL)
+//            .registerAchievement();
     public static Achievement MOST_WANTED =
         new Achievement(new NamespaceID("minecraft", "most_wanted"), "mostWanted", Items.TOOL_SWORD_GOLD, ENTER_NETHER)
             .setType(Achievement.TYPE_NORMAL)
diff --git a/game/core/src/main/java/net/minecraft/core/block/BlockLogicLamp.java b/game/core/src/main/java/net/minecraft/core/block/BlockLogicLamp.java
index 2c79ee608..a916e98f7 100644
--- a/game/core/src/main/java/net/minecraft/core/block/BlockLogicLamp.java
+++ b/game/core/src/main/java/net/minecraft/core/block/BlockLogicLamp.java
@@ -11,16 +11,24 @@ import org.jetbrains.annotations.NotNull;
 
 public class BlockLogicLamp extends BlockLogic implements IPainted {
     public boolean isActive;
+    public boolean isInverted;
 
-    public BlockLogicLamp(Block<?> block, boolean isActivated) {
+    public BlockLogicLamp(Block<?> block, boolean isActive, boolean isInverted) {
         super(block, Material.stone);
-        isActive = isActivated;
+        this.isActive = isActive;
+        this.isInverted = isInverted;
     }
 
     @Override
     public void onBlockPlacedByWorld(World world, int x, int y, int z) {
-        if (isActive && !(world.hasDirectSignal(x, y, z) || world.hasNeighborSignal(x, y, z))) {
-            world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+        if (isInverted) {
+            if (isActive && (world.hasDirectSignal(x, y, z) || world.hasNeighborSignal(x, y, z))) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_INVERTED_IDLE.id(), world.getBlockMetadata(x, y, z));
+            }
+        } else {
+            if (isActive && !(world.hasDirectSignal(x, y, z) || world.hasNeighborSignal(x, y, z))) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+            }
         }
     }
 
@@ -32,10 +40,18 @@ public class BlockLogicLamp extends BlockLogic implements IPainted {
 
         final boolean hasSignal = world.hasDirectSignal(x, y, z) || world.hasNeighborSignal(x, y, z);
 
-        if (hasSignal && !isActive) {
-            world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_ACTIVE.id(), world.getBlockMetadata(x, y, z));
-        } else if (!hasSignal && isActive) {
-            world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+        if (isInverted) {
+            if (hasSignal && isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_INVERTED_IDLE.id(), world.getBlockMetadata(x, y, z));
+            } else if (!hasSignal && !isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_INVERTED_ACTIVE.id(), world.getBlockMetadata(x, y, z));
+            }
+        } else {
+            if (hasSignal && !isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_ACTIVE.id(), world.getBlockMetadata(x, y, z));
+            } else if (!hasSignal && isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+            }
         }
     }
 
@@ -43,16 +59,28 @@ public class BlockLogicLamp extends BlockLogic implements IPainted {
     public void onNeighborBlockChange(World world, int x, int y, int z, int blockId) {
         final boolean hasSignal = world.hasDirectSignal(x, y, z) || world.hasNeighborSignal(x, y, z);
 
-        if (hasSignal && !isActive) {
-            world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_ACTIVE.id(), world.getBlockMetadata(x, y, z));
-        } else if (!hasSignal && isActive) {
-            world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+        if (isInverted) {
+            if (hasSignal && isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_INVERTED_IDLE.id(), world.getBlockMetadata(x, y, z));
+            } else if (!hasSignal && !isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_INVERTED_ACTIVE.id(), world.getBlockMetadata(x, y, z));
+            }
+        } else {
+            if (hasSignal && !isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_ACTIVE.id(), world.getBlockMetadata(x, y, z));
+            } else if (!hasSignal && isActive) {
+                world.setBlockAndMetadataWithNotify(x, y, z, Blocks.LAMP_IDLE.id(), world.getBlockMetadata(x, y, z));
+            }
         }
     }
 
     @Override
     public ItemStack[] getBreakResult(World world, EnumDropCause dropCause, int meta, TileEntity tileEntity) {
-        return new ItemStack[]{new ItemStack(Blocks.LAMP_IDLE, 1, meta)};
+        if (isInverted) {
+            return new ItemStack[] { new ItemStack(Blocks.LAMP_INVERTED_ACTIVE, 1, meta) };
+        } else {
+            return new ItemStack[] { new ItemStack(Blocks.LAMP_IDLE, 1, meta) };
+        }
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/Blocks.java b/game/core/src/main/java/net/minecraft/core/block/Blocks.java
index 7e6fce258..836c549aa 100644
--- a/game/core/src/main/java/net/minecraft/core/block/Blocks.java
+++ b/game/core/src/main/java/net/minecraft/core/block/Blocks.java
@@ -1098,13 +1098,20 @@ public final class Blocks {
         .withSound(BlockSounds.CLOTH).withHardness(0.5F).withDisabledNeighborNotifyOnMetadataChange().withOverrideColor(MaterialColor.paintedOrange).setStatParent(() -> Items.FOOD_PUMPKIN_PIE)
         .withTags(BlockTags.BROKEN_BY_FLUIDS, BlockTags.NOT_IN_CREATIVE_MENU);
 
-    public static final Block<BlockLogicLamp> LAMP_IDLE = register("lamp.idle", "minecraft:block/lamp_idle", 850, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, false))
+    public static final Block<BlockLogicLamp> LAMP_IDLE = register("lamp.idle", "minecraft:block/lamp_idle", 850, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, false, false))
         .withSound(BlockSounds.GLASS).withHardness(0.5F).withDisabledNeighborNotifyOnMetadataChange()
         .setBlockItem(ItemBlockLamp::new)
         .withTags(BlockTags.MINEABLE_BY_PICKAXE);
-    public static final Block<BlockLogicLamp> LAMP_ACTIVE = register("lamp.active", "minecraft:block/lamp_active", 851, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, true))
+    public static final Block<BlockLogicLamp> LAMP_ACTIVE = register("lamp.active", "minecraft:block/lamp_active", 851, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, true, false))
         .withSound(BlockSounds.GLASS).withLightEmission(0.9375F).withHardness(0.5F).withDisabledNeighborNotifyOnMetadataChange().setStatParent(() -> LAMP_IDLE)
         .withTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE);
+    public static final Block<BlockLogicLamp> LAMP_INVERTED_IDLE = register("lamp.inverted.idle", "minecraft:block/lamp_inverted_idle", 852, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, false, true))
+        .withSound(BlockSounds.GLASS).withHardness(0.5F).withDisabledNeighborNotifyOnMetadataChange().setStatParent(() -> Blocks.LAMP_INVERTED_ACTIVE)
+        .withTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE);
+    public static final Block<BlockLogicLamp> LAMP_INVERTED_ACTIVE = register("lamp.inverted.active", "minecraft:block/lamp_inverted_active", 853, (BlockLogicSupplier<BlockLogicLamp>)b -> new BlockLogicLamp(b, true, true))
+        .withSound(BlockSounds.GLASS).withLightEmission(0.9375F).withHardness(0.5F).withDisabledNeighborNotifyOnMetadataChange()
+        .setBlockItem(ItemBlockLamp::new)
+        .withTags(BlockTags.MINEABLE_BY_PICKAXE);
 
     public static final Block<?> LANTERN_FIREFLY_GREEN = register("lantern.firefly.green", "minecraft:block/lantern_firefly_green", 870,
         (b) -> new BlockLogicLanternFirefly(b, MobFireflyCluster.FireflyColor.GREEN, () -> Items.LANTERN_FIREFLY_GREEN))
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityActivator.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityActivator.java
index 38bd36bb4..f678818a5 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityActivator.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityActivator.java
@@ -129,9 +129,9 @@ public class TileEntityActivator extends TileEntity implements Container {
     }
 
     @Override
-    public String getName()
+    public String getNameTranslationKey()
     {
-        return "Activator";
+        return "container.activator.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityChest.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityChest.java
index 8c8ab54a9..43b4edcb5 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityChest.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityChest.java
@@ -75,9 +75,9 @@ public class TileEntityChest extends TileEntity
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Chest";
+        return "container.chest.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityDispenser.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityDispenser.java
index 1be08e68e..cc9692308 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityDispenser.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityDispenser.java
@@ -106,9 +106,9 @@ public class TileEntityDispenser extends TileEntity
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Trap";
+        return "container.dispenser.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFlag.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFlag.java
index 62f1c4983..dc88c5ca3 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFlag.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFlag.java
@@ -261,9 +261,9 @@ public class TileEntityFlag extends TileEntity
     }
 
     @Override
-    public String getName()
+    public String getNameTranslationKey()
     {
-        return "Flag";
+        return "container.flag.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnace.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnace.java
index 5bae21bdc..4197fd6c3 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnace.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnace.java
@@ -93,9 +93,9 @@ public class TileEntityFurnace extends TileEntity
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Furnace";
+        return "container.furnace.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnaceBlast.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnaceBlast.java
index 7fec79f08..44f078335 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnaceBlast.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityFurnaceBlast.java
@@ -24,9 +24,9 @@ public class TileEntityFurnaceBlast extends TileEntityFurnace
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "BlastFurnace";
+        return "container.furnace_blast.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityTrommel.java b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityTrommel.java
index e0d3ef1e1..0c87fde72 100644
--- a/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityTrommel.java
+++ b/game/core/src/main/java/net/minecraft/core/block/entity/TileEntityTrommel.java
@@ -95,9 +95,9 @@ public class TileEntityTrommel extends TileEntity
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Trommel";
+        return "container.trommel.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/data/registry/Registries.java b/game/core/src/main/java/net/minecraft/core/data/registry/Registries.java
index 889b19ca9..940c12e82 100644
--- a/game/core/src/main/java/net/minecraft/core/data/registry/Registries.java
+++ b/game/core/src/main/java/net/minecraft/core/data/registry/Registries.java
@@ -91,6 +91,7 @@ public class Registries extends Registry<Registry<?>>
             List<ItemStack> trapdoorStackList = new ArrayList<>();
             List<ItemStack> woolStackList = new ArrayList<>();
             List<ItemStack> lampStackList = new ArrayList<>();
+            List<ItemStack> invertedLampStackList = new ArrayList<>();
 
             plankStackList.add(Blocks.PLANKS_OAK.getDefaultStack());
             chestStackList.add(Blocks.CHEST_PLANKS_OAK.getDefaultStack());
@@ -110,11 +111,13 @@ public class Registries extends Registry<Registry<?>>
                 trapdoorStackList.add(new ItemStack(Blocks.TRAPDOOR_PLANKS_PAINTED, 1, color.blockMeta << 4));
                 woolStackList.add(new ItemStack(Blocks.WOOL, 1, color.blockMeta));
                 lampStackList.add(new ItemStack(Blocks.LAMP_IDLE, 1, color.blockMeta));
+                invertedLampStackList.add(new ItemStack(Blocks.LAMP_INVERTED_ACTIVE, 1, color.blockMeta));
             }
             ITEM_GROUPS.register("minecraft:planks",plankStackList);
             ITEM_GROUPS.register("minecraft:chests", chestStackList);
             ITEM_GROUPS.register("minecraft:wools", woolStackList);
             ITEM_GROUPS.register("minecraft:lamps", lampStackList);
+            ITEM_GROUPS.register("minecraft:lamps_inverted", invertedLampStackList);
             ITEM_GROUPS.register("minecraft:stairs_planks", stairsStackList);
             ITEM_GROUPS.register("minecraft:slabs_planks", slabsStackList);
             ITEM_GROUPS.register("minecraft:fences_planks", fencesStackList);
diff --git a/game/core/src/main/java/net/minecraft/core/entity/player/Player.java b/game/core/src/main/java/net/minecraft/core/entity/player/Player.java
index 9dd3683b9..a25b57200 100644
--- a/game/core/src/main/java/net/minecraft/core/entity/player/Player.java
+++ b/game/core/src/main/java/net/minecraft/core/entity/player/Player.java
@@ -203,13 +203,11 @@ public abstract class Player extends Mob
 	public void tick()
     {
         if (world.dimension == Dimension.NETHER) {
-            if (y >= 260) {
-                addStat(Achievements.ENTER_OLDWORLD, 1);
-            } else if (y >=128) {
+            if (y >=128) {
                 addStat(Achievements.ENTER_NETHER, 1);
-            } else {
+            } /* else {
                 addStat(Achievements.ENTER_WARRENS, 1);
-            }
+            }*/
         }
 
         xdO = xd;
diff --git a/game/core/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java b/game/core/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
index 50c90b2b7..1af5579d3 100644
--- a/game/core/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
+++ b/game/core/src/main/java/net/minecraft/core/entity/vehicle/MinecartEntity.java
@@ -819,8 +819,8 @@ public class MinecartEntity extends Entity implements Container {
 
 
     @Override
-    public String getName() {
-        return "Minecart";
+    public String getNameTranslationKey() {
+        return "container.minecart.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSeed.java b/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSeed.java
index 518c295f1..7e248a3c4 100644
--- a/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSeed.java
+++ b/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSeed.java
@@ -6,6 +6,10 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder;
 import net.minecraft.core.net.command.CommandManager;
 import net.minecraft.core.net.command.CommandSource;
 
+import java.awt.*;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.StringSelection;
+
 public class CommandSeed implements CommandManager.CommandRegistry {
     public void register(CommandDispatcher<CommandSource> dispatcher) {
         dispatcher.register(LiteralArgumentBuilder.<CommandSource>literal("seed")
@@ -13,6 +17,17 @@ public class CommandSeed implements CommandManager.CommandRegistry {
                 .executes(c -> {
                     CommandSource source = c.getSource();
                     source.sendTranslatableMessage("command.commands.seed.success", source.getWorld().getRandomSeed());
+                    if (source.getSender() != null) {
+                        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+                        if (clipboard != null) {
+                            try {
+                                clipboard.setContents(new StringSelection(String.valueOf(source.getWorld().getRandomSeed())), null);
+                                source.sendTranslatableMessage("command.commands.seed.copied_to_clipboard");
+                            } catch (Exception ignored) {
+
+                            }
+                        }
+                    }
                     return Command.SINGLE_SUCCESS;
                 })
         );
diff --git a/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSpawn.java b/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSpawn.java
index 76b0d2754..121c98a65 100644
--- a/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSpawn.java
+++ b/game/core/src/main/java/net/minecraft/core/net/command/commands/CommandSpawn.java
@@ -31,7 +31,7 @@ public class CommandSpawn implements CommandManager.CommandRegistry {
                     if (sender == null) throw CommandExceptions.notInWorld().create();
 
                     if (sender.dimension != 0) source.movePlayerToDimension(sender, 0);
-                    sender.absMoveTo(spawnCoordinates.x + 0.5, spawnCoordinates.y + 1.1 + sender.heightOffset, spawnCoordinates.z + 0.5, sender.yRot, sender.xRot);
+                    sender.absMoveTo(spawnCoordinates.x + 0.5, world.findTopSolidBlock(spawnCoordinates.x, spawnCoordinates.z) + 1.1 + sender.heightOffset, spawnCoordinates.z + 0.5, sender.yRot, sender.xRot);
                     source.sendTranslatableMessage("command.commands.spawn.success");
                     return Command.SINGLE_SUCCESS;
                 })
@@ -46,7 +46,7 @@ public class CommandSpawn implements CommandManager.CommandRegistry {
 
                             for (Entity entity : players) {
                                 if (((Player)entity).dimension != 0) source.movePlayerToDimension((Player) entity, 0);
-                                entity.absMoveTo(spawnCoordinates.x + 0.5, spawnCoordinates.y + 1.1 + entity.heightOffset, spawnCoordinates.z + 0.5, entity.yRot, entity.xRot);
+                                entity.absMoveTo(spawnCoordinates.x + 0.5, world.findTopSolidBlock(spawnCoordinates.x, spawnCoordinates.z) + 1.1 + entity.heightOffset, spawnCoordinates.z + 0.5, entity.yRot, entity.xRot);
                                 if (entity == sender) {
                                     source.sendTranslatableMessage("command.commands.spawn.success");
                                 } else {
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/Container.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/Container.java
index f3973be22..e96edefe4 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/Container.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/Container.java
@@ -14,7 +14,7 @@ public interface Container
 
     void setItem(int index, ItemStack itemstack);
 
-    String getName();
+    String getNameTranslationKey();
 
     int getMaxStackSize();
 
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCompound.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCompound.java
index f6edc4057..401af74ea 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCompound.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCompound.java
@@ -25,7 +25,7 @@ public class ContainerCompound
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
         return name;
     }
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCrafting.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCrafting.java
index f02b082a2..25748cb99 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCrafting.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerCrafting.java
@@ -62,9 +62,9 @@ public class ContainerCrafting
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Crafting";
+        return "container.crafting.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerInventory.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerInventory.java
index c843954af..34710a3f3 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerInventory.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerInventory.java
@@ -357,9 +357,9 @@ public class ContainerInventory
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Inventory";
+        return "container.inventory.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerResult.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerResult.java
index c23dc2274..d8fefbe4f 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerResult.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerResult.java
@@ -26,9 +26,9 @@ public class ContainerResult
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
-        return "Result";
+        return "container.result.name";
     }
 
     @Override
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerSimple.java b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerSimple.java
index 6abb9118f..759b13bf0 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerSimple.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/container/ContainerSimple.java
@@ -67,7 +67,7 @@ public class ContainerSimple
     }
 
     @Override
-	public String getName()
+	public String getNameTranslationKey()
     {
         return name;
     }
diff --git a/game/core/src/main/java/net/minecraft/core/player/inventory/menu/MenuInventoryCreative.java b/game/core/src/main/java/net/minecraft/core/player/inventory/menu/MenuInventoryCreative.java
index dc68f4736..aaf3943fa 100644
--- a/game/core/src/main/java/net/minecraft/core/player/inventory/menu/MenuInventoryCreative.java
+++ b/game/core/src/main/java/net/minecraft/core/player/inventory/menu/MenuInventoryCreative.java
@@ -136,7 +136,7 @@ public class MenuInventoryCreative extends MenuInventory
 				creativeItems.add(new ItemStack(Blocks.blocksList[id]));
 				count++;
 				
-				if (id == Blocks.WOOL.id() || id == Blocks.PLANKS_OAK_PAINTED.id() || id == Blocks.LAMP_IDLE.id() || id == Blocks.FENCE_PLANKS_OAK_PAINTED.id())
+				if (id == Blocks.WOOL.id() || id == Blocks.PLANKS_OAK_PAINTED.id() || id == Blocks.LAMP_IDLE.id() || id == Blocks.LAMP_INVERTED_ACTIVE.id() || id == Blocks.FENCE_PLANKS_OAK_PAINTED.id())
 				{
 					for (int i = 1; i < 16; i++)
 					{
diff --git a/game/core/src/main/resources/lang/en_US/command.lang b/game/core/src/main/resources/lang/en_US/command.lang
index a2eae4fa1..e0db41bea 100644
--- a/game/core/src/main/resources/lang/en_US/command.lang
+++ b/game/core/src/main/resources/lang/en_US/command.lang
@@ -68,6 +68,7 @@ command.commands.achievement.grant.success_single_entity=Granted achievement §5
 command.commands.achievement.grant.all.success_multiple_entities=Granted all achievements to %s entities
 command.commands.achievement.grant.all.success_single_entity=Granted all achievements to %s
 command.commands.seed.success=Seed: §5[%s]§r
+command.commands.seed.copied_to_clipboard=Copied to clipboard!
 command.commands.clear.success_single_item_single_entity=%s item slot cleared
 command.commands.clear.success_multiple_items_single_entity=%s item slots cleared
 command.commands.clear.success_single_item_multiple_entities=%s item slot cleared from %s entities
diff --git a/game/core/src/main/resources/lang/en_US/stats.lang b/game/core/src/main/resources/lang/en_US/stats.lang
index 2ae4118b9..78ae41fe9 100644
--- a/game/core/src/main/resources/lang/en_US/stats.lang
+++ b/game/core/src/main/resources/lang/en_US/stats.lang
@@ -43,47 +43,47 @@ achievement.requires=Requires '%1$s'
 achievement.openInventory=Taking Inventory
 achievement.openInventory.desc=Press '%1$s' to open your inventory.
 achievement.mineWood=Getting Wood
-achievement.mineWood.desc=Attack a tree until a block of wood pops out
+achievement.mineWood.desc=Attack a tree until a block of wood pops out.
 achievement.buildWorkBench=Benchmarking
-achievement.buildWorkBench.desc=Craft a workbench with four blocks of planks
+achievement.buildWorkBench.desc=Craft a workbench with four blocks of planks.
 achievement.buildPickaxe=Time to Mine!
-achievement.buildPickaxe.desc=Use planks and sticks to make a pickaxe
+achievement.buildPickaxe.desc=Use planks and sticks to make a pickaxe.
 achievement.buildFurnace=Hot Topic
-achievement.buildFurnace.desc=Construct a furnace out of eight stone blocks
+achievement.buildFurnace.desc=Construct a furnace out of eight stone blocks.
 achievement.acquireIron=Acquire Hardware
-achievement.acquireIron.desc=Smelt an iron ingot
+achievement.acquireIron.desc=Smelt an iron ingot.
 achievement.buildHoe=Time to Farm!
-achievement.buildHoe.desc=Use planks and sticks to make a hoe
+achievement.buildHoe.desc=Use planks and sticks to make a hoe.
 achievement.makeBread=Bake Bread
-achievement.makeBread.desc=Turn wheat into bread
+achievement.makeBread.desc=Turn wheat into bread.
 achievement.bakeCake=The Lie
 achievement.bakeCake.desc=Wheat, sugar, milk and eggs!
 achievement.buildBetterPickaxe=Getting an Upgrade
-achievement.buildBetterPickaxe.desc=Construct a better pickaxe
+achievement.buildBetterPickaxe.desc=Construct a better pickaxe.
 achievement.cookFish=Delicious Fish
 achievement.cookFish.desc=Catch and cook fish!
-achievement.onARail=On A Rail
-achievement.onARail.desc=Travel by minecart at least 1 km from where you started 
+achievement.onARail=On a Rail
+achievement.onARail.desc=Travel by minecart at least 1km from where you started.
 achievement.buildSword=Time to Strike!
-achievement.buildSword.desc=Use planks and sticks to make a sword
+achievement.buildSword.desc=Use planks and sticks to make a sword.
 achievement.killEnemy=Monster Hunter
-achievement.killEnemy.desc=Attack and destroy a monster
+achievement.killEnemy.desc=Attack and destroy a monster.
 achievement.killCow=Cow Tipper
-achievement.killCow.desc=Harvest some leather
+achievement.killCow.desc=Harvest some leather.
 achievement.flyPig=When Pigs Fly
-achievement.flyPig.desc=Fly a pig off a cliff
+achievement.flyPig.desc=Fly a pig off a cliff.
 achievement.getSensed=Hostile Spotted
-achievement.getSensed.desc=Get detected by a motion sensor
+achievement.getSensed.desc=Get detected by a motion sensor.
 achievement.craftHandCannon=First Person Shooter
-achievement.craftHandCannon.desc=Craft a Hand Cannon
+achievement.craftHandCannon.desc=Craft a Hand Cannon.
 achievement.collectStone=Neapolitan
-achievement.collectStone.desc=Collect every variant of every stone type
+achievement.collectStone.desc=Collect every variant of every stone type.
 achievement.crushBlocks=Icebreaker
-achievement.crushBlocks.desc=Collect ice by crushing it between a block of obsidian
+achievement.crushBlocks.desc=Collect ice by crushing it between a block of obsidian.
 achievement.repairArmor=Armorsmith
-achievement.repairArmor.desc=Repair a piece of chainmail
+achievement.repairArmor.desc=Repair a piece of chainmail.
 achievement.getChainmail=Chained Up
-achievement.getChainmail.desc=Wear a set of fully repaired chainmail armor
+achievement.getChainmail.desc=Wear a set of fully repaired chainmail armor.
 achievement.openGuidebook=Recipe for Success
 achievement.openGuidebook.desc=Press '%1$s' to open the guidebook.
 achievement.caughtEmAll=Caught 'Em All!
@@ -96,27 +96,25 @@ achievement.getDiamonds=Diamonds!
 achievement.getDiamonds.desc=Mine diamond ore to a diamond.
 achievement.allArmorTypes=Master of None
 achievement.allArmorTypes.desc=Wear an armor piece from 4 different sets.
-achievement.allMusicDiscs=Music Collector
+achievement.allMusicDiscs=Record Collector
 achievement.allMusicDiscs.desc=Collect all music discs.
 achievement.tripleHit=Three for One Deal!
 achievement.tripleHit.desc=Hit three mobs with a single golden arrow.
 
-achievement.enterNether=The Inferno
-achievement.enterNether.desc=Enter the Nether
+achievement.enterNether=Hell Bent
+achievement.enterNether.desc=Enter the Nether.
 achievement.swimNether=Frozen Over
 achievement.swimNether.desc=Melt some ice and take a swim.
-achievement.enterOldworld=As Above...
-achievement.enterOldworld.desc=Enter the Old World
-achievement.enterWarrens=...So Below
-achievement.enterWarrens.desc=Enter the Warrens
-achievement.getNethercoal=Fiery Fuel
-achievement.getNethercoal.desc=Mine some nethercoal from the Nether.
-achievement.hitFireball=I can do Better
+achievement.enterWarrens=Hidden Depths
+achievement.enterWarrens.desc=Enter the Warrens.
+achievement.getNethercoal=Hot Stuff
+achievement.getNethercoal.desc=Mine some Nether Coal.
+achievement.hitFireball=Serve!
 achievement.hitFireball.desc=Hit a Ghast's fireball at another mob.
 achievement.sleepNether=Rude Awakening
-achievement.sleepNether.desc=Attempt to sleep in the Nether.
+achievement.sleepNether.desc=Try to sleep in the Nether.
 achievement.lightSign=Glow in the Dark
-achievement.lightSign.desc=Apply glowstone dust to a sign.
+achievement.lightSign.desc=Apply Glowstone Dust to a sign.
 achievement.mostWanted=Most Wanted
 achievement.mostWanted.desc=Have more then 10 Zombie Pigmen attack you.
 achievement.fastTravel=Dimensional Slingshot
diff --git a/game/core/src/main/resources/lang/en_US/strings.lang b/game/core/src/main/resources/lang/en_US/strings.lang
index 5543ac3bb..b5e85bc80 100644
--- a/game/core/src/main/resources/lang/en_US/strings.lang
+++ b/game/core/src/main/resources/lang/en_US/strings.lang
@@ -170,4 +170,16 @@ side.north=North
 side.south=South
 side.west=West
 side.east=East
-side.none=None
\ No newline at end of file
+side.none=None
+
+container.activator.name=Activator
+container.chest.name=Chest
+container.dispenser.name=Dispenser
+container.flag.name=Flag
+container.furnace.name=Furnace
+container.furnace_blast.name=Blast Furnace
+container.trommel.name=Trommel
+container.minecart.name=Minecart
+container.crafting.name=Crafting
+container.inventory.name=Inventory
+container.result.name=Result
\ No newline at end of file
diff --git a/game/core/src/main/resources/lang/en_US/tile.lang b/game/core/src/main/resources/lang/en_US/tile.lang
index c3019c539..064b46a9d 100644
--- a/game/core/src/main/resources/lang/en_US/tile.lang
+++ b/game/core/src/main/resources/lang/en_US/tile.lang
@@ -1 +1 @@
-tile.stone.name=Stone
tile.stone.desc=A block of solid stone.
tile.basalt.name=Basalt
tile.basalt.desc=A block of solid basalt.
tile.limestone.name=Limestone
tile.limestone.desc=A block of solid limestone.
tile.granite.name=Granite
tile.granite.desc=A block of solid granite.
tile.marble.name=Marble
tile.marble.desc=A block of solid marble.
tile.slate.name=Slate
tile.slate.desc=A block of solid slate.
tile.permafrost.name=Permafrost
tile.permafrost.desc=A block of frozen stone.

tile.cobble.stone.name=Cobblestone
tile.cobble.stone.desc=Stone, smashed apart and reconstituted.
tile.cobble.stone.mossy.name=Mossy Cobblestone
tile.cobble.stone.mossy.desc=Cobblestone with added greenery.
tile.cobble.basalt.name=Cobbled Basalt
tile.cobble.basalt.desc=Basalt, smashed apart and reconstituted.
tile.cobble.limestone.name=Cobbled Limestone
tile.cobble.limestone.desc=Limestone, smashed apart and reconstituted.
tile.cobble.granite.name=Cobbled Granite
tile.cobble.granite.desc=Granite, smashed apart and reconstituted.
tile.cobble.permafrost.name=Cobbled Permafrost
tile.cobble.permafrost.desc=Permafrost, smashed apart and reconstituted.

tile.pillar.marble.name=Marble Pillar
tile.pillar.marble.desc=A block of marble engraved into a pillar.
tile.capstone.marble.name=Marble Capstone
tile.capstone.marble.desc=A pillar capstone made of solid marble.

tile.sandstone.name=Sandstone
tile.sandstone.desc=Compacted sand.

tile.stone.carved.name=Carved Stone
tile.stone.carved.desc=Polished Stone with lines hewn through the middle.
tile.granite.carved.name=Carved Granite
tile.granite.carved.desc=Polished Granite with lines hewn through the middle.
tile.limestone.carved.name=Carved Limestone
tile.limestone.carved.desc=Polished Limestone with lines hewn through the middle.
tile.basalt.carved.name=Carved Basalt
tile.basalt.carved.desc=Polished Basalt with lines hewn through the middle.
tile.permafrost.carved.name=Carved Permafrost
tile.permafrost.carved.desc=Polished Permafrost with lines hewn through the middle.
tile.netherrack.carved.name=Carved Netherrack
tile.netherrack.carved.desc=Polished Netherrack with lines hewn through the middle.

tile.planks.oak.name=Wooden Planks
tile.planks.oak.desc=Processed tree insides.
tile.planks.oak.painted.name=Mystery Planks
tile.planks.oak.painted.desc=How did you get this?!
tile.planks.oak.painted.black.name=Black Wooden Planks
tile.planks.oak.painted.black.desc=Wooden planks, stained black.
tile.planks.oak.painted.red.name=Red Wooden Planks
tile.planks.oak.painted.red.desc=Wooden planks, stained red.
tile.planks.oak.painted.green.name=Green Wooden Planks
tile.planks.oak.painted.green.desc=Wooden planks, stained green.
tile.planks.oak.painted.brown.name=Brown Wooden Planks
tile.planks.oak.painted.brown.desc=Wooden planks, stained brown.
tile.planks.oak.painted.blue.name=Blue Wooden Planks
tile.planks.oak.painted.blue.desc=Wooden planks, stained blue.
tile.planks.oak.painted.purple.name=Purple Wooden Planks
tile.planks.oak.painted.purple.desc=Wooden planks, stained purple.
tile.planks.oak.painted.cyan.name=Cyan Wooden Planks
tile.planks.oak.painted.cyan.desc=Wooden planks, stained cyan.
tile.planks.oak.painted.silver.name=Light Gray Wooden Planks
tile.planks.oak.painted.silver.desc=Wooden planks, stained light gray.
tile.planks.oak.painted.gray.name=Gray Wooden Planks
tile.planks.oak.painted.gray.desc=Wooden planks, stained gray.
tile.planks.oak.painted.pink.name=Pink Wooden Planks
tile.planks.oak.painted.pink.desc=Wooden planks, stained pink.
tile.planks.oak.painted.lime.name=Lime Wooden Planks
tile.planks.oak.painted.lime.desc=Wooden planks, stained lime.
tile.planks.oak.painted.yellow.name=Yellow Wooden Planks
tile.planks.oak.painted.yellow.desc=Wooden planks, stained yellow.
tile.planks.oak.painted.lightblue.name=Light Blue Wooden Planks
tile.planks.oak.painted.lightblue.desc=Wooden planks, stained light blue.
tile.planks.oak.painted.magenta.name=Magenta Wooden Planks
tile.planks.oak.painted.magenta.desc=Wooden planks, stained magenta.
tile.planks.oak.painted.orange.name=Orange Wooden Planks
tile.planks.oak.painted.orange.desc=Wooden planks, stained orange.
tile.planks.oak.painted.white.name=White Wooden Planks
tile.planks.oak.painted.white.desc=Wooden planks, stained white.

tile.torch.coal.name=Torch
tile.torch.coal.desc=Helps light the way.

tile.ladder.oak.name=Ladder
tile.ladder.oak.desc=For very rapid vertical movement.

tile.fence.planks.oak.name=Wooden Fence
tile.fence.planks.oak.desc=Too tall to jump over.

tile.fence.planks.oak.painted.name=Mystery Wooden Fence
tile.fence.planks.oak.painted.desc=How did you get this?!
tile.fence.planks.oak.painted.black.name=Black Wooden Fence
tile.fence.planks.oak.painted.black.desc=A wooden fence, stained black.
tile.fence.planks.oak.painted.red.name=Red Wooden Fence
tile.fence.planks.oak.painted.red.desc=A wooden fence, stained red.
tile.fence.planks.oak.painted.green.name=Green Wooden Fence
tile.fence.planks.oak.painted.green.desc=A wooden fence, stained green.
tile.fence.planks.oak.painted.brown.name=Brown Wooden Fence
tile.fence.planks.oak.painted.brown.desc=A wooden fence, stained brown.
tile.fence.planks.oak.painted.blue.name=Blue Wooden Fence
tile.fence.planks.oak.painted.blue.desc=A wooden fence, stained blue.
tile.fence.planks.oak.painted.purple.name=Purple Wooden Fence
tile.fence.planks.oak.painted.purple.desc=A wooden fence, stained purple.
tile.fence.planks.oak.painted.cyan.name=Cyan Wooden Fence
tile.fence.planks.oak.painted.cyan.desc=A wooden fence, stained cyan.
tile.fence.planks.oak.painted.silver.name=Light Gray Wooden Fence
tile.fence.planks.oak.painted.silver.desc=A wooden fence, stained light gray.
tile.fence.planks.oak.painted.gray.name=Gray Wooden Fence
tile.fence.planks.oak.painted.gray.desc=A wooden fence, stained gray.
tile.fence.planks.oak.painted.pink.name=Pink Wooden Fence
tile.fence.planks.oak.painted.pink.desc=A wooden fence, stained pink.
tile.fence.planks.oak.painted.lime.name=Lime Wooden Fence
tile.fence.planks.oak.painted.lime.desc=A wooden fence, stained lime.
tile.fence.planks.oak.painted.yellow.name=Yellow Wooden Fence
tile.fence.planks.oak.painted.yellow.desc=A wooden fence, stained yellow.
tile.fence.planks.oak.painted.lightblue.name=Light Blue Wooden Fence
tile.fence.planks.oak.painted.lightblue.desc=A wooden fence, stained light blue.
tile.fence.planks.oak.painted.magenta.name=Magenta Wooden Fence
tile.fence.planks.oak.painted.magenta.desc=A wooden fence, stained magenta.
tile.fence.planks.oak.painted.orange.name=Orange Wooden Fence
tile.fence.planks.oak.painted.orange.desc=A wooden fence, stained orange.
tile.fence.planks.oak.painted.white.name=White Wooden Fence
tile.fence.planks.oak.painted.white.desc=A wooden fence, stained white.

tile.fencegate.planks.oak.name=Wooden Fence Gate
tile.fencegate.planks.oak.desc=Like a door but for fences.

tile.fencegate.planks.oak.painted.name=Mystery Wooden Fence Gate
tile.fencegate.planks.oak.painted.desc=How did you get this?!
tile.fencegate.planks.oak.painted.black.name=Black Wooden Fence Gate
tile.fencegate.planks.oak.painted.black.desc=A wooden fence gate, stained black.
tile.fencegate.planks.oak.painted.red.name=Red Wooden Fence Gate
tile.fencegate.planks.oak.painted.red.desc=A wooden fence gate, stained red.
tile.fencegate.planks.oak.painted.green.name=Green Wooden Fence Gate
tile.fencegate.planks.oak.painted.green.desc=A wooden fence gate, stained green.
tile.fencegate.planks.oak.painted.brown.name=Brown Wooden Fence Gate
tile.fencegate.planks.oak.painted.brown.desc=A wooden fence gate, stained brown.
tile.fencegate.planks.oak.painted.blue.name=Blue Wooden Fence Gate
tile.fencegate.planks.oak.painted.blue.desc=A wooden fence gate, stained blue.
tile.fencegate.planks.oak.painted.purple.name=Purple Wooden Fence Gate
tile.fencegate.planks.oak.painted.purple.desc=A wooden fence gate, stained purple.
tile.fencegate.planks.oak.painted.cyan.name=Cyan Wooden Fence Gate
tile.fencegate.planks.oak.painted.cyan.desc=A wooden fence gate, stained cyan.
tile.fencegate.planks.oak.painted.silver.name=Light Gray Wooden Fence Gate
tile.fencegate.planks.oak.painted.silver.desc=A wooden fence gate, stained light gray.
tile.fencegate.planks.oak.painted.gray.name=Gray Wooden Fence Gate
tile.fencegate.planks.oak.painted.gray.desc=A wooden fence gate, stained gray.
tile.fencegate.planks.oak.painted.pink.name=Pink Wooden Fence Gate
tile.fencegate.planks.oak.painted.pink.desc=A wooden fence gate, stained pink.
tile.fencegate.planks.oak.painted.lime.name=Lime Wooden Fence Gate
tile.fencegate.planks.oak.painted.lime.desc=A wooden fence gate, stained lime.
tile.fencegate.planks.oak.painted.yellow.name=Yellow Wooden Fence Gate
tile.fencegate.planks.oak.painted.yellow.desc=A wooden fence gate, stained yellow.
tile.fencegate.planks.oak.painted.lightblue.name=Light Blue Wooden Fence Gate
tile.fencegate.planks.oak.painted.lightblue.desc=A wooden fence gate, stained light blue.
tile.fencegate.planks.oak.painted.magenta.name=Magenta Wooden Fence Gate
tile.fencegate.planks.oak.painted.magenta.desc=A wooden fence gate, stained magenta.
tile.fencegate.planks.oak.painted.orange.name=Orange Wooden Fence Gate
tile.fencegate.planks.oak.painted.orange.desc=A wooden fence gate, stained orange.
tile.fencegate.planks.oak.painted.white.name=White Wooden Fence Gate
tile.fencegate.planks.oak.painted.white.desc=A wooden fence gate, stained white.

tile.bookshelf.planks.oak.name=Bookshelf
tile.bookshelf.planks.oak.desc=A repository of knowledge.

tile.wool.name=Wool
tile.wool.desc=How did you get this?!
tile.wool.black.name=Black Wool
tile.wool.black.desc=Sheep's wool, dyed black.
tile.wool.red.name=Red Wool
tile.wool.red.desc=Sheep's wool, dyed red.
tile.wool.green.name=Green Wool
tile.wool.green.desc=Sheep's wool, dyed green.
tile.wool.brown.name=Brown Wool
tile.wool.brown.desc=Sheep's wool, dyed brown.
tile.wool.blue.name=Blue Wool
tile.wool.blue.desc=Sheep's wool, dyed blue.
tile.wool.purple.name=Purple Wool
tile.wool.purple.desc=Sheep's wool, dyed purple.
tile.wool.cyan.name=Cyan Wool
tile.wool.cyan.desc=Sheep's wool, dyed cyan.
tile.wool.silver.name=Light Gray Wool
tile.wool.silver.desc=Sheep's wool, dyed light gray.
tile.wool.gray.name=Gray Wool
tile.wool.gray.desc=Sheep's wool, dyed gray.
tile.wool.pink.name=Pink Wool
tile.wool.pink.desc=Sheep's wool, dyed pink.
tile.wool.lime.name=Lime Wool
tile.wool.lime.desc=Sheep's wool, dyed lime.
tile.wool.yellow.name=Yellow Wool
tile.wool.yellow.desc=Sheep's wool, dyed yellow.
tile.wool.lightblue.name=Light Blue Wool
tile.wool.lightblue.desc=Sheep's wool, dyed light blue.
tile.wool.magenta.name=Magenta Wool
tile.wool.magenta.desc=Sheep's wool, dyed magenta.
tile.wool.orange.name=Orange Wool
tile.wool.orange.desc=Sheep's wool, dyed orange.
tile.wool.white.name=White Wool
tile.wool.white.desc=Sheep's wool, dyed white.

tile.brick.clay.name=Clay Bricks
tile.brick.clay.desc=Stacked bricks of baked clay.
tile.brick.stone.polished.name=Polished Stone Bricks
tile.brick.stone.polished.desc=Stacked bricks of polished stone.
tile.brick.stone.polished.mossy.name=Mossy Polished Stone Bricks
tile.brick.stone.polished.mossy.desc=Stacked bricks of polished stone with added greenery.
tile.brick.sandstone.name=Sandstone Bricks
tile.brick.sandstone.desc=Stacked bricks of sandstone.
tile.brick.gold.name=Gold Bricks
tile.brick.gold.desc=Stacked bricks of gold.
tile.brick.lapis.name=Lapis Lazuli Bricks
tile.brick.lapis.desc=Stacked bricks of lapis lazuli.
tile.brick.basalt.name=Basalt Bricks
tile.brick.basalt.desc=Stacked bricks of basalt.
tile.brick.limestone.name=Limestone Bricks
tile.brick.limestone.desc=Stacked bricks of limestone.
tile.brick.granite.name=Granite Bricks
tile.brick.granite.desc=Stacked bricks of granite.
tile.brick.marble.name=Marble Bricks
tile.brick.marble.desc=Stacked bricks of marble.
tile.brick.slate.name=Slate Bricks
tile.brick.slate.desc=Stacked bricks of slate.
tile.brick.stone.name=Stone Bricks
tile.brick.stone.desc=Stacked bricks of stone.
tile.brick.permafrost.name=Permafrost Bricks
tile.brick.permafrost.desc=Stacked bricks of permafrost.
tile.brick.iron.name=Iron Bricks
tile.brick.iron.desc=Stacked bricks of iron.
tile.brick.steel.name=Steel Bricks
tile.brick.steel.desc=Stacked bricks of steel.

tile.slab.planks.oak.name=Wooden Slab
tile.slab.planks.oak.desc=A slab of wooden planks.
tile.slab.cobble.stone.name=Cobblestone Slab
tile.slab.cobble.stone.desc=A slab of cobblestone.
tile.slab.sandstone.name=Sandstone Slab
tile.slab.sandstone.desc=A slab of sandstone.
tile.slab.brick.stone.polished.name=Polished Stone Brick Slab
tile.slab.brick.stone.polished.desc=A slab of polished stone bricks.
tile.slab.stone.carved.name=Polished Stone Slab
tile.slab.stone.carved.desc=A slab of polished stone.
tile.slab.brick.marble.name=Marble Brick Slab
tile.slab.brick.marble.desc=A slab of marble bricks.
tile.slab.brick.clay.name=Clay Brick Slab
tile.slab.brick.clay.desc=A slab of clay bricks.
tile.slab.capstone.marble.name=Marble Capstone Slab
tile.slab.capstone.marble.desc=Marble sculpted into a capstone.
tile.slab.cobble.basalt.name=Cobbled Basalt Slab
tile.slab.cobble.basalt.desc=A slab of cobbled basalt.
tile.slab.cobble.limestone.name=Cobbled Limestone Slab
tile.slab.cobble.limestone.desc=A slab of cobbled limestone.
tile.slab.cobble.granite.name=Cobbled Granite Slab
tile.slab.cobble.granite.desc=A slab of cobbled granite.
tile.slab.brick.basalt.name=Basalt Brick Slab
tile.slab.brick.basalt.desc=A slab of basalt bricks.
tile.slab.brick.limestone.name=Limestone Brick Slab
tile.slab.brick.limestone.desc=A slab of limestone bricks.
tile.slab.brick.granite.name=Granite Brick Slab
tile.slab.brick.granite.desc=A slab of granite bricks.
tile.slab.brick.slate.name=Slate Brick Slab
tile.slab.brick.slate.desc=A slab of slate bricks.
tile.slab.brick.stone.name=Stone Brick Slab
tile.slab.brick.stone.desc=A slab of stone bricks.
tile.slab.granite.carved.name=Polished Granite Slab
tile.slab.granite.carved.desc=A slab of polished granite.
tile.slab.limestone.carved.name=Polished Limestone Slab
tile.slab.limestone.carved.desc=A slab of polished limestone.
tile.slab.basalt.carved.name=Polished Basalt Slab
tile.slab.basalt.carved.desc=A slab of polished basalt.
tile.slab.permafrost.carved.name=Polished Permafrost Slab
tile.slab.permafrost.carved.desc=A slab of polished permafrost.

tile.slab.planks.oak.painted.name=Mystery Wooden Slab
tile.slab.planks.oak.painted.desc=How did you get this?!
tile.slab.planks.oak.painted.black.name=Black Wooden Slab
tile.slab.planks.oak.painted.black.desc=A slab of wooden planks, stained black.
tile.slab.planks.oak.painted.red.name=Red Wooden Slab
tile.slab.planks.oak.painted.red.desc=A slab of wooden planks, stained red.
tile.slab.planks.oak.painted.green.name=Green Wooden Slab
tile.slab.planks.oak.painted.green.desc=A slab of wooden planks, stained green.
tile.slab.planks.oak.painted.brown.name=Brown Wooden Slab
tile.slab.planks.oak.painted.brown.desc=A slab of wooden planks, stained brown.
tile.slab.planks.oak.painted.blue.name=Blue Wooden Slab
tile.slab.planks.oak.painted.blue.desc=A slab of wooden planks, stained blue.
tile.slab.planks.oak.painted.purple.name=Purple Wooden Slab
tile.slab.planks.oak.painted.purple.desc=A slab of wooden planks, stained purple.
tile.slab.planks.oak.painted.cyan.name=Cyan Wooden Slab
tile.slab.planks.oak.painted.cyan.desc=A slab of wooden planks, stained cyan.
tile.slab.planks.oak.painted.silver.name=Light Gray Wooden Slab
tile.slab.planks.oak.painted.silver.desc=A slab of wooden planks, stained light gray.
tile.slab.planks.oak.painted.gray.name=Gray Wooden Slab
tile.slab.planks.oak.painted.gray.desc=A slab of wooden planks, stained gray.
tile.slab.planks.oak.painted.pink.name=Pink Wooden Slab
tile.slab.planks.oak.painted.pink.desc=A slab of wooden planks, stained pink.
tile.slab.planks.oak.painted.lime.name=Lime Wooden Slab
tile.slab.planks.oak.painted.lime.desc=A slab of wooden planks, stained lime.
tile.slab.planks.oak.painted.yellow.name=Yellow Wooden Slab
tile.slab.planks.oak.painted.yellow.desc=A slab of wooden planks, stained yellow.
tile.slab.planks.oak.painted.lightblue.name=Light Blue Wooden Slab
tile.slab.planks.oak.painted.lightblue.desc=A slab of wooden planks, stained light blue.
tile.slab.planks.oak.painted.magenta.name=Magenta Wooden Slab
tile.slab.planks.oak.painted.magenta.desc=A slab of wooden planks, stained magenta.
tile.slab.planks.oak.painted.orange.name=Orange Wooden Slab
tile.slab.planks.oak.painted.orange.desc=A slab of wooden planks, stained orange.
tile.slab.planks.oak.painted.white.name=White Wooden Slab
tile.slab.planks.oak.painted.white.desc=A slab of wooden planks, stained white.
tile.slab.cobble.permafrost.name=Cobbled Permafrost Slab
tile.slab.cobble.permafrost.desc=A slab of cobbled permafrost.
tile.slab.brick.sandstone.name=Sandstone Brick Slab
tile.slab.brick.sandstone.desc=A slab of sandstone bricks.
tile.slab.brick.permafrost.name=Permafrost Brick Slab
tile.slab.brick.permafrost.desc=A slab of permafrost bricks.

tile.stairs.planks.oak.name=Wooden Stairs
tile.stairs.planks.oak.desc=Wooden block used for rapid vertical movement.
tile.stairs.cobble.stone.name=Cobblestone Stairs
tile.stairs.cobble.stone.desc=Cobblestone block used for rapid vertical movement.
tile.stairs.brick.stone.polished.name=Polished Stone Brick Stairs
tile.stairs.brick.stone.polished.desc=Polished stone brick block used for rapid vertical movement.
tile.stairs.brick.marble.name=Marble Brick Stairs
tile.stairs.brick.marble.desc=Marble brick block used for rapid vertical movement.
tile.stairs.cobble.basalt.name=Cobbled Basalt Stairs
tile.stairs.cobble.basalt.desc=Cobbled basalt block used for rapid vertical movement.
tile.stairs.cobble.limestone.name=Cobbled Limestone Stairs
tile.stairs.cobble.limestone.desc=Cobbled limestone block used for rapid vertical movement.
tile.stairs.cobble.granite.name=Cobbled Granite Stairs
tile.stairs.cobble.granite.desc=Cobbled granite block used for rapid vertical movement.
tile.stairs.brick.basalt.name=Basalt Brick Stairs
tile.stairs.brick.basalt.desc=Basalt brick block used for rapid vertical movement.
tile.stairs.brick.limestone.name=Limestone Brick Stairs
tile.stairs.brick.limestone.desc=Limestone brick block used for rapid vertical movement.
tile.stairs.brick.granite.name=Granite Brick Stairs
tile.stairs.brick.granite.desc=Granite brick block used for rapid vertical movement.
tile.stairs.brick.clay.name=Clay Brick Stairs
tile.stairs.brick.clay.desc=Clay brick block used for rapid vertical movement.
tile.stairs.brick.slate.name=Slate Brick Stairs
tile.stairs.brick.slate.desc=Slate brick block used for rapid vertical movement.
tile.stairs.brick.stone.name=Stone Brick Stairs
tile.stairs.brick.stone.desc=Stone brick block used for rapid vertical movement.
tile.stairs.sandstone.name=Sandstone Stairs
tile.stairs.sandstone.desc=Sandstone block used for rapid vertical movement.
tile.stairs.cobble.permafrost.name=Cobbled Permafrost Stairs
tile.stairs.cobble.permafrost.desc=Cobbled permafrost block used for rapid vertical movement.
tile.stairs.brick.sandstone.name=Sandstone Brick Stairs
tile.stairs.brick.sandstone.desc=Sandstone brick block used for rapid vertical movement.
tile.stairs.brick.permafrost.name=Permafrost Brick Stairs
tile.stairs.brick.permafrost.desc=Permafrost brick block used for rapid vertical movement.

tile.stairs.planks.oak.painted.name=Mystery Wooden Stairs
tile.stairs.planks.oak.painted.desc=How did you get this?!
tile.stairs.planks.oak.painted.black.name=Black Wooden Stairs
tile.stairs.planks.oak.painted.black.desc=Wooden steps, stained black.
tile.stairs.planks.oak.painted.red.name=Red Wooden Stairs
tile.stairs.planks.oak.painted.red.desc=Wooden steps, stained red.
tile.stairs.planks.oak.painted.green.name=Green Wooden Stairs
tile.stairs.planks.oak.painted.green.desc=Wooden steps, stained green.
tile.stairs.planks.oak.painted.brown.name=Brown Wooden Stairs
tile.stairs.planks.oak.painted.brown.desc=Wooden steps, stained brown.
tile.stairs.planks.oak.painted.blue.name=Blue Wooden Stairs
tile.stairs.planks.oak.painted.blue.desc=Wooden steps, stained blue.
tile.stairs.planks.oak.painted.purple.name=Purple Wooden Stairs
tile.stairs.planks.oak.painted.purple.desc=Wooden steps, stained purple.
tile.stairs.planks.oak.painted.cyan.name=Cyan Wooden Stairs
tile.stairs.planks.oak.painted.cyan.desc=Wooden steps, stained cyan.
tile.stairs.planks.oak.painted.silver.name=Light Gray Wooden Stairs
tile.stairs.planks.oak.painted.silver.desc=Wooden steps, stained light gray.
tile.stairs.planks.oak.painted.gray.name=Gray Wooden Stairs
tile.stairs.planks.oak.painted.gray.desc=Wooden steps, stained gray.
tile.stairs.planks.oak.painted.pink.name=Pink Wooden Stairs
tile.stairs.planks.oak.painted.pink.desc=Wooden steps, stained pink.
tile.stairs.planks.oak.painted.lime.name=Lime Wooden Stairs
tile.stairs.planks.oak.painted.lime.desc=Wooden steps, stained lime.
tile.stairs.planks.oak.painted.yellow.name=Yellow Wooden Stairs
tile.stairs.planks.oak.painted.yellow.desc=Wooden steps, stained yellow.
tile.stairs.planks.oak.painted.lightblue.name=Light Blue Wooden Stairs
tile.stairs.planks.oak.painted.lightblue.desc=Wooden steps, stained light blue.
tile.stairs.planks.oak.painted.magenta.name=Magenta Wooden Stairs
tile.stairs.planks.oak.painted.magenta.desc=Wooden steps, stained magenta.
tile.stairs.planks.oak.painted.orange.name=Orange Wooden Stairs
tile.stairs.planks.oak.painted.orange.desc=Wooden steps, stained orange.
tile.stairs.planks.oak.painted.white.name=White Wooden Stairs
tile.stairs.planks.oak.painted.white.desc=Wooden steps, stained white.

tile.obsidian.name=Obsidian
tile.obsidian.desc=Rapidly cooled volcanic rock.

tile.glass.name=Glass
tile.glass.desc=Sand heated until it becomes translucent.
tile.glass.tinted.name=Tinted Glass
tile.glass.tinted.desc=Darkened glass that blocks light.

tile.grass.name=Grass
tile.grass.desc=Crisp, crunchy grass.
tile.grass.retro.name=Retro Grass
tile.grass.retro.desc=Crisp, crunchy grass. Smells old.
tile.grass.scorched.name=Scorched Grass
tile.grass.scorched.desc=Grass that has baked in the sun.

tile.path.dirt.name=Dirt Path
tile.path.dirt.desc=Dirt worn down by frequent travelling.

tile.dirt.name=Dirt
tile.dirt.desc=Crumbly brown dirt.
tile.dirt.scorched.name=Scorched Dirt
tile.dirt.scorched.desc=Dirt that has baked in the sun.
tile.dirt.scorched.rich.name=Rich Scorched Dirt
tile.dirt.scorched.rich.desc=Dirt that has baked in the sun, searing in minerals.

tile.mud.name=Mud
tile.mud.desc=Mud sodden to its core.
tile.mud.baked.name=Baked Mud
tile.mud.baked.desc=Mud that's been dried out and cracked.

tile.sponge.dry.name=Sponge
tile.sponge.dry.desc=A dry sponge, good for soaking up water.
tile.sponge.wet.name=Wet Sponge
tile.sponge.wet.desc=A sponge full of water.
tile.pumice.dry.name=Pumice
tile.pumice.dry.desc=A dry porous volcanic rock, good for soaking up lava.
tile.pumice.wet.name=Molten Pumice
tile.pumice.wet.desc=Rock filled with lava.

tile.moss.stone.name=Mossy Stone
tile.moss.stone.desc=Moss covering a block of stone.
tile.moss.basalt.name=Mossy Basalt
tile.moss.basalt.desc=Moss covering a block of basalt.
tile.moss.limestone.name=Mossy Limestone
tile.moss.limestone.desc=Moss covering a block of limestone.
tile.moss.granite.name=Mossy Granite
tile.moss.granite.desc=Moss covering a block of granite.

tile.sand.name=Sand
tile.sand.desc=Gets everywhere.
tile.gravel.name=Gravel
tile.gravel.desc=A loose collection of pebbles.

tile.bedrock.name=Bedrock
tile.bedrock.desc=The toughest substance known to man.
tile.boneshale.name=Bone Shale
tile.boneshale.desc=An incredibly tough white rock torn from the deepest depths.

tile.fluid.water.flowing.name=Flowing Water
tile.fluid.water.flowing.desc=Water that flows when placed.
tile.fluid.water.still.name=Still Water
tile.fluid.water.still.desc=Water that does not flow when placed.
tile.fluid.lava.flowing.name=Flowing Lava
tile.fluid.lava.flowing.desc=Lava that flows when placed.
tile.fluid.lava.still.name=Still Lava
tile.fluid.lava.still.desc=Lava that does not flow when placed.

tile.log.oak.name=Oak Log
tile.log.oak.desc=A log from an oak tree.
tile.log.pine.name=Pine Log
tile.log.pine.desc=A log from a pine tree.
tile.log.birch.name=Birch Log
tile.log.birch.desc=A log from a birch tree.
tile.log.cherry.name=Cherry Log
tile.log.cherry.desc=A log from a cherry tree.
tile.log.eucalyptus.name=Eucalyptus Log
tile.log.eucalyptus.desc=A log from a eucalyptus tree.
tile.log.oak.mossy.name=Mossy Oak Log
tile.log.oak.mossy.desc=A log from a mossy oak tree.
tile.log.thorn.name=Thorn Log
tile.log.thorn.desc=A log from a thorn tree.
tile.log.palm.name=Palm Log
tile.log.palm.desc=A log from a palm tree.

tile.leaves.oak.name=Oak Leaves
tile.leaves.oak.desc=Leaves from an oak tree.
tile.leaves.pine.name=Pine Leaves
tile.leaves.pine.desc=Leaves from a pine tree.
tile.leaves.birch.name=Birch Leaves
tile.leaves.birch.desc=Leaves from a birch tree.
tile.leaves.cherry.name=Cherry Leaves
tile.leaves.cherry.desc=Leaves from a cherry tree.
tile.leaves.eucalyptus.name=Eucalyptus Leaves
tile.leaves.eucalyptus.desc=Leaves from a eucalyptus tree.
tile.leaves.oak.retro.name=Retro Leaves
tile.leaves.oak.retro.desc=Leaves from long ago.
tile.leaves.shrub.name=Shrub Leaves
tile.leaves.shrub.desc=Leaves from a shrub.
tile.leaves.cherry.flowering.name=Flowering Cherry Leaves
tile.leaves.cherry.flowering.desc=Leaves from a cherry tree that are budding with fruit.
tile.leaves.cacao.name=Cacao Leaves
tile.leaves.cacao.desc=Leaves from a cacao tree.
tile.leaves.thorn.name=Thorn Leaves
tile.leaves.thorn.desc=Leaves from a thorn tree.
tile.leaves.palm.name=Palm Leaves
tile.leaves.palm.desc=Leaves from a palm tree.

tile.sapling.oak.name=Oak Sapling
tile.sapling.oak.desc=Plant to grow an oak tree.
tile.sapling.pine.name=Pine Sapling
tile.sapling.pine.desc=Plant to grow a pine tree.
tile.sapling.birch.name=Birch Sapling
tile.sapling.birch.desc=Plant to grow a birch tree.
tile.sapling.cherry.name=Cherry Sapling
tile.sapling.cherry.desc=Plant to grow a cherry tree.
tile.sapling.eucalyptus.name=Eucalyptus Sapling
tile.sapling.eucalyptus.desc=Plant to grow a eucalyptus tree.
tile.sapling.oak.retro.name=Retro Oak Sapling
tile.sapling.oak.retro.desc=Plant to grow a tree from long ago.
tile.sapling.shrub.name=Shrub Sapling
tile.sapling.shrub.desc=Plant to grow a shrub.
tile.sapling.cacao.name=Cacao Sapling
tile.sapling.cacao.desc=Plant to grow a cacao tree.
tile.sapling.thorn.name=Thorn Sapling
tile.sapling.thorn.desc=Plant to grow a thorn tree.
tile.sapling.palm.name=Palm Sapling
tile.sapling.palm.desc=Plant to grow a palm tree.

tile.tallgrass.name=Tall Grass
tile.tallgrass.desc=Lush, growing grass.
tile.tallgrass.fern.name=Fern
tile.tallgrass.fern.desc=A fern plant.
tile.deadbush.name=Dead Bush
tile.deadbush.desc=A dried and withered plant.
tile.spinifex.name=Spinifex
tile.spinifex.desc=A spindly, thin grass from dry regions.
tile.algae.name=Algae
tile.algae.desc=Gooey vegetation that floats on the water's surface.

tile.flower.yellow.name=Dandelion
tile.flower.yellow.desc=A beautiful yellow flower.
tile.flower.red.name=Rose
tile.flower.red.desc=A beautiful red flower.
tile.flower.purple.name=Heather
tile.flower.purple.desc=Sprigs of purple petals. Brings good luck.
tile.flower.lightblue.name=Bluebell
tile.flower.lightblue.desc=A sad-looking blue flower.
tile.flower.pink.name=Orchid
tile.flower.pink.desc=A beautiful pink flower.
tile.flower.orange.name=Marigold
tile.flower.orange.desc=A beautiful orange flower.

tile.mushroom.red.name=Red Mushroom
tile.mushroom.red.desc=A tasty red mushroom. Good for stew.
tile.mushroom.brown.name=Brown Mushroom
tile.mushroom.brown.desc=A tasty brown mushroom. Good for stew.

tile.ore.coal.stone.name=Stone Coal Ore
tile.ore.coal.stone.desc=A chunk of coal embedded in stone.
tile.ore.coal.basalt.name=Basalt Coal Ore
tile.ore.coal.basalt.desc=A chunk of coal embedded in basalt.
tile.ore.coal.limestone.name=Limestone Coal Ore
tile.ore.coal.limestone.desc=A chunk of coal embedded in limestone.
tile.ore.coal.granite.name=Granite Coal Ore
tile.ore.coal.granite.desc=A chunk of coal embedded in granite.
tile.ore.coal.permafrost.name=Permafrost Coal Ore
tile.ore.coal.permafrost.desc=A chunk of coal embedded in permafrost.

tile.ore.iron.stone.name=Stone Iron Ore
tile.ore.iron.stone.desc=Iron nuggets embedded in stone.
tile.ore.iron.basalt.name=Basalt Iron Ore
tile.ore.iron.basalt.desc=Iron nuggets embedded in basalt.
tile.ore.iron.limestone.name=Limestone Iron Ore
tile.ore.iron.limestone.desc=Iron nuggets embedded in limestone.
tile.ore.iron.granite.name=Granite Iron Ore
tile.ore.iron.granite.desc=Iron nuggets embedded in granite.
tile.ore.iron.permafrost.name=Permafrost Iron Ore
tile.ore.iron.permafrost.desc=Iron nuggets embedded in permafrost.

tile.ore.gold.stone.name=Stone Gold Ore
tile.ore.gold.stone.desc=Gold nuggets embedded in stone.
tile.ore.gold.basalt.name=Basalt Gold Ore
tile.ore.gold.basalt.desc=Gold nuggets embedded in basalt.
tile.ore.gold.limestone.name=Limestone Gold Ore
tile.ore.gold.limestone.desc=Gold nuggets embedded in limestone.
tile.ore.gold.granite.name=Granite Gold Ore
tile.ore.gold.granite.desc=Gold nuggets embedded in granite.
tile.ore.gold.permafrost.name=Permafrost Gold Ore
tile.ore.gold.permafrost.desc=Gold nuggets embedded in permafrost.

tile.ore.lapis.stone.name=Stone Lapis Lazuli Ore
tile.ore.lapis.stone.desc=Chunks of lapis lazuli embedded in stone.
tile.ore.lapis.basalt.name=Basalt Lapis Lazuli Ore
tile.ore.lapis.basalt.desc=Chunks of lapis lazuli embedded in basalt.
tile.ore.lapis.limestone.name=Limestone Lapis Lazuli Ore
tile.ore.lapis.limestone.desc=Chunks of lapis lazuli embedded in limestone.
tile.ore.lapis.granite.name=Granite Lapis Lazuli Ore
tile.ore.lapis.granite.desc=Chunks of lapis lazuli embedded in granite.
tile.ore.lapis.permafrost.name=Permafrost Lapis Lazuli Ore
tile.ore.lapis.permafrost.desc=Chunks of lapis lazuli embedded in permafrost.

tile.ore.redstone.stone.name=Stone Redstone Ore
tile.ore.redstone.stone.desc=Red dust embedded in stone.
tile.ore.redstone.basalt.name=Basalt Redstone Ore
tile.ore.redstone.basalt.desc=Red dust embedded in basalt.
tile.ore.redstone.limestone.name=Limestone Redstone Ore
tile.ore.redstone.limestone.desc=Red dust embedded in limestone.
tile.ore.redstone.granite.name=Granite Redstone Ore
tile.ore.redstone.granite.desc=Red dust embedded in granite.
tile.ore.redstone.permafrost.name=Permafrost Redstone Ore
tile.ore.redstone.permafrost.desc=Red dust embedded in permafrost.
tile.ore.redstone.glowing.stone.name=Glowing Stone Redstone Ore
tile.ore.redstone.glowing.stone.desc=Red dust embedded in stone. Emits a faint light.
tile.ore.redstone.glowing.basalt.name=Glowing Basalt Redstone Ore
tile.ore.redstone.glowing.basalt.desc=Red dust embedded in basalt. Emits a faint light.
tile.ore.redstone.glowing.limestone.name=Glowing Limestone Redstone Ore
tile.ore.redstone.glowing.limestone.desc=Red dust embedded in limestone. Emits a faint light.
tile.ore.redstone.glowing.granite.name=Glowing Granite Redstone Ore
tile.ore.redstone.glowing.granite.desc=Red dust embedded in granite. Emits a faint light.
tile.ore.redstone.glowing.permafrost.name=Glowing Permafrost Redstone Ore
tile.ore.redstone.glowing.permafrost.desc=Red dust embedded in permafrost. Emits a faint light.

tile.ore.diamond.stone.name=Stone Diamond Ore
tile.ore.diamond.stone.desc=A chunk of diamond embedded in stone.
tile.ore.diamond.basalt.name=Basalt Diamond Ore
tile.ore.diamond.basalt.desc=A chunk of diamond embedded in basalt.
tile.ore.diamond.limestone.name=Limestone Diamond Ore
tile.ore.diamond.limestone.desc=A chunk of diamond embedded in limestone.
tile.ore.diamond.granite.name=Granite Diamond Ore
tile.ore.diamond.granite.desc=A chunk of diamond embedded in granite.
tile.ore.diamond.permafrost.name=Permafrost Diamond Ore
tile.ore.diamond.permafrost.desc=A chunk of diamond embedded in permafrost.

tile.ore.nethercoal.netherrack.name=Nether Coal Ore
tile.ore.nethercoal.netherrack.desc=A lump of Nether Coal embedded in netherrack.

tile.block.coal.name=Block of Coal
tile.block.coal.desc=A solid block of coal.
tile.block.iron.name=Block of Iron
tile.block.iron.desc=A solid block of iron. Heavy!
tile.block.gold.name=Block of Gold
tile.block.gold.desc=A solid block of gold, for flaunting your bling.
tile.block.lapis.name=Block of Lapis Lazuli
tile.block.lapis.desc=A solid block of lapis lazuli.
tile.block.redstone.name=Block of Redstone
tile.block.redstone.desc=A solid block of redstone.
tile.block.diamond.name=Block of Diamond
tile.block.diamond.desc=A solid block of diamond. Well done you.
tile.block.nethercoal.name=Block of Nether Coal
tile.block.nethercoal.desc=A solid block of Nether Coal.
tile.block.steel.name=Block of Steel
tile.block.steel.desc=A solid block of steel.
tile.block.quartz.name=Block of Quartz
tile.block.quartz.desc=A solid block of quartz.
tile.block.olivine.name=Block of Olivine
tile.block.olivine.desc=A solid block of olivine.
tile.block.charcoal.name=Block of Charcoal
tile.block.charcoal.desc=A solid block of charcoal.

tile.wire.redstone.name=Redstone Wire
tile.wire.redstone.desc=A strand of redstone dust laid on the ground.

tile.torch.redstone.idle.name=Redstone Torch
tile.torch.redstone.idle.desc=Emits a constant redstone signal.
tile.torch.redstone.active.name=Redstone Torch
tile.torch.redstone.active.desc=Emits a constant redstone signal.

tile.button.stone.name=Button
tile.button.stone.desc=Emits a brief redstone signal when pressed.

tile.lever.cobble.stone.name=Lever
tile.lever.cobble.stone.desc=Allows turning a redstone signal on or off.

tile.pressureplate.stone.name=Stone Pressure Plate
tile.pressureplate.stone.desc=Emits a redstone signal when living creatures step on it.
tile.pressureplate.planks.oak.name=Wooden Pressure Plate
tile.pressureplate.planks.oak.desc=Emits a redstone signal when anything steps on it.
tile.pressureplate.cobble.stone.name=Cobblestone Pressure Plate
tile.pressureplate.cobble.stone.desc=Emits a redstone signal when players step on it.

tile.motionsensor.idle.name=Motion Sensor
tile.motionsensor.idle.desc=Emits a redstone signal when something moves past it.
tile.motionsensor.active.name=Active Motion Sensor
tile.motionsensor.active.desc=Emits a redstone signal when something moves past it.

tile.repeater.idle.name=Redstone Repeater
tile.repeater.idle.desc=Repeats redstone signals over a distance.
tile.repeater.active.name=Redstone Repeater
tile.repeater.active.desc=Repeats redstone signals over a distance.

tile.piston.base.name=Piston
tile.piston.base.desc=Pushes blocks but does not pull them.
tile.piston.base.sticky.name=Sticky Piston
tile.piston.base.sticky.desc=Pushes and pulls blocks.
tile.piston.head.name=Piston Head
tile.piston.head.desc=The pushy part of the piston.
tile.piston.moving.name=Piston Mover
tile.piston.moving.desc=The invisible moving part of the piston.
tile.piston.base.steel.name=Reinforced Piston
tile.piston.base.steel.desc=Pushes blocks and entities with immense force.
tile.piston.head.steel.name=Reinforced Piston Head
tile.piston.head.steel.desc=The pushy part of the steel piston.

tile.noteblock.name=Note Block
tile.noteblock.desc=Plays a musical note when powered.

tile.rail.name=Rail
tile.rail.desc=For rapid horizontal movement via minecart.
tile.rail.powered.name=Powered Rail
tile.rail.powered.desc=Makes minecarts go faster when powered.
tile.rail.detector.name=Detector Rail
tile.rail.detector.desc=Emits a redstone signal when a minecart crosses it.

tile.spikes.name=Spike Trap
tile.spikes.desc=Deactivates when powered. Technically a war crime.

tile.dispenser.cobble.stone.name=Dispenser
tile.dispenser.cobble.stone.desc=Fires items out of the hole in the front.
tile.activator.cobble.netherrack.name=Activator
tile.activator.cobble.netherrack.desc=Uses items for you.

tile.trapdoor.planks.oak.name=Wooden Trapdoor
tile.trapdoor.planks.oak.desc=Like a door, but flat.
tile.trapdoor.iron.name=Iron Trapdoor
tile.trapdoor.iron.desc=Like a door, but flat and made of iron.
tile.trapdoor.glass.name=Glass Trapdoor
tile.trapdoor.glass.desc=Useless at its job.

tile.tnt.name=TNT
tile.tnt.desc=Goes off with a bang.

tile.door.planks.oak.bottom.name=Bottom Wooden Door
tile.door.planks.oak.bottom.desc=/give Honeydew 64 46
tile.door.planks.oak.top.name=Top Wooden Door
tile.door.planks.oak.top.desc=Oh, wait, that's not TNT, that's half a door.
tile.door.iron.bottom.name=Bottom Iron Door
tile.door.iron.bottom.desc=Not much good on its own.
tile.door.iron.top.name=Top Iron Door
tile.door.iron.top.desc=Could use a friend.

tile.mesh.name=Mesh Block
tile.mesh.desc=Allows items to pass through but nothing else.
tile.mesh.gold.name=Gold Mesh Block
tile.mesh.gold.desc=Allows a specified item to pass through but nothing else.

tile.bed.name=Bed
tile.bed.desc=Bed!
tile.seat.name=Seat
tile.seat.desc=Sit down and relax.

tile.cobweb.name=Cobweb
tile.cobweb.desc=Sticky silky strands woven by spiders.

tile.fire.name=Fire
tile.fire.desc=Ouch, fire hot!
tile.brazier.inactive.name=Brazier
tile.brazier.inactive.desc=A safe place to keep a fire.
tile.brazier.active.name=Lit Brazier
tile.brazier.active.desc=A safe place to keep a fire.

tile.mobspawner.name=Mob Spawner
tile.mobspawner.desc=A cage filled with horror.
tile.mobspawner.deactivated.name=Deactivated Mob Spawner
tile.mobspawner.deactivated.desc=A cage no longer filled with horror.

tile.workbench.name=Workbench
tile.workbench.desc=For bigger projects.

tile.furnace.stone.idle.name=Furnace
tile.furnace.stone.idle.desc=For melting, heating, and cooking blocks and items.
tile.furnace.stone.active.name=Lit Furnace
tile.furnace.stone.active.desc=For melting, heating, and cooking blocks and items.
tile.furnace.blast.idle.name=Blast Furnace
tile.furnace.blast.idle.desc=Burns hotter than a normal furnace.
tile.furnace.blast.active.name=Lit Blast Furnace
tile.furnace.blast.active.desc=Burns hotter than a normal furnace.

tile.trommel.idle.name=Trommel
tile.trommel.idle.desc=A machine that separates dirt from other useful items.
tile.trommel.active.name=Lit Trommel
tile.trommel.active.desc=A machine that separates dirt from other useful items.

tile.chest.planks.oak.name=Wooden Chest
tile.chest.planks.oak.desc=A place to store your items.
tile.chest.planks.oak.painted.name=Mystery Wooden Chest
tile.chest.planks.oak.painted.desc=How did you get this?!
tile.chest.planks.oak.painted.black.name=Black Wooden Chest
tile.chest.planks.oak.painted.black.desc=A place to store your items.
tile.chest.planks.oak.painted.red.name=Red Wooden Chest
tile.chest.planks.oak.painted.red.desc=A place to store your items.
tile.chest.planks.oak.painted.green.name=Green Wooden Chest
tile.chest.planks.oak.painted.green.desc=A place to store your items.
tile.chest.planks.oak.painted.brown.name=Brown Wooden Chest
tile.chest.planks.oak.painted.brown.desc=A place to store your items.
tile.chest.planks.oak.painted.blue.name=Blue Wooden Chest
tile.chest.planks.oak.painted.blue.desc=A place to store your items.
tile.chest.planks.oak.painted.purple.name=Purple Wooden Chest
tile.chest.planks.oak.painted.purple.desc=A place to store your items.
tile.chest.planks.oak.painted.cyan.name=Cyan Wooden Chest
tile.chest.planks.oak.painted.cyan.desc=A place to store your items.
tile.chest.planks.oak.painted.silver.name=Light Gray Wooden Chest
tile.chest.planks.oak.painted.silver.desc=A place to store your items.
tile.chest.planks.oak.painted.gray.name=Gray Wooden Chest
tile.chest.planks.oak.painted.gray.desc=A place to store your items.
tile.chest.planks.oak.painted.pink.name=Pink Wooden Chest
tile.chest.planks.oak.painted.pink.desc=A place to store your items.
tile.chest.planks.oak.painted.lime.name=Lime Wooden Chest
tile.chest.planks.oak.painted.lime.desc=A place to store your items.
tile.chest.planks.oak.painted.yellow.name=Yellow Wooden Chest
tile.chest.planks.oak.painted.yellow.desc=A place to store your items.
tile.chest.planks.oak.painted.lightblue.name=Light Blue Wooden Chest
tile.chest.planks.oak.painted.lightblue.desc=A place to store your items.
tile.chest.planks.oak.painted.magenta.name=Magenta Wooden Chest
tile.chest.planks.oak.painted.magenta.desc=A place to store your items.
tile.chest.planks.oak.painted.orange.name=Orange Wooden Chest
tile.chest.planks.oak.painted.orange.desc=A place to store your items.
tile.chest.planks.oak.painted.white.name=White Wooden Chest
tile.chest.planks.oak.painted.white.desc=A place to store your items.
tile.chest.legacy.name=Legacy Chest

tile.crops.wheat.name=Wheat Crops
tile.crops.wheat.desc=Wheat, plucked from the ground.
tile.crops.pumpkin.name=Pumpkin Crops
tile.crops.pumpkin.desc=A ripening pumpkin, plucked from the ground.

tile.farmland.dirt.name=Farmland
tile.farmland.dirt.desc=Tilled soil for growing crops.

tile.sign.post.planks.oak.name=Oak Signpost
tile.sign.post.planks.oak.desc=A free-standing oak sign.
tile.sign.wall.planks.oak.name=Oak Wall Sign
tile.sign.wall.planks.oak.desc=An oak sign placed on a wall.

tile.layer.snow.name=Snow Layer
tile.layer.snow.desc=A flat layer of snow.
tile.layer.leaves.oak.name=Leaf Pile
tile.layer.leaves.oak.desc=A pile of leaves.
tile.layer.slate.name=Slate Layer
tile.layer.slate.desc=A flat sheet of slate.

tile.ice.name=Ice
tile.ice.desc=Slippery frozen water.
tile.ice.perma.name=Perma-Ice
tile.ice.perma.desc=Ice imbued with the essence of stone.

tile.block.snow.name=Block of Snow
tile.block.snow.desc=Lots of snow compacted into a block.

tile.cactus.name=Cactus
tile.cactus.desc=A spiky plant that grows in the desert.

tile.block.clay.name=Block of Clay
tile.block.clay.desc=A block of compacted clay.

tile.sugarcane.name=Sugarcane
tile.sugarcane.desc=Not as sweet as you.

tile.block.sugarcane.name=Block of Sugarcane
tile.block.sugarcane.desc=One very big sugar cube.
tile.block.sugarcane.baked.name=Baked Block of Sugarcane
tile.block.sugarcane.baked.desc=Smells absolutely delicious.

tile.jukebox.name=Jukebox
tile.jukebox.desc=Plays your favourite tunes, assuming you have the right record.

tile.pumpkin.name=Pumpkin
tile.pumpkin.desc=An orange squash that grows in the wild.
tile.pumpkin.carved.idle.name=Carved Pumpkin
tile.pumpkin.carved.idle.desc=An orange squash with a spooky face.
tile.pumpkin.carved.active.name=Jack 'o' Lantern
tile.pumpkin.carved.active.desc=An orange squash with a spooky face, lit by a torch.
tile.pumpkin.redstone.name=Redstone Jack 'o' Lantern
tile.pumpkin.redstone.desc=An orange squash with a spooky face, lit by a redstone torch.

tile.cobble.netherrack.name=Cobbled Netherrack
tile.cobble.netherrack.desc=Dark red rock that burns forever.
tile.cobble.netherrack.igneous.name=Igneous Cobbled Netherrack
tile.cobble.netherrack.igneous.desc=Extreme heat has made this rock glow from inside.
tile.cobble.netherrack.mossy.name=Mossy Cobbled Netherrack
tile.cobble.netherrack.mossy.desc=Cobbled netherrack, covered in something like moss.
tile.netherrack.name=Netherrack
tile.netherrack.desc=Dark red rock, smoothed by heat and time.
tile.brick.netherrack.name=Netherrack Bricks
tile.brick.netherrack.desc=Stacked bricks of netherrack.
tile.slab.netherrack.carved.name=Polished Netherrack Slab
tile.slab.netherrack.carved.desc=A slab of polished netherrack.
tile.slab.cobble.netherrack.name=Cobbled Netherrack Slab
tile.slab.cobble.netherrack.desc=A slab of cobbled netherrack.
tile.slab.brick.netherrack.name=Netherrack Brick Slab
tile.slab.brick.netherrack.desc=A slab of netherrack bricks.
tile.stairs.cobble.netherrack.name=Cobbled Netherrack Stairs
tile.stairs.cobble.netherrack.desc=Cobbled netherrack block used for rapid vertical movement.
tile.stairs.brick.netherrack.name=Netherrack Brick Stairs
tile.stairs.brick.netherrack.desc=Netherrack brick block used for rapid vertical movement.

tile.soulsand.name=Soul Sand
tile.soulsand.desc=Squishy brown sand that's tough to walk through.
tile.soulschist.name=Soul Schist
tile.soulschist.desc=A hideous medley of ancient bones, fused through heat, pressure, and time.

tile.glowstone.name=Block of Glowstone
tile.glowstone.desc=Constantly emits a strong yellowish light.

tile.portal.nether.name=Nether Portal
tile.portal.nether.desc=A portal to the Nether.
tile.portal.paradise.name=Paradise Portal
tile.portal.paradise.desc=A portal to Paradise.

tile.cake.name=Cake
tile.cake.desc=I just can't cake it any more.
tile.pumpkin_pie.name=Pumpkin Pie
tile.pumpkin_pie.desc=I don't wanna pie!

tile.lamp.idle.name=Lamp
tile.lamp.idle.desc=How did you get this?!
tile.lamp.idle.black.name=Black Lamp
tile.lamp.idle.black.desc=A redstone lamp that can emit light. Tinted black.
tile.lamp.idle.red.name=Red Lamp
tile.lamp.idle.red.desc=A redstone lamp that can emit light. Tinted red.
tile.lamp.idle.green.name=Green Lamp
tile.lamp.idle.green.desc=A redstone lamp that can emit light. Tinted green.
tile.lamp.idle.brown.name=Brown Lamp
tile.lamp.idle.brown.desc=A redstone lamp that can emit light. Tinted brown.
tile.lamp.idle.blue.name=Blue Lamp
tile.lamp.idle.blue.desc=A redstone lamp that can emit light. Tinted blue.
tile.lamp.idle.purple.name=Purple Lamp
tile.lamp.idle.purple.desc=A redstone lamp that can emit light. Tinted purple.
tile.lamp.idle.cyan.name=Cyan Lamp
tile.lamp.idle.cyan.desc=A redstone lamp that can emit light. Tinted cyan.
tile.lamp.idle.silver.name=Light Gray Lamp
tile.lamp.idle.silver.desc=A redstone lamp that can emit light. Tinted light gray.
tile.lamp.idle.gray.name=Gray Lamp
tile.lamp.idle.gray.desc=A redstone lamp that can emit light. Tinted gray.
tile.lamp.idle.pink.name=Pink Lamp
tile.lamp.idle.pink.desc=A redstone lamp that can emit light. Tinted pink.
tile.lamp.idle.lime.name=Lime Lamp
tile.lamp.idle.lime.desc=A redstone lamp that can emit light. Tinted lime.
tile.lamp.idle.yellow.name=Yellow Lamp
tile.lamp.idle.yellow.desc=A redstone lamp that can emit light. Tinted yellow.
tile.lamp.idle.lightblue.name=Light Blue Lamp
tile.lamp.idle.lightblue.desc=A redstone lamp that can emit light. Tinted light blue.
tile.lamp.idle.magenta.name=Magenta Lamp
tile.lamp.idle.magenta.desc=A redstone lamp that can emit light. Tinted magenta.
tile.lamp.idle.orange.name=Orange Lamp
tile.lamp.idle.orange.desc=A redstone lamp that can emit light. Tinted orange.
tile.lamp.idle.white.name=White Lamp
tile.lamp.idle.white.desc=A redstone lamp that can emit light.

tile.lamp.active.name=Lit Lamp
tile.lamp.active.desc=How did you get this?!
tile.lamp.active.black.name=Lit Black Lamp
tile.lamp.active.black.desc=A redstone lamp that emits light. Tinted black.
tile.lamp.active.red.name=Lit Red Lamp
tile.lamp.active.red.desc=A redstone lamp that emits light. Tinted red.
tile.lamp.active.green.name=Lit Green Lamp
tile.lamp.active.green.desc=A redstone lamp that emits light. Tinted green.
tile.lamp.active.brown.name=Lit Brown Lamp
tile.lamp.active.brown.desc=A redstone lamp that emits light. Tinted brown.
tile.lamp.active.blue.name=Lit Blue Lamp
tile.lamp.active.blue.desc=A redstone lamp that emits light. Tinted blue.
tile.lamp.active.purple.name=Lit Purple Lamp
tile.lamp.active.purple.desc=A redstone lamp that emits light. Tinted purple.
tile.lamp.active.cyan.name=Lit Cyan Lamp
tile.lamp.active.cyan.desc=A redstone lamp that emits light. Tinted cyan.
tile.lamp.active.silver.name=Lit Light Gray Lamp
tile.lamp.active.silver.desc=A redstone lamp that emits light. Tinted light gray.
tile.lamp.active.gray.name=Lit Gray Lamp
tile.lamp.active.gray.desc=A redstone lamp that emits light. Tinted gray.
tile.lamp.active.pink.name=Lit Pink Lamp
tile.lamp.active.pink.desc=A redstone lamp that emits light. Tinted pink.
tile.lamp.active.lime.name=Lit Lime Lamp
tile.lamp.active.lime.desc=A redstone lamp that emits light. Tinted lime.
tile.lamp.active.yellow.name=Yellow Lamp
tile.lamp.active.yellow.desc=A redstone lamp that emits light. Tinted yellow.
tile.lamp.active.lightblue.name=Light Blue Lamp
tile.lamp.active.lightblue.desc=A redstone lamp that emits light. Tinted light blue.
tile.lamp.active.magenta.name=Magenta Lamp
tile.lamp.active.magenta.desc=A redstone lamp that emits light. Tinted magenta.
tile.lamp.active.orange.name=Orange Lamp
tile.lamp.active.orange.desc=A redstone lamp that emits light. Tinted orange.
tile.lamp.active.white.name=White Lamp
tile.lamp.active.white.desc=A redstone lamp that emits light.

tile.stone.polished.name=Polished Stone
tile.stone.polished.desc=A polished block of stone.
tile.granite.polished.name=Polished Granite
tile.granite.polished.desc=A polished block of granite.
tile.limestone.polished.name=Polished Limestone
tile.limestone.polished.desc=A polished block of limestone.
tile.basalt.polished.name=Polished Basalt
tile.basalt.polished.desc=A polished block of basalt.
tile.slate.polished.name=Polished Slate
tile.slate.polished.desc=A polished block of slate.
tile.permafrost.polished.name=Polished Permafrost
tile.permafrost.polished.desc=A polished block of permafrost.
tile.netherrack.polished.name=Polished Netherrack
tile.netherrack.polished.desc=A polished block of netherrack.

tile.candle.wax.soul.name=Soul Wax Candle
tile.candle.wax.soul.desc=A waxy brown candle that glows with an unnatural light.

tile.basket.name=Basket
tile.basket.desc=A wicker container for holding items.

tile.overlay.pebbles.name=Pebbles
tile.overlay.pebbles.desc=A cluster of pebbles.

tile.fence.chainlink.name=Chainlink Fence
tile.fence.chainlink.desc=A fence made of interconnected chain links. Can be climbed!
tile.fence.paper_wall.name=Paper Wall Fence
tile.fence.paper_wall.desc=A fence made of delicate paper. Be careful!
tile.fence.steel.name=Steel Fence
tile.fence.steel.desc=A fence made of tough steel. Intimidating!

tile.lantern.firefly.green.name=Green Firefly Lantern
tile.lantern.firefly.green.desc=A glass jar containing a swarm of green fireflies.
tile.lantern.firefly.orange.name=Orange Firefly Lantern
tile.lantern.firefly.orange.desc=A glass jar containing a swarm of orange fireflies.
tile.lantern.firefly.blue.name=Blue Firefly Lantern
tile.lantern.firefly.blue.desc=A glass jar containing a swarm of blue fireflies.
tile.lantern.firefly.red.name=Red Firefly Lantern
tile.lantern.firefly.red.desc=A glass jar containing a swarm of red fireflies.

tile.flag.name=Flag
tile.flag.desc=A flag to mark your territory.

tile.paper_wall.name=Paper Wall
tile.paper_wall.desc=A wall made of delicate paper. Be careful!

tile.trapdoor.planks.oak.painted.name=Painted Trapdoor
tile.trapdoor.planks.oak.painted.desc=How did you get this?!
tile.trapdoor.planks.oak.painted.black.name=Black Wooden Trapdoor
tile.trapdoor.planks.oak.painted.black.desc=Like a door, but flat and painted black.
tile.trapdoor.planks.oak.painted.red.name=Red Wooden Trapdoor
tile.trapdoor.planks.oak.painted.red.desc=Like a door, but flat and painted red.
tile.trapdoor.planks.oak.painted.green.name=Green Wooden Trapdoor
tile.trapdoor.planks.oak.painted.green.desc=Like a door, but flat and painted green.
tile.trapdoor.planks.oak.painted.brown.name=Brown Wooden Trapdoor
tile.trapdoor.planks.oak.painted.brown.desc=Like a door, but flat and painted brown.
tile.trapdoor.planks.oak.painted.blue.name=Blue Wooden Trapdoor
tile.trapdoor.planks.oak.painted.blue.desc=Like a door, but flat and painted blue.
tile.trapdoor.planks.oak.painted.purple.name=Purple Wooden Trapdoor
tile.trapdoor.planks.oak.painted.purple.desc=Like a door, but flat and painted purple.
tile.trapdoor.planks.oak.painted.cyan.name=Cyan Wooden Trapdoor
tile.trapdoor.planks.oak.painted.cyan.desc=Like a door, but flat and painted cyan.
tile.trapdoor.planks.oak.painted.silver.name=Light Gray Wooden Trapdoor
tile.trapdoor.planks.oak.painted.silver.desc=Like a door, but flat and painted light gray.
tile.trapdoor.planks.oak.painted.gray.name=Gray Wooden Trapdoor
tile.trapdoor.planks.oak.painted.gray.desc=Like a door, but flat and painted gray.
tile.trapdoor.planks.oak.painted.pink.name=Pink Wooden Trapdoor
tile.trapdoor.planks.oak.painted.pink.desc=Like a door, but flat and painted pink.
tile.trapdoor.planks.oak.painted.lime.name=Lime Wooden Trapdoor
tile.trapdoor.planks.oak.painted.lime.desc=Like a door, but flat and painted lime.
tile.trapdoor.planks.oak.painted.yellow.name=Yellow Wooden Trapdoor
tile.trapdoor.planks.oak.painted.yellow.desc=Like a door, but flat and painted yellow.
tile.trapdoor.planks.oak.painted.lightblue.name=Light Blue Wooden Trapdoor
tile.trapdoor.planks.oak.painted.lightblue.desc=Like a door, but flat and painted light blue.
tile.trapdoor.planks.oak.painted.magenta.name=Magenta Wooden Trapdoor
tile.trapdoor.planks.oak.painted.magenta.desc=Like a door, but flat and painted magenta.
tile.trapdoor.planks.oak.painted.orange.name=Orange Wooden Trapdoor
tile.trapdoor.planks.oak.painted.orange.desc=Like a door, but flat and painted orange.
tile.trapdoor.planks.oak.painted.white.name=White Wooden Trapdoor
tile.trapdoor.planks.oak.painted.white.desc=Like a door, but flat and painted white.

tile.door.planks.oak.painted.bottom.name=Bottom Painted Wooden Door
tile.door.planks.oak.painted.bottom.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.black.name=Black Bottom Wooden Door
tile.door.planks.oak.painted.bottom.black.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.red.name=Red Bottom Wooden Door
tile.door.planks.oak.painted.bottom.red.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.green.name=Green Bottom Wooden Door
tile.door.planks.oak.painted.bottom.green.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.brown.name=Brown Bottom Wooden Door
tile.door.planks.oak.painted.bottom.brown.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.blue.name=Blue Bottom Wooden Door
tile.door.planks.oak.painted.bottom.blue.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.purple.name=Purple Bottom Wooden Door
tile.door.planks.oak.painted.bottom.purple.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.cyan.name=Cyan Bottom Wooden Door
tile.door.planks.oak.painted.bottom.cyan.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.silver.name=Light Gray Bottom Wooden Door
tile.door.planks.oak.painted.bottom.silver.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.gray.name=Gray Bottom Wooden Door
tile.door.planks.oak.painted.bottom.gray.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.pink.name=Pink Bottom Wooden Door
tile.door.planks.oak.painted.bottom.pink.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.lime.name=Lime Bottom Wooden Door
tile.door.planks.oak.painted.bottom.lime.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.yellow.name=Yellow Bottom Wooden Door
tile.door.planks.oak.painted.bottom.yellow.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.lightblue.name=Light Blue Bottom Wooden Door
tile.door.planks.oak.painted.bottom.lightblue.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.magenta.name=Magenta Bottom Wooden Door
tile.door.planks.oak.painted.bottom.magenta.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.orange.name=Orange Bottom Wooden Door
tile.door.planks.oak.painted.bottom.orange.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.white.name=White Bottom Wooden Door
tile.door.planks.oak.painted.bottom.white.desc=How did you get this?!

tile.door.planks.oak.painted.top.name=Top Painted Wooden Door
tile.door.planks.oak.painted.top.desc=How did you get this?!
tile.door.planks.oak.painted.top.black.name=Black Top Wooden Door
tile.door.planks.oak.painted.top.black.desc=How did you get this?!
tile.door.planks.oak.painted.top.red.name=Red Top Wooden Door
tile.door.planks.oak.painted.top.red.desc=How did you get this?!
tile.door.planks.oak.painted.top.green.name=Green Top Wooden Door
tile.door.planks.oak.painted.top.green.desc=How did you get this?!
tile.door.planks.oak.painted.top.brown.name=Brown Top Wooden Door
tile.door.planks.oak.painted.top.brown.desc=How did you get this?!
tile.door.planks.oak.painted.top.blue.name=Blue Top Wooden Door
tile.door.planks.oak.painted.top.blue.desc=How did you get this?!
tile.door.planks.oak.painted.top.purple.name=Purple Top Wooden Door
tile.door.planks.oak.painted.top.purple.desc=How did you get this?!
tile.door.planks.oak.painted.top.cyan.name=Cyan Top Wooden Door
tile.door.planks.oak.painted.top.cyan.desc=How did you get this?!
tile.door.planks.oak.painted.top.silver.name=Light Gray Top Wooden Door
tile.door.planks.oak.painted.top.silver.desc=How did you get this?!
tile.door.planks.oak.painted.top.gray.name=Gray Top Wooden Door
tile.door.planks.oak.painted.top.gray.desc=How did you get this?!
tile.door.planks.oak.painted.top.pink.name=Pink Top Wooden Door
tile.door.planks.oak.painted.top.pink.desc=How did you get this?!
tile.door.planks.oak.painted.top.lime.name=Lime Top Wooden Door
tile.door.planks.oak.painted.top.lime.desc=How did you get this?!
tile.door.planks.oak.painted.top.yellow.name=Yellow Top Wooden Door
tile.door.planks.oak.painted.top.yellow.desc=How did you get this?!
tile.door.planks.oak.painted.top.lightblue.name=Light Blue Top Wooden Door
tile.door.planks.oak.painted.top.lightblue.desc=How did you get this?!
tile.door.planks.oak.painted.top.magenta.name=Magenta Top Wooden Door
tile.door.planks.oak.painted.top.magenta.desc=How did you get this?!
tile.door.planks.oak.painted.top.orange.name=Orange Top Wooden Door
tile.door.planks.oak.painted.top.orange.desc=How did you get this?!
tile.door.planks.oak.painted.top.white.name=White Top Wooden Door
tile.door.planks.oak.painted.top.white.desc=How did you get this?!

tile.door.glass.top.name=Top Glass Door
tile.door.glass.top.desc=You shouldn't be seeing this.
tile.door.glass.bottom.name=Bottom Glass Door
tile.door.glass.bottom.desc=And that's not just because it's glass.

tile.door.steel.top.name=Top Steel Door
tile.door.steel.top.desc=Don't take this without asking.
tile.door.steel.bottom.name=Bottom Steel Door
tile.door.steel.bottom.desc=Steeler, no steeling!

tile.trapdoor.steel.name=Steel Trapdoor
tile.trapdoor.steel.desc=Like a door, but flat and made of durable steel.

tile.glass.steel.name=Reinforced Glass
tile.glass.steel.desc=Like glass, but without the fragility.

tile.rope.name=Rope
tile.rope.desc=Rope, rope, rope your boat.
\ No newline at end of file
+tile.stone.name=Stone
tile.stone.desc=A block of solid stone.
tile.basalt.name=Basalt
tile.basalt.desc=A block of solid basalt.
tile.limestone.name=Limestone
tile.limestone.desc=A block of solid limestone.
tile.granite.name=Granite
tile.granite.desc=A block of solid granite.
tile.marble.name=Marble
tile.marble.desc=A block of solid marble.
tile.slate.name=Slate
tile.slate.desc=A block of solid slate.
tile.permafrost.name=Permafrost
tile.permafrost.desc=A block of frozen stone.

tile.cobble.stone.name=Cobblestone
tile.cobble.stone.desc=Stone, smashed apart and reconstituted.
tile.cobble.stone.mossy.name=Mossy Cobblestone
tile.cobble.stone.mossy.desc=Cobblestone with added greenery.
tile.cobble.basalt.name=Cobbled Basalt
tile.cobble.basalt.desc=Basalt, smashed apart and reconstituted.
tile.cobble.limestone.name=Cobbled Limestone
tile.cobble.limestone.desc=Limestone, smashed apart and reconstituted.
tile.cobble.granite.name=Cobbled Granite
tile.cobble.granite.desc=Granite, smashed apart and reconstituted.
tile.cobble.permafrost.name=Cobbled Permafrost
tile.cobble.permafrost.desc=Permafrost, smashed apart and reconstituted.

tile.pillar.marble.name=Marble Pillar
tile.pillar.marble.desc=A block of marble engraved into a pillar.
tile.capstone.marble.name=Marble Capstone
tile.capstone.marble.desc=A pillar capstone made of solid marble.

tile.sandstone.name=Sandstone
tile.sandstone.desc=Compacted sand.

tile.stone.carved.name=Carved Stone
tile.stone.carved.desc=Polished Stone with lines hewn through the middle.
tile.granite.carved.name=Carved Granite
tile.granite.carved.desc=Polished Granite with lines hewn through the middle.
tile.limestone.carved.name=Carved Limestone
tile.limestone.carved.desc=Polished Limestone with lines hewn through the middle.
tile.basalt.carved.name=Carved Basalt
tile.basalt.carved.desc=Polished Basalt with lines hewn through the middle.
tile.permafrost.carved.name=Carved Permafrost
tile.permafrost.carved.desc=Polished Permafrost with lines hewn through the middle.
tile.netherrack.carved.name=Carved Netherrack
tile.netherrack.carved.desc=Polished Netherrack with lines hewn through the middle.

tile.planks.oak.name=Wooden Planks
tile.planks.oak.desc=Processed tree insides.
tile.planks.oak.painted.name=Mystery Planks
tile.planks.oak.painted.desc=How did you get this?!
tile.planks.oak.painted.black.name=Black Wooden Planks
tile.planks.oak.painted.black.desc=Wooden planks, stained black.
tile.planks.oak.painted.red.name=Red Wooden Planks
tile.planks.oak.painted.red.desc=Wooden planks, stained red.
tile.planks.oak.painted.green.name=Green Wooden Planks
tile.planks.oak.painted.green.desc=Wooden planks, stained green.
tile.planks.oak.painted.brown.name=Brown Wooden Planks
tile.planks.oak.painted.brown.desc=Wooden planks, stained brown.
tile.planks.oak.painted.blue.name=Blue Wooden Planks
tile.planks.oak.painted.blue.desc=Wooden planks, stained blue.
tile.planks.oak.painted.purple.name=Purple Wooden Planks
tile.planks.oak.painted.purple.desc=Wooden planks, stained purple.
tile.planks.oak.painted.cyan.name=Cyan Wooden Planks
tile.planks.oak.painted.cyan.desc=Wooden planks, stained cyan.
tile.planks.oak.painted.silver.name=Light Gray Wooden Planks
tile.planks.oak.painted.silver.desc=Wooden planks, stained light gray.
tile.planks.oak.painted.gray.name=Gray Wooden Planks
tile.planks.oak.painted.gray.desc=Wooden planks, stained gray.
tile.planks.oak.painted.pink.name=Pink Wooden Planks
tile.planks.oak.painted.pink.desc=Wooden planks, stained pink.
tile.planks.oak.painted.lime.name=Lime Wooden Planks
tile.planks.oak.painted.lime.desc=Wooden planks, stained lime.
tile.planks.oak.painted.yellow.name=Yellow Wooden Planks
tile.planks.oak.painted.yellow.desc=Wooden planks, stained yellow.
tile.planks.oak.painted.lightblue.name=Light Blue Wooden Planks
tile.planks.oak.painted.lightblue.desc=Wooden planks, stained light blue.
tile.planks.oak.painted.magenta.name=Magenta Wooden Planks
tile.planks.oak.painted.magenta.desc=Wooden planks, stained magenta.
tile.planks.oak.painted.orange.name=Orange Wooden Planks
tile.planks.oak.painted.orange.desc=Wooden planks, stained orange.
tile.planks.oak.painted.white.name=White Wooden Planks
tile.planks.oak.painted.white.desc=Wooden planks, stained white.

tile.torch.coal.name=Torch
tile.torch.coal.desc=Helps light the way.

tile.ladder.oak.name=Ladder
tile.ladder.oak.desc=For very rapid vertical movement.

tile.fence.planks.oak.name=Wooden Fence
tile.fence.planks.oak.desc=Too tall to jump over.

tile.fence.planks.oak.painted.name=Mystery Wooden Fence
tile.fence.planks.oak.painted.desc=How did you get this?!
tile.fence.planks.oak.painted.black.name=Black Wooden Fence
tile.fence.planks.oak.painted.black.desc=A wooden fence, stained black.
tile.fence.planks.oak.painted.red.name=Red Wooden Fence
tile.fence.planks.oak.painted.red.desc=A wooden fence, stained red.
tile.fence.planks.oak.painted.green.name=Green Wooden Fence
tile.fence.planks.oak.painted.green.desc=A wooden fence, stained green.
tile.fence.planks.oak.painted.brown.name=Brown Wooden Fence
tile.fence.planks.oak.painted.brown.desc=A wooden fence, stained brown.
tile.fence.planks.oak.painted.blue.name=Blue Wooden Fence
tile.fence.planks.oak.painted.blue.desc=A wooden fence, stained blue.
tile.fence.planks.oak.painted.purple.name=Purple Wooden Fence
tile.fence.planks.oak.painted.purple.desc=A wooden fence, stained purple.
tile.fence.planks.oak.painted.cyan.name=Cyan Wooden Fence
tile.fence.planks.oak.painted.cyan.desc=A wooden fence, stained cyan.
tile.fence.planks.oak.painted.silver.name=Light Gray Wooden Fence
tile.fence.planks.oak.painted.silver.desc=A wooden fence, stained light gray.
tile.fence.planks.oak.painted.gray.name=Gray Wooden Fence
tile.fence.planks.oak.painted.gray.desc=A wooden fence, stained gray.
tile.fence.planks.oak.painted.pink.name=Pink Wooden Fence
tile.fence.planks.oak.painted.pink.desc=A wooden fence, stained pink.
tile.fence.planks.oak.painted.lime.name=Lime Wooden Fence
tile.fence.planks.oak.painted.lime.desc=A wooden fence, stained lime.
tile.fence.planks.oak.painted.yellow.name=Yellow Wooden Fence
tile.fence.planks.oak.painted.yellow.desc=A wooden fence, stained yellow.
tile.fence.planks.oak.painted.lightblue.name=Light Blue Wooden Fence
tile.fence.planks.oak.painted.lightblue.desc=A wooden fence, stained light blue.
tile.fence.planks.oak.painted.magenta.name=Magenta Wooden Fence
tile.fence.planks.oak.painted.magenta.desc=A wooden fence, stained magenta.
tile.fence.planks.oak.painted.orange.name=Orange Wooden Fence
tile.fence.planks.oak.painted.orange.desc=A wooden fence, stained orange.
tile.fence.planks.oak.painted.white.name=White Wooden Fence
tile.fence.planks.oak.painted.white.desc=A wooden fence, stained white.

tile.fencegate.planks.oak.name=Wooden Fence Gate
tile.fencegate.planks.oak.desc=Like a door but for fences.

tile.fencegate.planks.oak.painted.name=Mystery Wooden Fence Gate
tile.fencegate.planks.oak.painted.desc=How did you get this?!
tile.fencegate.planks.oak.painted.black.name=Black Wooden Fence Gate
tile.fencegate.planks.oak.painted.black.desc=A wooden fence gate, stained black.
tile.fencegate.planks.oak.painted.red.name=Red Wooden Fence Gate
tile.fencegate.planks.oak.painted.red.desc=A wooden fence gate, stained red.
tile.fencegate.planks.oak.painted.green.name=Green Wooden Fence Gate
tile.fencegate.planks.oak.painted.green.desc=A wooden fence gate, stained green.
tile.fencegate.planks.oak.painted.brown.name=Brown Wooden Fence Gate
tile.fencegate.planks.oak.painted.brown.desc=A wooden fence gate, stained brown.
tile.fencegate.planks.oak.painted.blue.name=Blue Wooden Fence Gate
tile.fencegate.planks.oak.painted.blue.desc=A wooden fence gate, stained blue.
tile.fencegate.planks.oak.painted.purple.name=Purple Wooden Fence Gate
tile.fencegate.planks.oak.painted.purple.desc=A wooden fence gate, stained purple.
tile.fencegate.planks.oak.painted.cyan.name=Cyan Wooden Fence Gate
tile.fencegate.planks.oak.painted.cyan.desc=A wooden fence gate, stained cyan.
tile.fencegate.planks.oak.painted.silver.name=Light Gray Wooden Fence Gate
tile.fencegate.planks.oak.painted.silver.desc=A wooden fence gate, stained light gray.
tile.fencegate.planks.oak.painted.gray.name=Gray Wooden Fence Gate
tile.fencegate.planks.oak.painted.gray.desc=A wooden fence gate, stained gray.
tile.fencegate.planks.oak.painted.pink.name=Pink Wooden Fence Gate
tile.fencegate.planks.oak.painted.pink.desc=A wooden fence gate, stained pink.
tile.fencegate.planks.oak.painted.lime.name=Lime Wooden Fence Gate
tile.fencegate.planks.oak.painted.lime.desc=A wooden fence gate, stained lime.
tile.fencegate.planks.oak.painted.yellow.name=Yellow Wooden Fence Gate
tile.fencegate.planks.oak.painted.yellow.desc=A wooden fence gate, stained yellow.
tile.fencegate.planks.oak.painted.lightblue.name=Light Blue Wooden Fence Gate
tile.fencegate.planks.oak.painted.lightblue.desc=A wooden fence gate, stained light blue.
tile.fencegate.planks.oak.painted.magenta.name=Magenta Wooden Fence Gate
tile.fencegate.planks.oak.painted.magenta.desc=A wooden fence gate, stained magenta.
tile.fencegate.planks.oak.painted.orange.name=Orange Wooden Fence Gate
tile.fencegate.planks.oak.painted.orange.desc=A wooden fence gate, stained orange.
tile.fencegate.planks.oak.painted.white.name=White Wooden Fence Gate
tile.fencegate.planks.oak.painted.white.desc=A wooden fence gate, stained white.

tile.bookshelf.planks.oak.name=Bookshelf
tile.bookshelf.planks.oak.desc=A repository of knowledge.

tile.wool.name=Wool
tile.wool.desc=How did you get this?!
tile.wool.black.name=Black Wool
tile.wool.black.desc=Sheep's wool, dyed black.
tile.wool.red.name=Red Wool
tile.wool.red.desc=Sheep's wool, dyed red.
tile.wool.green.name=Green Wool
tile.wool.green.desc=Sheep's wool, dyed green.
tile.wool.brown.name=Brown Wool
tile.wool.brown.desc=Sheep's wool, dyed brown.
tile.wool.blue.name=Blue Wool
tile.wool.blue.desc=Sheep's wool, dyed blue.
tile.wool.purple.name=Purple Wool
tile.wool.purple.desc=Sheep's wool, dyed purple.
tile.wool.cyan.name=Cyan Wool
tile.wool.cyan.desc=Sheep's wool, dyed cyan.
tile.wool.silver.name=Light Gray Wool
tile.wool.silver.desc=Sheep's wool, dyed light gray.
tile.wool.gray.name=Gray Wool
tile.wool.gray.desc=Sheep's wool, dyed gray.
tile.wool.pink.name=Pink Wool
tile.wool.pink.desc=Sheep's wool, dyed pink.
tile.wool.lime.name=Lime Wool
tile.wool.lime.desc=Sheep's wool, dyed lime.
tile.wool.yellow.name=Yellow Wool
tile.wool.yellow.desc=Sheep's wool, dyed yellow.
tile.wool.lightblue.name=Light Blue Wool
tile.wool.lightblue.desc=Sheep's wool, dyed light blue.
tile.wool.magenta.name=Magenta Wool
tile.wool.magenta.desc=Sheep's wool, dyed magenta.
tile.wool.orange.name=Orange Wool
tile.wool.orange.desc=Sheep's wool, dyed orange.
tile.wool.white.name=White Wool
tile.wool.white.desc=Sheep's wool, dyed white.

tile.brick.clay.name=Clay Bricks
tile.brick.clay.desc=Stacked bricks of baked clay.
tile.brick.stone.polished.name=Polished Stone Bricks
tile.brick.stone.polished.desc=Stacked bricks of polished stone.
tile.brick.stone.polished.mossy.name=Mossy Polished Stone Bricks
tile.brick.stone.polished.mossy.desc=Stacked bricks of polished stone with added greenery.
tile.brick.sandstone.name=Sandstone Bricks
tile.brick.sandstone.desc=Stacked bricks of sandstone.
tile.brick.gold.name=Gold Bricks
tile.brick.gold.desc=Stacked bricks of gold.
tile.brick.lapis.name=Lapis Lazuli Bricks
tile.brick.lapis.desc=Stacked bricks of lapis lazuli.
tile.brick.basalt.name=Basalt Bricks
tile.brick.basalt.desc=Stacked bricks of basalt.
tile.brick.limestone.name=Limestone Bricks
tile.brick.limestone.desc=Stacked bricks of limestone.
tile.brick.granite.name=Granite Bricks
tile.brick.granite.desc=Stacked bricks of granite.
tile.brick.marble.name=Marble Bricks
tile.brick.marble.desc=Stacked bricks of marble.
tile.brick.slate.name=Slate Bricks
tile.brick.slate.desc=Stacked bricks of slate.
tile.brick.stone.name=Stone Bricks
tile.brick.stone.desc=Stacked bricks of stone.
tile.brick.permafrost.name=Permafrost Bricks
tile.brick.permafrost.desc=Stacked bricks of permafrost.
tile.brick.iron.name=Iron Bricks
tile.brick.iron.desc=Stacked bricks of iron.
tile.brick.steel.name=Steel Bricks
tile.brick.steel.desc=Stacked bricks of steel.

tile.slab.planks.oak.name=Wooden Slab
tile.slab.planks.oak.desc=A slab of wooden planks.
tile.slab.cobble.stone.name=Cobblestone Slab
tile.slab.cobble.stone.desc=A slab of cobblestone.
tile.slab.sandstone.name=Sandstone Slab
tile.slab.sandstone.desc=A slab of sandstone.
tile.slab.brick.stone.polished.name=Polished Stone Brick Slab
tile.slab.brick.stone.polished.desc=A slab of polished stone bricks.
tile.slab.stone.carved.name=Polished Stone Slab
tile.slab.stone.carved.desc=A slab of polished stone.
tile.slab.brick.marble.name=Marble Brick Slab
tile.slab.brick.marble.desc=A slab of marble bricks.
tile.slab.brick.clay.name=Clay Brick Slab
tile.slab.brick.clay.desc=A slab of clay bricks.
tile.slab.capstone.marble.name=Marble Capstone Slab
tile.slab.capstone.marble.desc=Marble sculpted into a capstone.
tile.slab.cobble.basalt.name=Cobbled Basalt Slab
tile.slab.cobble.basalt.desc=A slab of cobbled basalt.
tile.slab.cobble.limestone.name=Cobbled Limestone Slab
tile.slab.cobble.limestone.desc=A slab of cobbled limestone.
tile.slab.cobble.granite.name=Cobbled Granite Slab
tile.slab.cobble.granite.desc=A slab of cobbled granite.
tile.slab.brick.basalt.name=Basalt Brick Slab
tile.slab.brick.basalt.desc=A slab of basalt bricks.
tile.slab.brick.limestone.name=Limestone Brick Slab
tile.slab.brick.limestone.desc=A slab of limestone bricks.
tile.slab.brick.granite.name=Granite Brick Slab
tile.slab.brick.granite.desc=A slab of granite bricks.
tile.slab.brick.slate.name=Slate Brick Slab
tile.slab.brick.slate.desc=A slab of slate bricks.
tile.slab.brick.stone.name=Stone Brick Slab
tile.slab.brick.stone.desc=A slab of stone bricks.
tile.slab.granite.carved.name=Polished Granite Slab
tile.slab.granite.carved.desc=A slab of polished granite.
tile.slab.limestone.carved.name=Polished Limestone Slab
tile.slab.limestone.carved.desc=A slab of polished limestone.
tile.slab.basalt.carved.name=Polished Basalt Slab
tile.slab.basalt.carved.desc=A slab of polished basalt.
tile.slab.permafrost.carved.name=Polished Permafrost Slab
tile.slab.permafrost.carved.desc=A slab of polished permafrost.

tile.slab.planks.oak.painted.name=Mystery Wooden Slab
tile.slab.planks.oak.painted.desc=How did you get this?!
tile.slab.planks.oak.painted.black.name=Black Wooden Slab
tile.slab.planks.oak.painted.black.desc=A slab of wooden planks, stained black.
tile.slab.planks.oak.painted.red.name=Red Wooden Slab
tile.slab.planks.oak.painted.red.desc=A slab of wooden planks, stained red.
tile.slab.planks.oak.painted.green.name=Green Wooden Slab
tile.slab.planks.oak.painted.green.desc=A slab of wooden planks, stained green.
tile.slab.planks.oak.painted.brown.name=Brown Wooden Slab
tile.slab.planks.oak.painted.brown.desc=A slab of wooden planks, stained brown.
tile.slab.planks.oak.painted.blue.name=Blue Wooden Slab
tile.slab.planks.oak.painted.blue.desc=A slab of wooden planks, stained blue.
tile.slab.planks.oak.painted.purple.name=Purple Wooden Slab
tile.slab.planks.oak.painted.purple.desc=A slab of wooden planks, stained purple.
tile.slab.planks.oak.painted.cyan.name=Cyan Wooden Slab
tile.slab.planks.oak.painted.cyan.desc=A slab of wooden planks, stained cyan.
tile.slab.planks.oak.painted.silver.name=Light Gray Wooden Slab
tile.slab.planks.oak.painted.silver.desc=A slab of wooden planks, stained light gray.
tile.slab.planks.oak.painted.gray.name=Gray Wooden Slab
tile.slab.planks.oak.painted.gray.desc=A slab of wooden planks, stained gray.
tile.slab.planks.oak.painted.pink.name=Pink Wooden Slab
tile.slab.planks.oak.painted.pink.desc=A slab of wooden planks, stained pink.
tile.slab.planks.oak.painted.lime.name=Lime Wooden Slab
tile.slab.planks.oak.painted.lime.desc=A slab of wooden planks, stained lime.
tile.slab.planks.oak.painted.yellow.name=Yellow Wooden Slab
tile.slab.planks.oak.painted.yellow.desc=A slab of wooden planks, stained yellow.
tile.slab.planks.oak.painted.lightblue.name=Light Blue Wooden Slab
tile.slab.planks.oak.painted.lightblue.desc=A slab of wooden planks, stained light blue.
tile.slab.planks.oak.painted.magenta.name=Magenta Wooden Slab
tile.slab.planks.oak.painted.magenta.desc=A slab of wooden planks, stained magenta.
tile.slab.planks.oak.painted.orange.name=Orange Wooden Slab
tile.slab.planks.oak.painted.orange.desc=A slab of wooden planks, stained orange.
tile.slab.planks.oak.painted.white.name=White Wooden Slab
tile.slab.planks.oak.painted.white.desc=A slab of wooden planks, stained white.
tile.slab.cobble.permafrost.name=Cobbled Permafrost Slab
tile.slab.cobble.permafrost.desc=A slab of cobbled permafrost.
tile.slab.brick.sandstone.name=Sandstone Brick Slab
tile.slab.brick.sandstone.desc=A slab of sandstone bricks.
tile.slab.brick.permafrost.name=Permafrost Brick Slab
tile.slab.brick.permafrost.desc=A slab of permafrost bricks.

tile.stairs.planks.oak.name=Wooden Stairs
tile.stairs.planks.oak.desc=Wooden block used for rapid vertical movement.
tile.stairs.cobble.stone.name=Cobblestone Stairs
tile.stairs.cobble.stone.desc=Cobblestone block used for rapid vertical movement.
tile.stairs.brick.stone.polished.name=Polished Stone Brick Stairs
tile.stairs.brick.stone.polished.desc=Polished stone brick block used for rapid vertical movement.
tile.stairs.brick.marble.name=Marble Brick Stairs
tile.stairs.brick.marble.desc=Marble brick block used for rapid vertical movement.
tile.stairs.cobble.basalt.name=Cobbled Basalt Stairs
tile.stairs.cobble.basalt.desc=Cobbled basalt block used for rapid vertical movement.
tile.stairs.cobble.limestone.name=Cobbled Limestone Stairs
tile.stairs.cobble.limestone.desc=Cobbled limestone block used for rapid vertical movement.
tile.stairs.cobble.granite.name=Cobbled Granite Stairs
tile.stairs.cobble.granite.desc=Cobbled granite block used for rapid vertical movement.
tile.stairs.brick.basalt.name=Basalt Brick Stairs
tile.stairs.brick.basalt.desc=Basalt brick block used for rapid vertical movement.
tile.stairs.brick.limestone.name=Limestone Brick Stairs
tile.stairs.brick.limestone.desc=Limestone brick block used for rapid vertical movement.
tile.stairs.brick.granite.name=Granite Brick Stairs
tile.stairs.brick.granite.desc=Granite brick block used for rapid vertical movement.
tile.stairs.brick.clay.name=Clay Brick Stairs
tile.stairs.brick.clay.desc=Clay brick block used for rapid vertical movement.
tile.stairs.brick.slate.name=Slate Brick Stairs
tile.stairs.brick.slate.desc=Slate brick block used for rapid vertical movement.
tile.stairs.brick.stone.name=Stone Brick Stairs
tile.stairs.brick.stone.desc=Stone brick block used for rapid vertical movement.
tile.stairs.sandstone.name=Sandstone Stairs
tile.stairs.sandstone.desc=Sandstone block used for rapid vertical movement.
tile.stairs.cobble.permafrost.name=Cobbled Permafrost Stairs
tile.stairs.cobble.permafrost.desc=Cobbled permafrost block used for rapid vertical movement.
tile.stairs.brick.sandstone.name=Sandstone Brick Stairs
tile.stairs.brick.sandstone.desc=Sandstone brick block used for rapid vertical movement.
tile.stairs.brick.permafrost.name=Permafrost Brick Stairs
tile.stairs.brick.permafrost.desc=Permafrost brick block used for rapid vertical movement.

tile.stairs.planks.oak.painted.name=Mystery Wooden Stairs
tile.stairs.planks.oak.painted.desc=How did you get this?!
tile.stairs.planks.oak.painted.black.name=Black Wooden Stairs
tile.stairs.planks.oak.painted.black.desc=Wooden steps, stained black.
tile.stairs.planks.oak.painted.red.name=Red Wooden Stairs
tile.stairs.planks.oak.painted.red.desc=Wooden steps, stained red.
tile.stairs.planks.oak.painted.green.name=Green Wooden Stairs
tile.stairs.planks.oak.painted.green.desc=Wooden steps, stained green.
tile.stairs.planks.oak.painted.brown.name=Brown Wooden Stairs
tile.stairs.planks.oak.painted.brown.desc=Wooden steps, stained brown.
tile.stairs.planks.oak.painted.blue.name=Blue Wooden Stairs
tile.stairs.planks.oak.painted.blue.desc=Wooden steps, stained blue.
tile.stairs.planks.oak.painted.purple.name=Purple Wooden Stairs
tile.stairs.planks.oak.painted.purple.desc=Wooden steps, stained purple.
tile.stairs.planks.oak.painted.cyan.name=Cyan Wooden Stairs
tile.stairs.planks.oak.painted.cyan.desc=Wooden steps, stained cyan.
tile.stairs.planks.oak.painted.silver.name=Light Gray Wooden Stairs
tile.stairs.planks.oak.painted.silver.desc=Wooden steps, stained light gray.
tile.stairs.planks.oak.painted.gray.name=Gray Wooden Stairs
tile.stairs.planks.oak.painted.gray.desc=Wooden steps, stained gray.
tile.stairs.planks.oak.painted.pink.name=Pink Wooden Stairs
tile.stairs.planks.oak.painted.pink.desc=Wooden steps, stained pink.
tile.stairs.planks.oak.painted.lime.name=Lime Wooden Stairs
tile.stairs.planks.oak.painted.lime.desc=Wooden steps, stained lime.
tile.stairs.planks.oak.painted.yellow.name=Yellow Wooden Stairs
tile.stairs.planks.oak.painted.yellow.desc=Wooden steps, stained yellow.
tile.stairs.planks.oak.painted.lightblue.name=Light Blue Wooden Stairs
tile.stairs.planks.oak.painted.lightblue.desc=Wooden steps, stained light blue.
tile.stairs.planks.oak.painted.magenta.name=Magenta Wooden Stairs
tile.stairs.planks.oak.painted.magenta.desc=Wooden steps, stained magenta.
tile.stairs.planks.oak.painted.orange.name=Orange Wooden Stairs
tile.stairs.planks.oak.painted.orange.desc=Wooden steps, stained orange.
tile.stairs.planks.oak.painted.white.name=White Wooden Stairs
tile.stairs.planks.oak.painted.white.desc=Wooden steps, stained white.

tile.obsidian.name=Obsidian
tile.obsidian.desc=Rapidly cooled volcanic rock.

tile.glass.name=Glass
tile.glass.desc=Sand heated until it becomes translucent.
tile.glass.tinted.name=Tinted Glass
tile.glass.tinted.desc=Darkened glass that blocks light.

tile.grass.name=Grass
tile.grass.desc=Crisp, crunchy grass.
tile.grass.retro.name=Retro Grass
tile.grass.retro.desc=Crisp, crunchy grass. Smells old.
tile.grass.scorched.name=Scorched Grass
tile.grass.scorched.desc=Grass that has baked in the sun.

tile.path.dirt.name=Dirt Path
tile.path.dirt.desc=Dirt worn down by frequent travelling.

tile.dirt.name=Dirt
tile.dirt.desc=Crumbly brown dirt.
tile.dirt.scorched.name=Scorched Dirt
tile.dirt.scorched.desc=Dirt that has baked in the sun.
tile.dirt.scorched.rich.name=Rich Scorched Dirt
tile.dirt.scorched.rich.desc=Dirt that has baked in the sun, searing in minerals.

tile.mud.name=Mud
tile.mud.desc=Mud sodden to its core.
tile.mud.baked.name=Baked Mud
tile.mud.baked.desc=Mud that's been dried out and cracked.

tile.sponge.dry.name=Sponge
tile.sponge.dry.desc=A dry sponge, good for soaking up water.
tile.sponge.wet.name=Wet Sponge
tile.sponge.wet.desc=A sponge full of water.
tile.pumice.dry.name=Pumice
tile.pumice.dry.desc=A dry porous volcanic rock, good for soaking up lava.
tile.pumice.wet.name=Molten Pumice
tile.pumice.wet.desc=Rock filled with lava.

tile.moss.stone.name=Mossy Stone
tile.moss.stone.desc=Moss covering a block of stone.
tile.moss.basalt.name=Mossy Basalt
tile.moss.basalt.desc=Moss covering a block of basalt.
tile.moss.limestone.name=Mossy Limestone
tile.moss.limestone.desc=Moss covering a block of limestone.
tile.moss.granite.name=Mossy Granite
tile.moss.granite.desc=Moss covering a block of granite.

tile.sand.name=Sand
tile.sand.desc=Gets everywhere.
tile.gravel.name=Gravel
tile.gravel.desc=A loose collection of pebbles.

tile.bedrock.name=Bedrock
tile.bedrock.desc=The toughest substance known to man.
tile.boneshale.name=Bone Shale
tile.boneshale.desc=An incredibly tough white rock torn from the deepest depths.

tile.fluid.water.flowing.name=Flowing Water
tile.fluid.water.flowing.desc=Water that flows when placed.
tile.fluid.water.still.name=Still Water
tile.fluid.water.still.desc=Water that does not flow when placed.
tile.fluid.lava.flowing.name=Flowing Lava
tile.fluid.lava.flowing.desc=Lava that flows when placed.
tile.fluid.lava.still.name=Still Lava
tile.fluid.lava.still.desc=Lava that does not flow when placed.

tile.log.oak.name=Oak Log
tile.log.oak.desc=A log from an oak tree.
tile.log.pine.name=Pine Log
tile.log.pine.desc=A log from a pine tree.
tile.log.birch.name=Birch Log
tile.log.birch.desc=A log from a birch tree.
tile.log.cherry.name=Cherry Log
tile.log.cherry.desc=A log from a cherry tree.
tile.log.eucalyptus.name=Eucalyptus Log
tile.log.eucalyptus.desc=A log from a eucalyptus tree.
tile.log.oak.mossy.name=Mossy Oak Log
tile.log.oak.mossy.desc=A log from a mossy oak tree.
tile.log.thorn.name=Thorn Log
tile.log.thorn.desc=A log from a thorn tree.
tile.log.palm.name=Palm Log
tile.log.palm.desc=A log from a palm tree.

tile.leaves.oak.name=Oak Leaves
tile.leaves.oak.desc=Leaves from an oak tree.
tile.leaves.pine.name=Pine Leaves
tile.leaves.pine.desc=Leaves from a pine tree.
tile.leaves.birch.name=Birch Leaves
tile.leaves.birch.desc=Leaves from a birch tree.
tile.leaves.cherry.name=Cherry Leaves
tile.leaves.cherry.desc=Leaves from a cherry tree.
tile.leaves.eucalyptus.name=Eucalyptus Leaves
tile.leaves.eucalyptus.desc=Leaves from a eucalyptus tree.
tile.leaves.oak.retro.name=Retro Leaves
tile.leaves.oak.retro.desc=Leaves from long ago.
tile.leaves.shrub.name=Shrub Leaves
tile.leaves.shrub.desc=Leaves from a shrub.
tile.leaves.cherry.flowering.name=Flowering Cherry Leaves
tile.leaves.cherry.flowering.desc=Leaves from a cherry tree that are budding with fruit.
tile.leaves.cacao.name=Cacao Leaves
tile.leaves.cacao.desc=Leaves from a cacao tree.
tile.leaves.thorn.name=Thorn Leaves
tile.leaves.thorn.desc=Leaves from a thorn tree.
tile.leaves.palm.name=Palm Leaves
tile.leaves.palm.desc=Leaves from a palm tree.

tile.sapling.oak.name=Oak Sapling
tile.sapling.oak.desc=Plant to grow an oak tree.
tile.sapling.pine.name=Pine Sapling
tile.sapling.pine.desc=Plant to grow a pine tree.
tile.sapling.birch.name=Birch Sapling
tile.sapling.birch.desc=Plant to grow a birch tree.
tile.sapling.cherry.name=Cherry Sapling
tile.sapling.cherry.desc=Plant to grow a cherry tree.
tile.sapling.eucalyptus.name=Eucalyptus Sapling
tile.sapling.eucalyptus.desc=Plant to grow a eucalyptus tree.
tile.sapling.oak.retro.name=Retro Oak Sapling
tile.sapling.oak.retro.desc=Plant to grow a tree from long ago.
tile.sapling.shrub.name=Shrub Sapling
tile.sapling.shrub.desc=Plant to grow a shrub.
tile.sapling.cacao.name=Cacao Sapling
tile.sapling.cacao.desc=Plant to grow a cacao tree.
tile.sapling.thorn.name=Thorn Sapling
tile.sapling.thorn.desc=Plant to grow a thorn tree.
tile.sapling.palm.name=Palm Sapling
tile.sapling.palm.desc=Plant to grow a palm tree.

tile.tallgrass.name=Tall Grass
tile.tallgrass.desc=Lush, growing grass.
tile.tallgrass.fern.name=Fern
tile.tallgrass.fern.desc=A fern plant.
tile.deadbush.name=Dead Bush
tile.deadbush.desc=A dried and withered plant.
tile.spinifex.name=Spinifex
tile.spinifex.desc=A spindly, thin grass from dry regions.
tile.algae.name=Algae
tile.algae.desc=Gooey vegetation that floats on the water's surface.

tile.flower.yellow.name=Dandelion
tile.flower.yellow.desc=A beautiful yellow flower.
tile.flower.red.name=Rose
tile.flower.red.desc=A beautiful red flower.
tile.flower.purple.name=Heather
tile.flower.purple.desc=Sprigs of purple petals. Brings good luck.
tile.flower.lightblue.name=Bluebell
tile.flower.lightblue.desc=A sad-looking blue flower.
tile.flower.pink.name=Orchid
tile.flower.pink.desc=A beautiful pink flower.
tile.flower.orange.name=Marigold
tile.flower.orange.desc=A beautiful orange flower.

tile.mushroom.red.name=Red Mushroom
tile.mushroom.red.desc=A tasty red mushroom. Good for stew.
tile.mushroom.brown.name=Brown Mushroom
tile.mushroom.brown.desc=A tasty brown mushroom. Good for stew.

tile.ore.coal.stone.name=Stone Coal Ore
tile.ore.coal.stone.desc=A chunk of coal embedded in stone.
tile.ore.coal.basalt.name=Basalt Coal Ore
tile.ore.coal.basalt.desc=A chunk of coal embedded in basalt.
tile.ore.coal.limestone.name=Limestone Coal Ore
tile.ore.coal.limestone.desc=A chunk of coal embedded in limestone.
tile.ore.coal.granite.name=Granite Coal Ore
tile.ore.coal.granite.desc=A chunk of coal embedded in granite.
tile.ore.coal.permafrost.name=Permafrost Coal Ore
tile.ore.coal.permafrost.desc=A chunk of coal embedded in permafrost.

tile.ore.iron.stone.name=Stone Iron Ore
tile.ore.iron.stone.desc=Iron nuggets embedded in stone.
tile.ore.iron.basalt.name=Basalt Iron Ore
tile.ore.iron.basalt.desc=Iron nuggets embedded in basalt.
tile.ore.iron.limestone.name=Limestone Iron Ore
tile.ore.iron.limestone.desc=Iron nuggets embedded in limestone.
tile.ore.iron.granite.name=Granite Iron Ore
tile.ore.iron.granite.desc=Iron nuggets embedded in granite.
tile.ore.iron.permafrost.name=Permafrost Iron Ore
tile.ore.iron.permafrost.desc=Iron nuggets embedded in permafrost.

tile.ore.gold.stone.name=Stone Gold Ore
tile.ore.gold.stone.desc=Gold nuggets embedded in stone.
tile.ore.gold.basalt.name=Basalt Gold Ore
tile.ore.gold.basalt.desc=Gold nuggets embedded in basalt.
tile.ore.gold.limestone.name=Limestone Gold Ore
tile.ore.gold.limestone.desc=Gold nuggets embedded in limestone.
tile.ore.gold.granite.name=Granite Gold Ore
tile.ore.gold.granite.desc=Gold nuggets embedded in granite.
tile.ore.gold.permafrost.name=Permafrost Gold Ore
tile.ore.gold.permafrost.desc=Gold nuggets embedded in permafrost.

tile.ore.lapis.stone.name=Stone Lapis Lazuli Ore
tile.ore.lapis.stone.desc=Chunks of lapis lazuli embedded in stone.
tile.ore.lapis.basalt.name=Basalt Lapis Lazuli Ore
tile.ore.lapis.basalt.desc=Chunks of lapis lazuli embedded in basalt.
tile.ore.lapis.limestone.name=Limestone Lapis Lazuli Ore
tile.ore.lapis.limestone.desc=Chunks of lapis lazuli embedded in limestone.
tile.ore.lapis.granite.name=Granite Lapis Lazuli Ore
tile.ore.lapis.granite.desc=Chunks of lapis lazuli embedded in granite.
tile.ore.lapis.permafrost.name=Permafrost Lapis Lazuli Ore
tile.ore.lapis.permafrost.desc=Chunks of lapis lazuli embedded in permafrost.

tile.ore.redstone.stone.name=Stone Redstone Ore
tile.ore.redstone.stone.desc=Red dust embedded in stone.
tile.ore.redstone.basalt.name=Basalt Redstone Ore
tile.ore.redstone.basalt.desc=Red dust embedded in basalt.
tile.ore.redstone.limestone.name=Limestone Redstone Ore
tile.ore.redstone.limestone.desc=Red dust embedded in limestone.
tile.ore.redstone.granite.name=Granite Redstone Ore
tile.ore.redstone.granite.desc=Red dust embedded in granite.
tile.ore.redstone.permafrost.name=Permafrost Redstone Ore
tile.ore.redstone.permafrost.desc=Red dust embedded in permafrost.
tile.ore.redstone.glowing.stone.name=Glowing Stone Redstone Ore
tile.ore.redstone.glowing.stone.desc=Red dust embedded in stone. Emits a faint light.
tile.ore.redstone.glowing.basalt.name=Glowing Basalt Redstone Ore
tile.ore.redstone.glowing.basalt.desc=Red dust embedded in basalt. Emits a faint light.
tile.ore.redstone.glowing.limestone.name=Glowing Limestone Redstone Ore
tile.ore.redstone.glowing.limestone.desc=Red dust embedded in limestone. Emits a faint light.
tile.ore.redstone.glowing.granite.name=Glowing Granite Redstone Ore
tile.ore.redstone.glowing.granite.desc=Red dust embedded in granite. Emits a faint light.
tile.ore.redstone.glowing.permafrost.name=Glowing Permafrost Redstone Ore
tile.ore.redstone.glowing.permafrost.desc=Red dust embedded in permafrost. Emits a faint light.

tile.ore.diamond.stone.name=Stone Diamond Ore
tile.ore.diamond.stone.desc=A chunk of diamond embedded in stone.
tile.ore.diamond.basalt.name=Basalt Diamond Ore
tile.ore.diamond.basalt.desc=A chunk of diamond embedded in basalt.
tile.ore.diamond.limestone.name=Limestone Diamond Ore
tile.ore.diamond.limestone.desc=A chunk of diamond embedded in limestone.
tile.ore.diamond.granite.name=Granite Diamond Ore
tile.ore.diamond.granite.desc=A chunk of diamond embedded in granite.
tile.ore.diamond.permafrost.name=Permafrost Diamond Ore
tile.ore.diamond.permafrost.desc=A chunk of diamond embedded in permafrost.

tile.ore.nethercoal.netherrack.name=Nether Coal Ore
tile.ore.nethercoal.netherrack.desc=A lump of Nether Coal embedded in netherrack.

tile.block.coal.name=Block of Coal
tile.block.coal.desc=A solid block of coal.
tile.block.iron.name=Block of Iron
tile.block.iron.desc=A solid block of iron. Heavy!
tile.block.gold.name=Block of Gold
tile.block.gold.desc=A solid block of gold, for flaunting your bling.
tile.block.lapis.name=Block of Lapis Lazuli
tile.block.lapis.desc=A solid block of lapis lazuli.
tile.block.redstone.name=Block of Redstone
tile.block.redstone.desc=A solid block of redstone.
tile.block.diamond.name=Block of Diamond
tile.block.diamond.desc=A solid block of diamond. Well done you.
tile.block.nethercoal.name=Block of Nether Coal
tile.block.nethercoal.desc=A solid block of Nether Coal.
tile.block.steel.name=Block of Steel
tile.block.steel.desc=A solid block of steel.
tile.block.quartz.name=Block of Quartz
tile.block.quartz.desc=A solid block of quartz.
tile.block.olivine.name=Block of Olivine
tile.block.olivine.desc=A solid block of olivine.
tile.block.charcoal.name=Block of Charcoal
tile.block.charcoal.desc=A solid block of charcoal.

tile.wire.redstone.name=Redstone Wire
tile.wire.redstone.desc=A strand of redstone dust laid on the ground.

tile.torch.redstone.idle.name=Redstone Torch
tile.torch.redstone.idle.desc=Emits a constant redstone signal.
tile.torch.redstone.active.name=Redstone Torch
tile.torch.redstone.active.desc=Emits a constant redstone signal.

tile.button.stone.name=Button
tile.button.stone.desc=Emits a brief redstone signal when pressed.

tile.lever.cobble.stone.name=Lever
tile.lever.cobble.stone.desc=Allows turning a redstone signal on or off.

tile.pressureplate.stone.name=Stone Pressure Plate
tile.pressureplate.stone.desc=Emits a redstone signal when living creatures step on it.
tile.pressureplate.planks.oak.name=Wooden Pressure Plate
tile.pressureplate.planks.oak.desc=Emits a redstone signal when anything steps on it.
tile.pressureplate.cobble.stone.name=Cobblestone Pressure Plate
tile.pressureplate.cobble.stone.desc=Emits a redstone signal when players step on it.

tile.motionsensor.idle.name=Motion Sensor
tile.motionsensor.idle.desc=Emits a redstone signal when something moves past it.
tile.motionsensor.active.name=Active Motion Sensor
tile.motionsensor.active.desc=Emits a redstone signal when something moves past it.

tile.repeater.idle.name=Redstone Repeater
tile.repeater.idle.desc=Repeats redstone signals over a distance.
tile.repeater.active.name=Redstone Repeater
tile.repeater.active.desc=Repeats redstone signals over a distance.

tile.piston.base.name=Piston
tile.piston.base.desc=Pushes blocks but does not pull them.
tile.piston.base.sticky.name=Sticky Piston
tile.piston.base.sticky.desc=Pushes and pulls blocks.
tile.piston.head.name=Piston Head
tile.piston.head.desc=The pushy part of the piston.
tile.piston.moving.name=Piston Mover
tile.piston.moving.desc=The invisible moving part of the piston.
tile.piston.base.steel.name=Reinforced Piston
tile.piston.base.steel.desc=Pushes blocks and entities with immense force.
tile.piston.head.steel.name=Reinforced Piston Head
tile.piston.head.steel.desc=The pushy part of the steel piston.

tile.noteblock.name=Note Block
tile.noteblock.desc=Plays a musical note when powered.

tile.rail.name=Rail
tile.rail.desc=For rapid horizontal movement via minecart.
tile.rail.powered.name=Powered Rail
tile.rail.powered.desc=Makes minecarts go faster when powered.
tile.rail.detector.name=Detector Rail
tile.rail.detector.desc=Emits a redstone signal when a minecart crosses it.

tile.spikes.name=Spike Trap
tile.spikes.desc=Deactivates when powered. Technically a war crime.

tile.dispenser.cobble.stone.name=Dispenser
tile.dispenser.cobble.stone.desc=Fires items out of the hole in the front.
tile.activator.cobble.netherrack.name=Activator
tile.activator.cobble.netherrack.desc=Uses items for you.

tile.trapdoor.planks.oak.name=Wooden Trapdoor
tile.trapdoor.planks.oak.desc=Like a door, but flat.
tile.trapdoor.iron.name=Iron Trapdoor
tile.trapdoor.iron.desc=Like a door, but flat and made of iron.
tile.trapdoor.glass.name=Glass Trapdoor
tile.trapdoor.glass.desc=Useless at its job.

tile.tnt.name=TNT
tile.tnt.desc=Goes off with a bang.

tile.door.planks.oak.bottom.name=Bottom Wooden Door
tile.door.planks.oak.bottom.desc=/give Honeydew 64 46
tile.door.planks.oak.top.name=Top Wooden Door
tile.door.planks.oak.top.desc=Oh, wait, that's not TNT, that's half a door.
tile.door.iron.bottom.name=Bottom Iron Door
tile.door.iron.bottom.desc=Not much good on its own.
tile.door.iron.top.name=Top Iron Door
tile.door.iron.top.desc=Could use a friend.

tile.mesh.name=Mesh Block
tile.mesh.desc=Allows items to pass through but nothing else.
tile.mesh.gold.name=Gold Mesh Block
tile.mesh.gold.desc=Allows a specified item to pass through but nothing else.

tile.bed.name=Bed
tile.bed.desc=Bed!
tile.seat.name=Seat
tile.seat.desc=Sit down and relax.

tile.cobweb.name=Cobweb
tile.cobweb.desc=Sticky silky strands woven by spiders.

tile.fire.name=Fire
tile.fire.desc=Ouch, fire hot!
tile.brazier.inactive.name=Brazier
tile.brazier.inactive.desc=A safe place to keep a fire.
tile.brazier.active.name=Lit Brazier
tile.brazier.active.desc=A safe place to keep a fire.

tile.mobspawner.name=Mob Spawner
tile.mobspawner.desc=A cage filled with horror.
tile.mobspawner.deactivated.name=Deactivated Mob Spawner
tile.mobspawner.deactivated.desc=A cage no longer filled with horror.

tile.workbench.name=Workbench
tile.workbench.desc=For bigger projects.

tile.furnace.stone.idle.name=Furnace
tile.furnace.stone.idle.desc=For melting, heating, and cooking blocks and items.
tile.furnace.stone.active.name=Lit Furnace
tile.furnace.stone.active.desc=For melting, heating, and cooking blocks and items.
tile.furnace.blast.idle.name=Blast Furnace
tile.furnace.blast.idle.desc=Burns hotter than a normal furnace.
tile.furnace.blast.active.name=Lit Blast Furnace
tile.furnace.blast.active.desc=Burns hotter than a normal furnace.

tile.trommel.idle.name=Trommel
tile.trommel.idle.desc=A machine that separates dirt from other useful items.
tile.trommel.active.name=Lit Trommel
tile.trommel.active.desc=A machine that separates dirt from other useful items.

tile.chest.planks.oak.name=Wooden Chest
tile.chest.planks.oak.desc=A place to store your items.
tile.chest.planks.oak.painted.name=Mystery Wooden Chest
tile.chest.planks.oak.painted.desc=How did you get this?!
tile.chest.planks.oak.painted.black.name=Black Wooden Chest
tile.chest.planks.oak.painted.black.desc=A place to store your items.
tile.chest.planks.oak.painted.red.name=Red Wooden Chest
tile.chest.planks.oak.painted.red.desc=A place to store your items.
tile.chest.planks.oak.painted.green.name=Green Wooden Chest
tile.chest.planks.oak.painted.green.desc=A place to store your items.
tile.chest.planks.oak.painted.brown.name=Brown Wooden Chest
tile.chest.planks.oak.painted.brown.desc=A place to store your items.
tile.chest.planks.oak.painted.blue.name=Blue Wooden Chest
tile.chest.planks.oak.painted.blue.desc=A place to store your items.
tile.chest.planks.oak.painted.purple.name=Purple Wooden Chest
tile.chest.planks.oak.painted.purple.desc=A place to store your items.
tile.chest.planks.oak.painted.cyan.name=Cyan Wooden Chest
tile.chest.planks.oak.painted.cyan.desc=A place to store your items.
tile.chest.planks.oak.painted.silver.name=Light Gray Wooden Chest
tile.chest.planks.oak.painted.silver.desc=A place to store your items.
tile.chest.planks.oak.painted.gray.name=Gray Wooden Chest
tile.chest.planks.oak.painted.gray.desc=A place to store your items.
tile.chest.planks.oak.painted.pink.name=Pink Wooden Chest
tile.chest.planks.oak.painted.pink.desc=A place to store your items.
tile.chest.planks.oak.painted.lime.name=Lime Wooden Chest
tile.chest.planks.oak.painted.lime.desc=A place to store your items.
tile.chest.planks.oak.painted.yellow.name=Yellow Wooden Chest
tile.chest.planks.oak.painted.yellow.desc=A place to store your items.
tile.chest.planks.oak.painted.lightblue.name=Light Blue Wooden Chest
tile.chest.planks.oak.painted.lightblue.desc=A place to store your items.
tile.chest.planks.oak.painted.magenta.name=Magenta Wooden Chest
tile.chest.planks.oak.painted.magenta.desc=A place to store your items.
tile.chest.planks.oak.painted.orange.name=Orange Wooden Chest
tile.chest.planks.oak.painted.orange.desc=A place to store your items.
tile.chest.planks.oak.painted.white.name=White Wooden Chest
tile.chest.planks.oak.painted.white.desc=A place to store your items.
tile.chest.legacy.name=Legacy Chest

tile.crops.wheat.name=Wheat Crops
tile.crops.wheat.desc=Wheat, plucked from the ground.
tile.crops.pumpkin.name=Pumpkin Crops
tile.crops.pumpkin.desc=A ripening pumpkin, plucked from the ground.

tile.farmland.dirt.name=Farmland
tile.farmland.dirt.desc=Tilled soil for growing crops.

tile.sign.post.planks.oak.name=Oak Signpost
tile.sign.post.planks.oak.desc=A free-standing oak sign.
tile.sign.wall.planks.oak.name=Oak Wall Sign
tile.sign.wall.planks.oak.desc=An oak sign placed on a wall.

tile.layer.snow.name=Snow Layer
tile.layer.snow.desc=A flat layer of snow.
tile.layer.leaves.oak.name=Leaf Pile
tile.layer.leaves.oak.desc=A pile of leaves.
tile.layer.slate.name=Slate Layer
tile.layer.slate.desc=A flat sheet of slate.

tile.ice.name=Ice
tile.ice.desc=Slippery frozen water.
tile.ice.perma.name=Perma-Ice
tile.ice.perma.desc=Ice imbued with the essence of stone.

tile.block.snow.name=Block of Snow
tile.block.snow.desc=Lots of snow compacted into a block.

tile.cactus.name=Cactus
tile.cactus.desc=A spiky plant that grows in the desert.

tile.block.clay.name=Block of Clay
tile.block.clay.desc=A block of compacted clay.

tile.sugarcane.name=Sugarcane
tile.sugarcane.desc=Not as sweet as you.

tile.block.sugarcane.name=Block of Sugarcane
tile.block.sugarcane.desc=One very big sugar cube.
tile.block.sugarcane.baked.name=Baked Block of Sugarcane
tile.block.sugarcane.baked.desc=Smells absolutely delicious.

tile.jukebox.name=Jukebox
tile.jukebox.desc=Plays your favourite tunes, assuming you have the right record.

tile.pumpkin.name=Pumpkin
tile.pumpkin.desc=An orange squash that grows in the wild.
tile.pumpkin.carved.idle.name=Carved Pumpkin
tile.pumpkin.carved.idle.desc=An orange squash with a spooky face.
tile.pumpkin.carved.active.name=Jack 'o' Lantern
tile.pumpkin.carved.active.desc=An orange squash with a spooky face, lit by a torch.
tile.pumpkin.redstone.name=Redstone Jack 'o' Lantern
tile.pumpkin.redstone.desc=An orange squash with a spooky face, lit by a redstone torch.

tile.cobble.netherrack.name=Cobbled Netherrack
tile.cobble.netherrack.desc=Dark red rock that burns forever.
tile.cobble.netherrack.igneous.name=Igneous Cobbled Netherrack
tile.cobble.netherrack.igneous.desc=Extreme heat has made this rock glow from inside.
tile.cobble.netherrack.mossy.name=Mossy Cobbled Netherrack
tile.cobble.netherrack.mossy.desc=Cobbled netherrack, covered in something like moss.
tile.netherrack.name=Netherrack
tile.netherrack.desc=Dark red rock, smoothed by heat and time.
tile.brick.netherrack.name=Netherrack Bricks
tile.brick.netherrack.desc=Stacked bricks of netherrack.
tile.slab.netherrack.carved.name=Polished Netherrack Slab
tile.slab.netherrack.carved.desc=A slab of polished netherrack.
tile.slab.cobble.netherrack.name=Cobbled Netherrack Slab
tile.slab.cobble.netherrack.desc=A slab of cobbled netherrack.
tile.slab.brick.netherrack.name=Netherrack Brick Slab
tile.slab.brick.netherrack.desc=A slab of netherrack bricks.
tile.stairs.cobble.netherrack.name=Cobbled Netherrack Stairs
tile.stairs.cobble.netherrack.desc=Cobbled netherrack block used for rapid vertical movement.
tile.stairs.brick.netherrack.name=Netherrack Brick Stairs
tile.stairs.brick.netherrack.desc=Netherrack brick block used for rapid vertical movement.

tile.soulsand.name=Soul Sand
tile.soulsand.desc=Squishy brown sand that's tough to walk through.
tile.soulschist.name=Soul Schist
tile.soulschist.desc=A hideous medley of ancient bones, fused through heat, pressure, and time.

tile.glowstone.name=Block of Glowstone
tile.glowstone.desc=Constantly emits a strong yellowish light.

tile.portal.nether.name=Nether Portal
tile.portal.nether.desc=A portal to the Nether.
tile.portal.paradise.name=Paradise Portal
tile.portal.paradise.desc=A portal to Paradise.

tile.cake.name=Cake
tile.cake.desc=I just can't cake it any more.
tile.pumpkin_pie.name=Pumpkin Pie
tile.pumpkin_pie.desc=I don't wanna pie!

tile.lamp.idle.name=Lamp
tile.lamp.idle.desc=How did you get this?!
tile.lamp.idle.black.name=Black Lamp
tile.lamp.idle.black.desc=A redstone lamp that can emit light. Tinted black.
tile.lamp.idle.red.name=Red Lamp
tile.lamp.idle.red.desc=A redstone lamp that can emit light. Tinted red.
tile.lamp.idle.green.name=Green Lamp
tile.lamp.idle.green.desc=A redstone lamp that can emit light. Tinted green.
tile.lamp.idle.brown.name=Brown Lamp
tile.lamp.idle.brown.desc=A redstone lamp that can emit light. Tinted brown.
tile.lamp.idle.blue.name=Blue Lamp
tile.lamp.idle.blue.desc=A redstone lamp that can emit light. Tinted blue.
tile.lamp.idle.purple.name=Purple Lamp
tile.lamp.idle.purple.desc=A redstone lamp that can emit light. Tinted purple.
tile.lamp.idle.cyan.name=Cyan Lamp
tile.lamp.idle.cyan.desc=A redstone lamp that can emit light. Tinted cyan.
tile.lamp.idle.silver.name=Light Gray Lamp
tile.lamp.idle.silver.desc=A redstone lamp that can emit light. Tinted light gray.
tile.lamp.idle.gray.name=Gray Lamp
tile.lamp.idle.gray.desc=A redstone lamp that can emit light. Tinted gray.
tile.lamp.idle.pink.name=Pink Lamp
tile.lamp.idle.pink.desc=A redstone lamp that can emit light. Tinted pink.
tile.lamp.idle.lime.name=Lime Lamp
tile.lamp.idle.lime.desc=A redstone lamp that can emit light. Tinted lime.
tile.lamp.idle.yellow.name=Yellow Lamp
tile.lamp.idle.yellow.desc=A redstone lamp that can emit light. Tinted yellow.
tile.lamp.idle.lightblue.name=Light Blue Lamp
tile.lamp.idle.lightblue.desc=A redstone lamp that can emit light. Tinted light blue.
tile.lamp.idle.magenta.name=Magenta Lamp
tile.lamp.idle.magenta.desc=A redstone lamp that can emit light. Tinted magenta.
tile.lamp.idle.orange.name=Orange Lamp
tile.lamp.idle.orange.desc=A redstone lamp that can emit light. Tinted orange.
tile.lamp.idle.white.name=White Lamp
tile.lamp.idle.white.desc=A redstone lamp that can emit light.

tile.lamp.active.name=Lit Lamp
tile.lamp.active.desc=How did you get this?!
tile.lamp.active.black.name=Lit Black Lamp
tile.lamp.active.black.desc=A redstone lamp that emits light. Tinted black.
tile.lamp.active.red.name=Lit Red Lamp
tile.lamp.active.red.desc=A redstone lamp that emits light. Tinted red.
tile.lamp.active.green.name=Lit Green Lamp
tile.lamp.active.green.desc=A redstone lamp that emits light. Tinted green.
tile.lamp.active.brown.name=Lit Brown Lamp
tile.lamp.active.brown.desc=A redstone lamp that emits light. Tinted brown.
tile.lamp.active.blue.name=Lit Blue Lamp
tile.lamp.active.blue.desc=A redstone lamp that emits light. Tinted blue.
tile.lamp.active.purple.name=Lit Purple Lamp
tile.lamp.active.purple.desc=A redstone lamp that emits light. Tinted purple.
tile.lamp.active.cyan.name=Lit Cyan Lamp
tile.lamp.active.cyan.desc=A redstone lamp that emits light. Tinted cyan.
tile.lamp.active.silver.name=Lit Light Gray Lamp
tile.lamp.active.silver.desc=A redstone lamp that emits light. Tinted light gray.
tile.lamp.active.gray.name=Lit Gray Lamp
tile.lamp.active.gray.desc=A redstone lamp that emits light. Tinted gray.
tile.lamp.active.pink.name=Lit Pink Lamp
tile.lamp.active.pink.desc=A redstone lamp that emits light. Tinted pink.
tile.lamp.active.lime.name=Lit Lime Lamp
tile.lamp.active.lime.desc=A redstone lamp that emits light. Tinted lime.
tile.lamp.active.yellow.name=Lit Yellow Lamp
tile.lamp.active.yellow.desc=A redstone lamp that emits light. Tinted yellow.
tile.lamp.active.lightblue.name=Lit Light Blue Lamp
tile.lamp.active.lightblue.desc=A redstone lamp that emits light. Tinted light blue.
tile.lamp.active.magenta.name=Lit Magenta Lamp
tile.lamp.active.magenta.desc=A redstone lamp that emits light. Tinted magenta.
tile.lamp.active.orange.name=Lit Orange Lamp
tile.lamp.active.orange.desc=A redstone lamp that emits light. Tinted orange.
tile.lamp.active.white.name=Lit White Lamp
tile.lamp.active.white.desc=A redstone lamp that emits light.

tile.lamp.inverted.idle.name=Unlit Inverted Lamp
tile.lamp.inverted.idle.desc=How did you get this?!
tile.lamp.inverted.idle.black.name=Unlit Inverted Black Lamp
tile.lamp.inverted.idle.black.desc=A redstone lamp that can emit light. Tinted black.
tile.lamp.inverted.idle.red.name=Unlit Inverted Red Lamp
tile.lamp.inverted.idle.red.desc=A redstone lamp that can emit light. Tinted red.
tile.lamp.inverted.idle.green.name=Unlit Inverted Green Lamp
tile.lamp.inverted.idle.green.desc=A redstone lamp that can emit light. Tinted green.
tile.lamp.inverted.idle.brown.name=Unlit Inverted Brown Lamp
tile.lamp.inverted.idle.brown.desc=A redstone lamp that can emit light. Tinted brown.
tile.lamp.inverted.idle.blue.name=Unlit Inverted Blue Lamp
tile.lamp.inverted.idle.blue.desc=A redstone lamp that can emit light. Tinted blue.
tile.lamp.inverted.idle.purple.name=Unlit Inverted Purple Lamp
tile.lamp.inverted.idle.purple.desc=A redstone lamp that can emit light. Tinted purple.
tile.lamp.inverted.idle.cyan.name=Unlit Inverted Cyan Lamp
tile.lamp.inverted.idle.cyan.desc=A redstone lamp that can emit light. Tinted cyan.
tile.lamp.inverted.idle.silver.name=Unlit Inverted Light Gray Lamp
tile.lamp.inverted.idle.silver.desc=A redstone lamp that can emit light. Tinted light gray.
tile.lamp.inverted.idle.gray.name=Unlit Inverted Gray Lamp
tile.lamp.inverted.idle.gray.desc=A redstone lamp that can emit light. Tinted gray.
tile.lamp.inverted.idle.pink.name=Unlit Inverted Pink Lamp
tile.lamp.inverted.idle.pink.desc=A redstone lamp that can emit light. Tinted pink.
tile.lamp.inverted.idle.lime.name=Unlit Inverted Lime Lamp
tile.lamp.inverted.idle.lime.desc=A redstone lamp that can emit light. Tinted lime.
tile.lamp.inverted.idle.yellow.name=Unlit Inverted Yellow Lamp
tile.lamp.inverted.idle.yellow.desc=A redstone lamp that can emit light. Tinted yellow.
tile.lamp.inverted.idle.lightblue.name=Unlit Inverted Light Blue Lamp
tile.lamp.inverted.idle.lightblue.desc=A redstone lamp that can emit light. Tinted light blue.
tile.lamp.inverted.idle.magenta.name=Unlit Inverted Magenta Lamp
tile.lamp.inverted.idle.magenta.desc=A redstone lamp that can emit light. Tinted magenta.
tile.lamp.inverted.idle.orange.name=Unlit Inverted Orange Lamp
tile.lamp.inverted.idle.orange.desc=A redstone lamp that can emit light. Tinted orange.
tile.lamp.inverted.idle.white.name=Unlit Inverted White Lamp
tile.lamp.inverted.idle.white.desc=A redstone lamp that can emit light.

tile.lamp.inverted.active.name=Inverted Lamp
tile.lamp.inverted.active.desc=How did you get this?!
tile.lamp.inverted.active.black.name=Inverted Black Lamp
tile.lamp.inverted.active.black.desc=A redstone lamp that emits light. Tinted black.
tile.lamp.inverted.active.red.name=Inverted Red Lamp
tile.lamp.inverted.active.red.desc=A redstone lamp that emits light. Tinted red.
tile.lamp.inverted.active.green.name=Inverted Green Lamp
tile.lamp.inverted.active.green.desc=A redstone lamp that emits light. Tinted green.
tile.lamp.inverted.active.brown.name=Inverted Brown Lamp
tile.lamp.inverted.active.brown.desc=A redstone lamp that emits light. Tinted brown.
tile.lamp.inverted.active.blue.name=Inverted Blue Lamp
tile.lamp.inverted.active.blue.desc=A redstone lamp that emits light. Tinted blue.
tile.lamp.inverted.active.purple.name=Inverted Purple Lamp
tile.lamp.inverted.active.purple.desc=A redstone lamp that emits light. Tinted purple.
tile.lamp.inverted.active.cyan.name=Inverted Cyan Lamp
tile.lamp.inverted.active.cyan.desc=A redstone lamp that emits light. Tinted cyan.
tile.lamp.inverted.active.silver.name=Inverted Light Gray Lamp
tile.lamp.inverted.active.silver.desc=A redstone lamp that emits light. Tinted light gray.
tile.lamp.inverted.active.gray.name=Inverted Gray Lamp
tile.lamp.inverted.active.gray.desc=A redstone lamp that emits light. Tinted gray.
tile.lamp.inverted.active.pink.name=Inverted Pink Lamp
tile.lamp.inverted.active.pink.desc=A redstone lamp that emits light. Tinted pink.
tile.lamp.inverted.active.lime.name=Inverted Lime Lamp
tile.lamp.inverted.active.lime.desc=A redstone lamp that emits light. Tinted lime.
tile.lamp.inverted.active.yellow.name=Inverted Yellow Lamp
tile.lamp.inverted.active.yellow.desc=A redstone lamp that emits light. Tinted yellow.
tile.lamp.inverted.active.lightblue.name=Inverted Light Blue Lamp
tile.lamp.inverted.active.lightblue.desc=A redstone lamp that emits light. Tinted light blue.
tile.lamp.inverted.active.magenta.name=Inverted Magenta Lamp
tile.lamp.inverted.active.magenta.desc=A redstone lamp that emits light. Tinted magenta.
tile.lamp.inverted.active.orange.name=Inverted Orange Lamp
tile.lamp.inverted.active.orange.desc=A redstone lamp that emits light. Tinted orange.
tile.lamp.inverted.active.white.name=Inverted White Lamp
tile.lamp.inverted.active.white.desc=A redstone lamp that emits light.

tile.stone.polished.name=Polished Stone
tile.stone.polished.desc=A polished block of stone.
tile.granite.polished.name=Polished Granite
tile.granite.polished.desc=A polished block of granite.
tile.limestone.polished.name=Polished Limestone
tile.limestone.polished.desc=A polished block of limestone.
tile.basalt.polished.name=Polished Basalt
tile.basalt.polished.desc=A polished block of basalt.
tile.slate.polished.name=Polished Slate
tile.slate.polished.desc=A polished block of slate.
tile.permafrost.polished.name=Polished Permafrost
tile.permafrost.polished.desc=A polished block of permafrost.
tile.netherrack.polished.name=Polished Netherrack
tile.netherrack.polished.desc=A polished block of netherrack.

tile.candle.wax.soul.name=Soul Wax Candle
tile.candle.wax.soul.desc=A waxy brown candle that glows with an unnatural light.

tile.basket.name=Basket
tile.basket.desc=A wicker container for holding items.

tile.overlay.pebbles.name=Pebbles
tile.overlay.pebbles.desc=A cluster of pebbles.

tile.fence.chainlink.name=Chainlink Fence
tile.fence.chainlink.desc=A fence made of interconnected chain links. Can be climbed!
tile.fence.paper_wall.name=Paper Wall Fence
tile.fence.paper_wall.desc=A fence made of delicate paper. Be careful!
tile.fence.steel.name=Steel Fence
tile.fence.steel.desc=A fence made of tough steel. Intimidating!

tile.lantern.firefly.green.name=Green Firefly Lantern
tile.lantern.firefly.green.desc=A glass jar containing a swarm of green fireflies.
tile.lantern.firefly.orange.name=Orange Firefly Lantern
tile.lantern.firefly.orange.desc=A glass jar containing a swarm of orange fireflies.
tile.lantern.firefly.blue.name=Blue Firefly Lantern
tile.lantern.firefly.blue.desc=A glass jar containing a swarm of blue fireflies.
tile.lantern.firefly.red.name=Red Firefly Lantern
tile.lantern.firefly.red.desc=A glass jar containing a swarm of red fireflies.

tile.flag.name=Flag
tile.flag.desc=A flag to mark your territory.

tile.paper_wall.name=Paper Wall
tile.paper_wall.desc=A wall made of delicate paper. Be careful!

tile.trapdoor.planks.oak.painted.name=Painted Trapdoor
tile.trapdoor.planks.oak.painted.desc=How did you get this?!
tile.trapdoor.planks.oak.painted.black.name=Black Wooden Trapdoor
tile.trapdoor.planks.oak.painted.black.desc=Like a door, but flat and painted black.
tile.trapdoor.planks.oak.painted.red.name=Red Wooden Trapdoor
tile.trapdoor.planks.oak.painted.red.desc=Like a door, but flat and painted red.
tile.trapdoor.planks.oak.painted.green.name=Green Wooden Trapdoor
tile.trapdoor.planks.oak.painted.green.desc=Like a door, but flat and painted green.
tile.trapdoor.planks.oak.painted.brown.name=Brown Wooden Trapdoor
tile.trapdoor.planks.oak.painted.brown.desc=Like a door, but flat and painted brown.
tile.trapdoor.planks.oak.painted.blue.name=Blue Wooden Trapdoor
tile.trapdoor.planks.oak.painted.blue.desc=Like a door, but flat and painted blue.
tile.trapdoor.planks.oak.painted.purple.name=Purple Wooden Trapdoor
tile.trapdoor.planks.oak.painted.purple.desc=Like a door, but flat and painted purple.
tile.trapdoor.planks.oak.painted.cyan.name=Cyan Wooden Trapdoor
tile.trapdoor.planks.oak.painted.cyan.desc=Like a door, but flat and painted cyan.
tile.trapdoor.planks.oak.painted.silver.name=Light Gray Wooden Trapdoor
tile.trapdoor.planks.oak.painted.silver.desc=Like a door, but flat and painted light gray.
tile.trapdoor.planks.oak.painted.gray.name=Gray Wooden Trapdoor
tile.trapdoor.planks.oak.painted.gray.desc=Like a door, but flat and painted gray.
tile.trapdoor.planks.oak.painted.pink.name=Pink Wooden Trapdoor
tile.trapdoor.planks.oak.painted.pink.desc=Like a door, but flat and painted pink.
tile.trapdoor.planks.oak.painted.lime.name=Lime Wooden Trapdoor
tile.trapdoor.planks.oak.painted.lime.desc=Like a door, but flat and painted lime.
tile.trapdoor.planks.oak.painted.yellow.name=Yellow Wooden Trapdoor
tile.trapdoor.planks.oak.painted.yellow.desc=Like a door, but flat and painted yellow.
tile.trapdoor.planks.oak.painted.lightblue.name=Light Blue Wooden Trapdoor
tile.trapdoor.planks.oak.painted.lightblue.desc=Like a door, but flat and painted light blue.
tile.trapdoor.planks.oak.painted.magenta.name=Magenta Wooden Trapdoor
tile.trapdoor.planks.oak.painted.magenta.desc=Like a door, but flat and painted magenta.
tile.trapdoor.planks.oak.painted.orange.name=Orange Wooden Trapdoor
tile.trapdoor.planks.oak.painted.orange.desc=Like a door, but flat and painted orange.
tile.trapdoor.planks.oak.painted.white.name=White Wooden Trapdoor
tile.trapdoor.planks.oak.painted.white.desc=Like a door, but flat and painted white.

tile.door.planks.oak.painted.bottom.name=Bottom Painted Wooden Door
tile.door.planks.oak.painted.bottom.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.black.name=Black Bottom Wooden Door
tile.door.planks.oak.painted.bottom.black.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.red.name=Red Bottom Wooden Door
tile.door.planks.oak.painted.bottom.red.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.green.name=Green Bottom Wooden Door
tile.door.planks.oak.painted.bottom.green.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.brown.name=Brown Bottom Wooden Door
tile.door.planks.oak.painted.bottom.brown.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.blue.name=Blue Bottom Wooden Door
tile.door.planks.oak.painted.bottom.blue.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.purple.name=Purple Bottom Wooden Door
tile.door.planks.oak.painted.bottom.purple.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.cyan.name=Cyan Bottom Wooden Door
tile.door.planks.oak.painted.bottom.cyan.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.silver.name=Light Gray Bottom Wooden Door
tile.door.planks.oak.painted.bottom.silver.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.gray.name=Gray Bottom Wooden Door
tile.door.planks.oak.painted.bottom.gray.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.pink.name=Pink Bottom Wooden Door
tile.door.planks.oak.painted.bottom.pink.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.lime.name=Lime Bottom Wooden Door
tile.door.planks.oak.painted.bottom.lime.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.yellow.name=Yellow Bottom Wooden Door
tile.door.planks.oak.painted.bottom.yellow.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.lightblue.name=Light Blue Bottom Wooden Door
tile.door.planks.oak.painted.bottom.lightblue.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.magenta.name=Magenta Bottom Wooden Door
tile.door.planks.oak.painted.bottom.magenta.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.orange.name=Orange Bottom Wooden Door
tile.door.planks.oak.painted.bottom.orange.desc=How did you get this?!
tile.door.planks.oak.painted.bottom.white.name=White Bottom Wooden Door
tile.door.planks.oak.painted.bottom.white.desc=How did you get this?!

tile.door.planks.oak.painted.top.name=Top Painted Wooden Door
tile.door.planks.oak.painted.top.desc=How did you get this?!
tile.door.planks.oak.painted.top.black.name=Black Top Wooden Door
tile.door.planks.oak.painted.top.black.desc=How did you get this?!
tile.door.planks.oak.painted.top.red.name=Red Top Wooden Door
tile.door.planks.oak.painted.top.red.desc=How did you get this?!
tile.door.planks.oak.painted.top.green.name=Green Top Wooden Door
tile.door.planks.oak.painted.top.green.desc=How did you get this?!
tile.door.planks.oak.painted.top.brown.name=Brown Top Wooden Door
tile.door.planks.oak.painted.top.brown.desc=How did you get this?!
tile.door.planks.oak.painted.top.blue.name=Blue Top Wooden Door
tile.door.planks.oak.painted.top.blue.desc=How did you get this?!
tile.door.planks.oak.painted.top.purple.name=Purple Top Wooden Door
tile.door.planks.oak.painted.top.purple.desc=How did you get this?!
tile.door.planks.oak.painted.top.cyan.name=Cyan Top Wooden Door
tile.door.planks.oak.painted.top.cyan.desc=How did you get this?!
tile.door.planks.oak.painted.top.silver.name=Light Gray Top Wooden Door
tile.door.planks.oak.painted.top.silver.desc=How did you get this?!
tile.door.planks.oak.painted.top.gray.name=Gray Top Wooden Door
tile.door.planks.oak.painted.top.gray.desc=How did you get this?!
tile.door.planks.oak.painted.top.pink.name=Pink Top Wooden Door
tile.door.planks.oak.painted.top.pink.desc=How did you get this?!
tile.door.planks.oak.painted.top.lime.name=Lime Top Wooden Door
tile.door.planks.oak.painted.top.lime.desc=How did you get this?!
tile.door.planks.oak.painted.top.yellow.name=Yellow Top Wooden Door
tile.door.planks.oak.painted.top.yellow.desc=How did you get this?!
tile.door.planks.oak.painted.top.lightblue.name=Light Blue Top Wooden Door
tile.door.planks.oak.painted.top.lightblue.desc=How did you get this?!
tile.door.planks.oak.painted.top.magenta.name=Magenta Top Wooden Door
tile.door.planks.oak.painted.top.magenta.desc=How did you get this?!
tile.door.planks.oak.painted.top.orange.name=Orange Top Wooden Door
tile.door.planks.oak.painted.top.orange.desc=How did you get this?!
tile.door.planks.oak.painted.top.white.name=White Top Wooden Door
tile.door.planks.oak.painted.top.white.desc=How did you get this?!

tile.door.glass.top.name=Top Glass Door
tile.door.glass.top.desc=You shouldn't be seeing this.
tile.door.glass.bottom.name=Bottom Glass Door
tile.door.glass.bottom.desc=And that's not just because it's glass.

tile.door.steel.top.name=Top Steel Door
tile.door.steel.top.desc=Don't take this without asking.
tile.door.steel.bottom.name=Bottom Steel Door
tile.door.steel.bottom.desc=Steeler, no steeling!

tile.trapdoor.steel.name=Steel Trapdoor
tile.trapdoor.steel.desc=Like a door, but flat and made of durable steel.

tile.glass.steel.name=Reinforced Glass
tile.glass.steel.desc=Like glass, but without the fragility.

tile.rope.name=Rope
tile.rope.desc=Rope, rope, rope your boat.
\ No newline at end of file
diff --git a/game/server/src/main/java/net/minecraft/server/entity/player/PlayerServer.java b/game/server/src/main/java/net/minecraft/server/entity/player/PlayerServer.java
index cac8ecec3..0bab05841 100644
--- a/game/server/src/main/java/net/minecraft/server/entity/player/PlayerServer.java
+++ b/game/server/src/main/java/net/minecraft/server/entity/player/PlayerServer.java
@@ -526,7 +526,7 @@ public class PlayerServer extends Player implements ContainerListener {
     {
         getNextWindowId();
         PacketHandlerServer.LOGGER.info("{} interacted with chest at ({}, {}, {})", username, x, y, z);
-        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_GENERIC_CONTAINER, container.getName(), container.getContainerSize()));
+        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_GENERIC_CONTAINER, container.getNameTranslationKey(), container.getContainerSize()));
         craftingInventory.onCraftGuiClosed(this);
         craftingInventory = new MenuContainer(inventory, container);
         craftingInventory.containerId = currentWindowId;
@@ -539,11 +539,11 @@ public class PlayerServer extends Player implements ContainerListener {
         getNextWindowId();
         if (blockEntity instanceof TileEntityFurnaceBlast)
         {
-            playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_BLAST_FURNACE, blockEntity.getName(), blockEntity.getContainerSize()));
+            playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_BLAST_FURNACE, blockEntity.getNameTranslationKey(), blockEntity.getContainerSize()));
         }
         else
         {
-            playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_FURNACE, blockEntity.getName(), blockEntity.getContainerSize()));
+            playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_FURNACE, blockEntity.getNameTranslationKey(), blockEntity.getContainerSize()));
         }
         craftingInventory.onCraftGuiClosed(this);
         craftingInventory = new MenuFurnace(inventory, blockEntity);
@@ -555,7 +555,7 @@ public class PlayerServer extends Player implements ContainerListener {
 	public void displayDispenserScreen(TileEntityDispenser blockEntity)
     {
         getNextWindowId();
-        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_DISPENSER, blockEntity.getName(), blockEntity.getContainerSize()));
+        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_DISPENSER, blockEntity.getNameTranslationKey(), blockEntity.getContainerSize()));
         craftingInventory.onCraftGuiClosed(this);
         craftingInventory = new MenuTrap(inventory, blockEntity);
         craftingInventory.containerId = currentWindowId;
@@ -566,7 +566,7 @@ public class PlayerServer extends Player implements ContainerListener {
     public void displayActivatorScreen(TileEntityActivator blockEntity)
     {
         getNextWindowId();
-        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_ACTIVATOR, blockEntity.getName(), blockEntity.getContainerSize()));
+        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_ACTIVATOR, blockEntity.getNameTranslationKey(), blockEntity.getContainerSize()));
         craftingInventory.onCraftGuiClosed(this);
         craftingInventory = new MenuActivator(inventory, blockEntity);
         craftingInventory.containerId = currentWindowId;
@@ -578,7 +578,7 @@ public class PlayerServer extends Player implements ContainerListener {
 	public void displayTrommelScreen(TileEntityTrommel blockEntity)
     {
         getNextWindowId();
-        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_TROMMEL, blockEntity.getName(), blockEntity.getContainerSize()));
+        playerNetServerHandler.sendPacket(new PacketContainerOpen(currentWindowId, PacketContainerOpen.TYPE_TROMMEL, blockEntity.getNameTranslationKey(), blockEntity.getContainerSize()));
         craftingInventory.onCraftGuiClosed(this);
         craftingInventory = new MenuTrommel(inventory, blockEntity);
         craftingInventory.containerId = currentWindowId;
diff --git a/util/datagen/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java b/util/datagen/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
index 1e603783a..6f2b8a8c5 100644
--- a/util/datagen/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
+++ b/util/datagen/src/main/java/net/minecraft/datagen/WorkbenchGenerator.java
@@ -1216,6 +1216,20 @@ class WorkbenchGenerator {
                 .create(color.colorID + "_lamp_convert", new ItemStack(Blocks.LAMP_IDLE, 1, color.blockMeta));
         }
 
+        for (DyeColor color : DyeColor.values()) {
+            RecipeBuilder.Shapeless(CORE_NAMESPACE)
+                .addInput(Blocks.LAMP_IDLE, color.blockMeta)
+                .addInput(Blocks.TORCH_REDSTONE_ACTIVE)
+                .create(color.colorID + "_lamp_invert", new ItemStack(Blocks.LAMP_INVERTED_ACTIVE, 1, color.blockMeta));
+        }
+
+        for (DyeColor color : DyeColor.values()) {
+            RecipeBuilder.Shapeless(CORE_NAMESPACE)
+                .addInput("minecraft:lamps_inverted")
+                .addInput(new ItemStack(Items.DYE, 1, color.itemMeta))
+                .create(color.colorID + "_lamp_inverted_convert", new ItemStack(Blocks.LAMP_INVERTED_ACTIVE, 1, color.blockMeta));
+        }
+
         RecipeBuilder.Shaped(CORE_NAMESPACE)
             .setShape(
                 "X",
