/*******************************************************************************
* Copyright (C) 2014 Travis Ralston (turt2live)
*
* 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 com.turt2live.antishare.bukkit.dev.check;
import com.turt2live.antishare.bukkit.dev.AntiShare;
import com.turt2live.antishare.bukkit.dev.CheckBase;
import net.minecraft.server.v1_7_R3.Block;
import net.minecraft.server.v1_7_R3.Item;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
public class MaterialStringsCheck extends CheckBase {
public MaterialStringsCheck(AntiShare plugin) {
super(plugin);
}
@Override
public void begin() {
try {
File f = new File(plugin.getDataFolder(), "out1.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
String[] values = value.split("\n");
for (String s : values) {
s = s.toLowerCase();
if (!s.startsWith("minecraft:")) s = "minecraft:" + s;
int id = Block.REGISTRY.b(Block.REGISTRY.a(s));
if (id == 0) {
// Try items
id = Item.REGISTRY.b(Item.REGISTRY.a(s));
}
Material m = Material.getMaterial(id);
if (m == null) {
Bukkit.broadcastMessage(ChatColor.RED + "Error: Unknown lookup for " + s + " (ID: " + id + ")");
continue;
}
writer.write("BY_STRING.put(\"" + s + "\", \"" + m.name() + "\");");
writer.newLine();
writer.write("BY_MATERIAL.put(\"" + m.name() + "\", \"" + s + "\");");
writer.newLine();
if (id == 0) Bukkit.broadcastMessage(ChatColor.YELLOW + "Warning: Air for " + s);
}
writer.close();
} catch (Exception ignored) {
ignored.printStackTrace();
}
Bukkit.broadcastMessage(ChatColor.GREEN + "Done");
}
// TODO: Replace with file
// Sourced from minecraft string ids. Eg: minectraft:air
public static String value = "AIR\n" +
"STONE\n" +
"GRASS\n" +
"DIRT\n" +
"COBBLESTONE\n" +
"PLANKS\n" +
"SAPLING\n" +
"BEDROCK\n" +
"FLOWING_WATER\n" +
"WATER\n" +
"FLOWING_LAVA\n" +
"LAVA\n" +
"SAND\n" +
"GRAVEL\n" +
"GOLD_ORE\n" +
"IRON_ORE\n" +
"COAL_ORE\n" +
"LOG\n" +
"LEAVES\n" +
"SPONGE\n" +
"GLASS\n" +
"LAPIS_ORE\n" +
"LAPIS_BLOCK\n" +
"DISPENSER\n" +
"SANDSTONE\n" +
"NOTEBLOCK\n" +
"BED\n" +
"GOLDEN_RAIL\n" +
"DETECTOR_RAIL\n" +
"STICKY_PISTON\n" +
"WEB\n" +
"TALLGRASS\n" +
"DEADBUSH\n" +
"PISTON\n" +
"PISTON_HEAD\n" +
"WOOL\n" +
"PISTON_EXTENSION\n" +
"YELLOW_FLOWER\n" +
"RED_FLOWER\n" +
"BROWN_MUSHROOM\n" +
"RED_MUSHROOM\n" +
"GOLD_BLOCK\n" +
"IRON_BLOCK\n" +
"DOUBLE_STONE_SLAB\n" +
"STONE_SLAB\n" +
"BRICK_BLOCK\n" +
"TNT\n" +
"BOOKSHELF\n" +
"MOSSY_COBBLESTONE\n" +
"OBSIDIAN\n" +
"TORCH\n" +
"FIRE\n" +
"MOB_SPAWNER\n" +
"OAK_STAIRS\n" +
"CHEST\n" +
"REDSTONE_WIRE\n" +
"DIAMOND_ORE\n" +
"DIAMOND_BLOCK\n" +
"CRAFTING_TABLE\n" +
"WHEAT\n" +
"FARMLAND\n" +
"FURNACE\n" +
"LIT_FURNACE\n" +
"STANDING_SIGN\n" +
"WOODEN_DOOR\n" +
"LADDER\n" +
"RAIL\n" +
"STONE_STAIRS\n" +
"WALL_SIGN\n" +
"LEVER\n" +
"STONE_PRESSURE_PLATE\n" +
"IRON_DOOR\n" +
"WOODEN_PRESSURE_PLATE\n" +
"REDSTONE_ORE\n" +
"LIT_REDSTONE_ORE\n" +
"UNLIT_REDSTONE_TORCH\n" +
"REDSTONE_TORCH\n" +
"STONE_BUTTON\n" +
"SNOW_LAYER\n" +
"ICE\n" +
"SNOW\n" +
"CACTUS\n" +
"CLAY\n" +
"REEDS\n" +
"JUKEBOX\n" +
"FENCE\n" +
"PUMPKIN\n" +
"NETHERRACK\n" +
"SOUL_SAND\n" +
"GLOWSTONE\n" +
"PORTAL\n" +
"LIT_PUMPKIN\n" +
"CAKE\n" +
"UNPOWERED_REPEATER\n" +
"POWERED_REPEATER\n" +
"STAINED_GLASS\n" +
"TRAPDOOR\n" +
"MONSTER_EGG\n" +
"STONEBRICK\n" +
"BROWN_MUSHROOM_BLOCK\n" +
"RED_MUSHROOM_BLOCK\n" +
"IRON_BARS\n" +
"GLASS_PANE\n" +
"MELON_BLOCK\n" +
"PUMPKIN_STEM\n" +
"MELON_STEM\n" +
"VINE\n" +
"FENCE_GATE\n" +
"BRICK_STAIRS\n" +
"STONE_BRICK_STAIRS\n" +
"MYCELIUM\n" +
"WATERLILY\n" +
"NETHER_BRICK\n" +
"NETHER_BRICK_FENCE\n" +
"NETHER_BRICK_STAIRS\n" +
"NETHER_WART\n" +
"ENCHANTING_TABLE\n" +
"BREWING_STAND\n" +
"CAULDRON\n" +
"END_PORTAL\n" +
"END_PORTAL_FRAME\n" +
"END_STONE\n" +
"DRAGON_EGG\n" +
"REDSTONE_LAMP\n" +
"LIT_REDSTONE_LAMP\n" +
"DOUBLE_WOODEN_SLAB\n" +
"WOODEN_SLAB\n" +
"COCOA\n" +
"SANDSTONE_STAIRS\n" +
"EMERALD_ORE\n" +
"ENDER_CHEST\n" +
"TRIPWIRE_HOOK\n" +
"TRIPWIRE\n" +
"EMERALD_BLOCK\n" +
"SPRUCE_STAIRS\n" +
"BIRCH_STAIRS\n" +
"JUNGLE_STAIRS\n" +
"COMMAND_BLOCK\n" +
"BEACON\n" +
"COBBLESTONE_WALL\n" +
"FLOWER_POT\n" +
"CARROTS\n" +
"POTATOES\n" +
"WOODEN_BUTTON\n" +
"SKULL\n" +
"ANVIL\n" +
"TRAPPED_CHEST\n" +
"LIGHT_WEIGHTED_PRESSURE_PLATE\n" +
"HEAVY_WEIGHTED_PRESSURE_PLATE\n" +
"UNPOWERED_COMPARATOR\n" +
"POWERED_COMPARATOR\n" +
"DAYLIGHT_DETECTOR\n" +
"REDSTONE_BLOCK\n" +
"QUARTZ_ORE\n" +
"HOPPER\n" +
"QUARTZ_BLOCK\n" +
"QUARTZ_STAIRS\n" +
"ACTIVATOR_RAIL\n" +
"DROPPER\n" +
"STAINED_HARDENED_CLAY\n" +
"STAINED_GLASS_PANE\n" +
"LEAVES2\n" +
"LOG2\n" +
"ACACIA_STAIRS\n" +
"DARK_OAK_STAIRS\n" +
"SLIME\n" +
"BARRIER\n" +
"IRON_TRAPDOOR\n" +
"HAY_BLOCK\n" +
"CARPET\n" +
"HARDENED_CLAY\n" +
"COAL_BLOCK\n" +
"PACKED_ICE\n" +
"DOUBLE_PLANT\n" +
"IRON_SHOVEL\n" +
"IRON_PICKAXE\n" +
"IRON_AXE\n" +
"FLINT_AND_STEEL\n" +
"APPLE\n" +
"BOW\n" +
"ARROW\n" +
"COAL\n" +
"DIAMOND\n" +
"IRON_INGOT\n" +
"GOLD_INGOT\n" +
"IRON_SWORD\n" +
"WOODEN_SWORD\n" +
"WOODEN_SHOVEL\n" +
"WOODEN_PICKAXE\n" +
"WOODEN_AXE\n" +
"STONE_SWORD\n" +
"STONE_SHOVEL\n" +
"STONE_PICKAXE\n" +
"STONE_AXE\n" +
"DIAMOND_SWORD\n" +
"DIAMOND_SHOVEL\n" +
"DIAMOND_PICKAXE\n" +
"DIAMOND_AXE\n" +
"STICK\n" +
"BOWL\n" +
"MUSHROOM_STEW\n" +
"GOLDEN_SWORD\n" +
"GOLDEN_SHOVEL\n" +
"GOLDEN_PICKAXE\n" +
"GOLDEN_AXE\n" +
"STRING\n" +
"FEATHER\n" +
"GUNPOWDER\n" +
"WOODEN_HOE\n" +
"STONE_HOE\n" +
"IRON_HOE\n" +
"DIAMOND_HOE\n" +
"GOLDEN_HOE\n" +
"WHEAT_SEEDS\n" +
"WHEAT\n" +
"BREAD\n" +
"LEATHER_HELMET\n" +
"LEATHER_CHESTPLATE\n" +
"LEATHER_LEGGINGS\n" +
"LEATHER_BOOTS\n" +
"CHAINMAIL_HELMET\n" +
"CHAINMAIL_CHESTPLATE\n" +
"CHAINMAIL_LEGGINGS\n" +
"CHAINMAIL_BOOTS\n" +
"IRON_HELMET\n" +
"IRON_CHESTPLATE\n" +
"IRON_LEGGINGS\n" +
"IRON_BOOTS\n" +
"DIAMOND_HELMET\n" +
"DIAMOND_CHESTPLATE\n" +
"DIAMOND_LEGGINGS\n" +
"DIAMOND_BOOTS\n" +
"GOLDEN_HELMET\n" +
"GOLDEN_CHESTPLATE\n" +
"GOLDEN_LEGGINGS\n" +
"GOLDEN_BOOTS\n" +
"FLINT\n" +
"PORKCHOP\n" +
"COOKED_PORKCHOP\n" +
"PAINTING\n" +
"GOLDEN_APPLE\n" +
"SIGN\n" +
"WOODEN_DOOR\n" +
"BUCKET\n" +
"WATER_BUCKET\n" +
"LAVA_BUCKET\n" +
"MINECART\n" +
"SADDLE\n" +
"IRON_DOOR\n" +
"REDSTONE\n" +
"SNOWBALL\n" +
"BOAT\n" +
"LEATHER\n" +
"MILK_BUCKET\n" +
"BRICK\n" +
"CLAY_BALL\n" +
"REEDS\n" +
"PAPER\n" +
"BOOK\n" +
"SLIME_BALL\n" +
"CHEST_MINECART\n" +
"FURNACE_MINECART\n" +
"EGG\n" +
"COMPASS\n" +
"FISHING_ROD\n" +
"CLOCK\n" +
"GLOWSTONE_DUST\n" +
"FISH\n" +
"COOKED_FISH\n" +
"DYE\n" +
"BONE\n" +
"SUGAR\n" +
"CAKE\n" +
"BED\n" +
"REPEATER\n" +
"COOKIE\n" +
"FILLED_MAP\n" +
"SHEARS\n" +
"MELON\n" +
"PUMPKIN_SEEDS\n" +
"MELON_SEEDS\n" +
"BEEF\n" +
"COOKED_BEEF\n" +
"CHICKEN\n" +
"COOKED_CHICKEN\n" +
"ROTTEN_FLESH\n" +
"ENDER_PEARL\n" +
"BLAZE_ROD\n" +
"GHAST_TEAR\n" +
"GOLD_NUGGET\n" +
"NETHER_WART\n" +
"POTION\n" +
"GLASS_BOTTLE\n" +
"SPIDER_EYE\n" +
"FERMENTED_SPIDER_EYE\n" +
"BLAZE_POWDER\n" +
"MAGMA_CREAM\n" +
"BREWING_STAND\n" +
"CAULDRON\n" +
"ENDER_EYE\n" +
"SPECKLED_MELON\n" +
"SPAWN_EGG\n" +
"EXPERIENCE_BOTTLE\n" +
"FIRE_CHARGE\n" +
"WRITABLE_BOOK\n" +
"WRITTEN_BOOK\n" +
"EMERALD\n" +
"ITEM_FRAME\n" +
"FLOWER_POT\n" +
"CARROT\n" +
"POTATO\n" +
"BAKED_POTATO\n" +
"POISONOUS_POTATO\n" +
"MAP\n" +
"GOLDEN_CARROT\n" +
"SKULL\n" +
"CARROT_ON_A_STICK\n" +
"NETHER_STAR\n" +
"PUMPKIN_PIE\n" +
"FIREWORKS\n" +
"FIREWORK_CHARGE\n" +
"ENCHANTED_BOOK\n" +
"COMPARATOR\n" +
"NETHERBRICK\n" +
"QUARTZ\n" +
"TNT_MINECART\n" +
"HOPPER_MINECART\n" +
"IRON_HORSE_ARMOR\n" +
"GOLDEN_HORSE_ARMOR\n" +
"DIAMOND_HORSE_ARMOR\n" +
"LEAD\n" +
"NAME_TAG\n" +
"COMMAND_BLOCK_MINECART\n" +
"RECORD_13\n" +
"RECORD_CAT\n" +
"RECORD_BLOCKS\n" +
"RECORD_CHIRP\n" +
"RECORD_FAR\n" +
"RECORD_MALL\n" +
"RECORD_MELLOHI\n" +
"RECORD_STAL\n" +
"RECORD_STRAD\n" +
"RECORD_WARD\n" +
"RECORD_11\n" +
"RECORD_WAIT\n";
}