/* * Copyright (C) 2014 eccentric_nz * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package me.eccentric_nz.TARDIS.rooms; import java.util.HashMap; import java.util.LinkedHashMap; import me.eccentric_nz.TARDIS.TARDIS; import org.bukkit.Material; /** * A TARDIS isn't just a vehicle for travelling in space and time. As a TARDIS * has no real constraints on the amount of space it can use, most TARDISes * contain extensive areas which can be used as living quarters or storage * space. * * @author eccentric_nz */ public class TARDISWalls { public HashMap<String, Pair> blocks; public TARDISWalls() { blocks = new LinkedHashMap<String, Pair>(); blocks.put("STONE", new Pair(Material.STONE, (byte) 0)); blocks.put("COBBLESTONE", new Pair(Material.COBBLESTONE, (byte) 0)); blocks.put("MOSSY_COBBLESTONE", new Pair(Material.MOSSY_COBBLESTONE, (byte) 0)); blocks.put("ENDER_STONE", new Pair(Material.ENDER_STONE, (byte) 0)); blocks.put("DIRT", new Pair(Material.DIRT, (byte) 0)); blocks.put("COARSE_DIRT", new Pair(Material.DIRT, (byte) 1)); blocks.put("PODZOL", new Pair(Material.DIRT, (byte) 2)); blocks.put("OAK_WOOD", new Pair(Material.WOOD, (byte) 0)); blocks.put("PINE_WOOD", new Pair(Material.WOOD, (byte) 1)); blocks.put("SPRUCE_WOOD", new Pair(Material.WOOD, (byte) 1)); blocks.put("BIRCH_WOOD", new Pair(Material.WOOD, (byte) 2)); blocks.put("JUNGLE_WOOD", new Pair(Material.WOOD, (byte) 3)); blocks.put("ACACIA_WOOD", new Pair(Material.WOOD, (byte) 4)); blocks.put("DARK_OAK_WOOD", new Pair(Material.WOOD, (byte) 5)); blocks.put("OAK_LOG", new Pair(Material.LOG, (byte) 0)); blocks.put("PINE_LOG", new Pair(Material.LOG, (byte) 1)); blocks.put("SPRUCE_LOG", new Pair(Material.LOG, (byte) 1)); blocks.put("BIRCH_LOG", new Pair(Material.LOG, (byte) 2)); blocks.put("JUNGLE_LOG", new Pair(Material.LOG, (byte) 3)); blocks.put("ACACIA_LOG", new Pair(Material.LOG_2, (byte) 0)); blocks.put("DARK_OAK_LOG", new Pair(Material.LOG_2, (byte) 1)); blocks.put("SANDSTONE", new Pair(Material.SANDSTONE, (byte) 0)); blocks.put("CHISELED_SANDSTONE", new Pair(Material.SANDSTONE, (byte) 1)); blocks.put("SMOOTH_SANDSTONE", new Pair(Material.SANDSTONE, (byte) 2)); blocks.put("WHITE_WOOL", new Pair(Material.WOOL, (byte) 0)); blocks.put("ORANGE_WOOL", new Pair(Material.WOOL, (byte) 1)); blocks.put("MAGENTA_WOOL", new Pair(Material.WOOL, (byte) 2)); blocks.put("LIGHT_BLUE_WOOL", new Pair(Material.WOOL, (byte) 3)); blocks.put("YELLOW_WOOL", new Pair(Material.WOOL, (byte) 4)); blocks.put("LIGHT_GREEN_WOOL", new Pair(Material.WOOL, (byte) 5)); blocks.put("PINK_WOOL", new Pair(Material.WOOL, (byte) 6)); blocks.put("GREY_WOOL", new Pair(Material.WOOL, (byte) 7)); blocks.put("LIGHT_GREY_WOOL", new Pair(Material.WOOL, (byte) 8)); blocks.put("GRAY_WOOL", new Pair(Material.WOOL, (byte) 7)); blocks.put("LIGHT_GRAY_WOOL", new Pair(Material.WOOL, (byte) 8)); blocks.put("CYAN_WOOL", new Pair(Material.WOOL, (byte) 9)); blocks.put("PURPLE_WOOL", new Pair(Material.WOOL, (byte) 10)); blocks.put("BLUE_WOOL", new Pair(Material.WOOL, (byte) 11)); blocks.put("BROWN_WOOL", new Pair(Material.WOOL, (byte) 12)); blocks.put("GREEN_WOOL", new Pair(Material.WOOL, (byte) 13)); blocks.put("RED_WOOL", new Pair(Material.WOOL, (byte) 14)); blocks.put("BLACK_WOOL", new Pair(Material.WOOL, (byte) 15)); blocks.put("BRICK", new Pair(Material.BRICK, (byte) 0)); blocks.put("CLAY", new Pair(Material.CLAY, (byte) 0)); blocks.put("HARD_CLAY", new Pair(Material.HARD_CLAY, (byte) 0)); blocks.put("WHITE_CLAY", new Pair(Material.STAINED_CLAY, (byte) 0)); blocks.put("ORANGE_CLAY", new Pair(Material.STAINED_CLAY, (byte) 1)); blocks.put("MAGENTA_CLAY", new Pair(Material.STAINED_CLAY, (byte) 2)); blocks.put("LIGHT_BLUE_CLAY", new Pair(Material.STAINED_CLAY, (byte) 3)); blocks.put("YELLOW_CLAY", new Pair(Material.STAINED_CLAY, (byte) 4)); blocks.put("LIGHT_GREEN_CLAY", new Pair(Material.STAINED_CLAY, (byte) 5)); blocks.put("PINK_CLAY", new Pair(Material.STAINED_CLAY, (byte) 6)); blocks.put("GREY_CLAY", new Pair(Material.STAINED_CLAY, (byte) 7)); blocks.put("LIGHT_GREY_CLAY", new Pair(Material.STAINED_CLAY, (byte) 8)); blocks.put("GRAY_CLAY", new Pair(Material.STAINED_CLAY, (byte) 7)); blocks.put("LIGHT_GRAY_CLAY", new Pair(Material.STAINED_CLAY, (byte) 8)); blocks.put("CYAN_CLAY", new Pair(Material.STAINED_CLAY, (byte) 9)); blocks.put("PURPLE_CLAY", new Pair(Material.STAINED_CLAY, (byte) 10)); blocks.put("BLUE_CLAY", new Pair(Material.STAINED_CLAY, (byte) 11)); blocks.put("BROWN_CLAY", new Pair(Material.STAINED_CLAY, (byte) 12)); blocks.put("GREEN_CLAY", new Pair(Material.STAINED_CLAY, (byte) 13)); blocks.put("RED_CLAY", new Pair(Material.STAINED_CLAY, (byte) 14)); blocks.put("BLACK_CLAY", new Pair(Material.STAINED_CLAY, (byte) 15)); blocks.put("STONE_BRICK", new Pair(Material.SMOOTH_BRICK, (byte) 0)); blocks.put("SMOOTH_BRICK", new Pair(Material.SMOOTH_BRICK, (byte) 0)); blocks.put("MOSSY_BRICK", new Pair(Material.SMOOTH_BRICK, (byte) 1)); blocks.put("CRACKED_BRICK", new Pair(Material.SMOOTH_BRICK, (byte) 2)); blocks.put("CHISELED_BRICK", new Pair(Material.SMOOTH_BRICK, (byte) 3)); blocks.put("CHISELED_STONE", new Pair(Material.SMOOTH_BRICK, (byte) 3)); blocks.put("NETHER_BRICK", new Pair(Material.NETHER_BRICK, (byte) 0)); blocks.put("RED_NETHER_BRICK", new Pair(Material.RED_NETHER_BRICK, (byte) 0)); blocks.put("NETHERRACK", new Pair(Material.NETHERRACK, (byte) 0)); blocks.put("SOUL_SAND", new Pair(Material.SOUL_SAND, (byte) 0)); blocks.put("HUGE_MUSHROOM_1", new Pair(Material.HUGE_MUSHROOM_1, (byte) 14)); blocks.put("HUGE_MUSHROOM_2", new Pair(Material.HUGE_MUSHROOM_2, (byte) 14)); blocks.put("HUGE_MUSHROOM_STEM", new Pair(Material.HUGE_MUSHROOM_2, (byte) 15)); blocks.put("QUARTZ", new Pair(Material.QUARTZ_BLOCK, (byte) 0)); blocks.put("CHISELED_QUARTZ", new Pair(Material.QUARTZ_BLOCK, (byte) 1)); blocks.put("QUARTZ_PILLAR", new Pair(Material.QUARTZ_BLOCK, (byte) 2)); blocks.put("HAY", new Pair(Material.HAY_BLOCK, (byte) 0)); blocks.put("PACKED_ICE", new Pair(Material.PACKED_ICE, (byte) 0)); blocks.put("PRISMARINE", new Pair(Material.PRISMARINE, (byte) 0)); blocks.put("PRISMARINE_BRICKS", new Pair(Material.PRISMARINE, (byte) 1)); blocks.put("DARK_PRISMARINE", new Pair(Material.PRISMARINE, (byte) 2)); blocks.put("RED_SANDSTONE", new Pair(Material.RED_SANDSTONE, (byte) 0)); blocks.put("CHISELED_RED_SANDSTONE", new Pair(Material.RED_SANDSTONE, (byte) 1)); blocks.put("SMOOTH_RED_SANDSTONE", new Pair(Material.RED_SANDSTONE, (byte) 2)); blocks.put("GRANITE", new Pair(Material.STONE, (byte) 1)); blocks.put("POLISHED_GRANITE", new Pair(Material.STONE, (byte) 2)); blocks.put("DIORITE", new Pair(Material.STONE, (byte) 3)); blocks.put("POLISHED_DIORITE", new Pair(Material.STONE, (byte) 4)); blocks.put("ANDESITE", new Pair(Material.STONE, (byte) 5)); blocks.put("POLISHED_ANDESITE", new Pair(Material.STONE, (byte) 6)); blocks.put("END_STONE_BRICK", new Pair(Material.END_BRICKS, (byte) 0)); blocks.put("PURPUR", new Pair(Material.PURPUR_BLOCK, (byte) 10)); blocks.put("PURPUR_PILLAR", new Pair(Material.PURPUR_PILLAR, (byte) 10)); blocks.put("BONE_BLOCK", new Pair(Material.BONE_BLOCK, (byte) 0)); blocks.put("NETHER_WART_BLOCK", new Pair(Material.NETHER_WART_BLOCK, (byte) 0)); if (TARDIS.plugin.getConfig().getBoolean("allow.all_blocks")) { blocks.put("BEDROCK", new Pair(Material.BEDROCK, (byte) 0)); blocks.put("COAL_ORE", new Pair(Material.COAL_ORE, (byte) 0)); blocks.put("DIAMOND_BLOCK", new Pair(Material.DIAMOND_BLOCK, (byte) 0)); blocks.put("DIAMOND_ORE", new Pair(Material.DIAMOND_ORE, (byte) 0)); blocks.put("EMERALD_BLOCK", new Pair(Material.EMERALD_BLOCK, (byte) 0)); blocks.put("EMERALD_ORE", new Pair(Material.EMERALD_ORE, (byte) 0)); blocks.put("QUARTZ_ORE", new Pair(Material.QUARTZ_ORE, (byte) 0)); blocks.put("GOLD_BLOCK", new Pair(Material.GOLD_BLOCK, (byte) 0)); blocks.put("GOLD_ORE", new Pair(Material.GOLD_ORE, (byte) 0)); blocks.put("IRON_BLOCK", new Pair(Material.IRON_BLOCK, (byte) 0)); blocks.put("IRON_ORE", new Pair(Material.IRON_ORE, (byte) 0)); blocks.put("JACK_O_LANTERN", new Pair(Material.JACK_O_LANTERN, (byte) 0)); blocks.put("LAPIS_BLOCK", new Pair(Material.LAPIS_BLOCK, (byte) 0)); blocks.put("LAPIS_LAZULI", new Pair(Material.LAPIS_BLOCK, (byte) 0)); blocks.put("MELON", new Pair(Material.MELON, (byte) 0)); blocks.put("OBSIDIAN", new Pair(Material.OBSIDIAN, (byte) 0)); blocks.put("PUMPKIN", new Pair(Material.PUMPKIN, (byte) 0)); blocks.put("REDSTONE_BLOCK", new Pair(Material.REDSTONE_BLOCK, (byte) 0)); blocks.put("REDSTONE_ORE", new Pair(Material.REDSTONE_ORE, (byte) 0)); blocks.put("SEA_LANTERN", new Pair(Material.SEA_LANTERN, (byte) 0)); } } public class Pair { private final Material type; private final Byte data; public Pair(Material type, Byte data) { this.type = type; this.data = data; } public Material getType() { return type; } public Byte getData() { return data; } } }