656 lines
44 KiB
Java
Executable file
656 lines
44 KiB
Java
Executable file
package common.init;
|
|
|
|
import java.util.Collections;
|
|
import java.util.IdentityHashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
import common.block.*;
|
|
import common.block.artificial.*;
|
|
import common.block.foliage.*;
|
|
import common.block.liquid.*;
|
|
import common.block.natural.*;
|
|
import common.block.tech.*;
|
|
import common.collect.BiMap;
|
|
import common.collect.HashBiMap;
|
|
import common.collect.Lists;
|
|
import common.collect.Maps;
|
|
import common.item.CheatTab;
|
|
import common.log.Log;
|
|
import common.model.TextureAnimation;
|
|
import common.properties.Property;
|
|
import common.util.PortalType;
|
|
import common.util.Color;
|
|
import common.util.Equipment;
|
|
import common.util.Util;
|
|
import common.world.State;
|
|
|
|
public abstract class BlockRegistry {
|
|
private static final Map<String, Block> BLOCK_MAP = HashBiMap.<String, Block>create();
|
|
private static final List<Block> BLOCKS = Lists.newArrayList();
|
|
private static final Map<Block, String> BLOCK_NAMES = ((BiMap)BLOCK_MAP).inverse();
|
|
private static final Map<String, State> STATE_MAP = Maps.newHashMap();
|
|
private static final List<State> STATES = Lists.newArrayList();
|
|
private static final Map<State, String> STATE_NAMES = Maps.newHashMap();
|
|
private static final IdentityHashMap<State, Integer> STATE_IDS = new IdentityHashMap(512);
|
|
|
|
private static Block air;
|
|
|
|
private static Block register(String name, Block block) {
|
|
if(BLOCK_MAP.containsKey(name))
|
|
throw new IllegalArgumentException("Block " + name + " ist bereits registriert");
|
|
BLOCKS.add(block);
|
|
BLOCK_MAP.put(name, block);
|
|
return block;
|
|
}
|
|
|
|
public static Set<String> getKeys() {
|
|
return Collections.<String>unmodifiableSet(BLOCK_MAP.keySet());
|
|
}
|
|
|
|
public static Block byName(String name) {
|
|
Block block = BLOCK_MAP.get(name);
|
|
return block == null ? air : block;
|
|
}
|
|
|
|
public static Block byNameExact(String name) {
|
|
return BLOCK_MAP.get(name);
|
|
}
|
|
|
|
public static String getName(Block block) {
|
|
return BLOCK_NAMES.get(block);
|
|
}
|
|
|
|
public static Iterable<Block> blocks() {
|
|
return BLOCKS;
|
|
}
|
|
|
|
public static State byName(String name, State def) {
|
|
if(name == null)
|
|
return def;
|
|
State state = STATE_MAP.get(name);
|
|
if(state != null)
|
|
return state;
|
|
int idx = name.indexOf(',');
|
|
Block block = BlockRegistry.byNameExact(idx >= 0 ? name.substring(0, idx) : name);
|
|
if(block == null)
|
|
return def;
|
|
state = block.getState();
|
|
if(idx < 0)
|
|
return state;
|
|
String[] tok = name.substring(idx + 1).split(",");
|
|
for(String str : tok) {
|
|
idx = str.indexOf('=');
|
|
if(idx <= 0 || idx == str.length() - 1)
|
|
continue;
|
|
String key = str.substring(0, idx);
|
|
String value = str.substring(idx + 1);
|
|
for(Property prop : block.getSavedProperties()) {
|
|
if(prop.getName().equals(key)) {
|
|
for(Object obj : prop.getStates()) {
|
|
if(prop.getName((Comparable)obj).equals(value))
|
|
state = state.withProperty(prop, (Comparable)obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return state;
|
|
}
|
|
|
|
public static String getName(State state) {
|
|
return STATE_NAMES.get(state);
|
|
}
|
|
|
|
public static int getId(State state) {
|
|
Integer id = STATE_IDS.get(state);
|
|
return id == null ? -1 : id.intValue();
|
|
}
|
|
|
|
public static State byId(int id) {
|
|
return id >= 0 && id < STATES.size() ? STATES.get(id) : null;
|
|
}
|
|
|
|
public static Iterable<State> states() {
|
|
return STATES;
|
|
}
|
|
|
|
private static void registerFluid(String name, String display, LiquidType type, int light, int rate,
|
|
float radiation, Object still, Object flowing) {
|
|
BlockDynamicLiquid dy = (BlockDynamicLiquid)(new BlockDynamicLiquid(type.material, rate, flowing)).setHardness(100.0F)
|
|
.setOpacity(3).setLight(light).setDisplay(display)
|
|
.setRadiation(radiation);
|
|
BlockStaticLiquid st = (BlockStaticLiquid)(new BlockStaticLiquid(type.material, rate, still, dy)).setHardness(100.0F)
|
|
.setOpacity(3).setLight(light).setDisplay(display)
|
|
.setRadiation(radiation);
|
|
register("flowing_" + name, dy);
|
|
register(name, st);
|
|
}
|
|
|
|
static void register() {
|
|
register("air", air = (new BlockAir()).setDisplay("Luft"));
|
|
Block stone = register("stone", (new BlockStone()).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Stein"));
|
|
Block bedrock = register("bedrock", (new BlockBedrock()).setHardness(1000.0F).setResistance(100000.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Grundgestein").setTab(CheatTab.ROCK).setMiningTool(Equipment.PICKAXE, 6));
|
|
Block rock = register("rock", (new Block(Material.SOLID)).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE).setDisplay("Felsen").setTab(CheatTab.ROCK));
|
|
Block smooth_rock = register("smooth_rock", (new Block(Material.SOLID)).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE).setDisplay("Glatter Felsen").setTab(CheatTab.ROCK));
|
|
Block hellrock = register("hellrock", (new BlockHellRock()).setHardness(0.4F).setSound(SoundType.STONE).setDisplay("Höllenstein"));
|
|
Block cell_rock = register("cell_rock", (new Block(Material.LOOSE)).setHardness(1.0F).setResistance(3.0F)
|
|
.setSound(SoundType.SLIME).setDisplay("Zellstein").setTab(CheatTab.ROCK));
|
|
Block moon_rock = register("moon_rock", (new Block(Material.SOLID)).setHardness(2.5F).setResistance(10.0F)
|
|
.setSound(SoundType.STONE).setDisplay("Mondgestein").setTab(CheatTab.ROCK));
|
|
Block cobblestone = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Bruchstein").setTab(CheatTab.ROCK);
|
|
register("cobblestone", cobblestone);
|
|
Block mossy_cobblestone = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Bemooster Bruchstein").setTab(CheatTab.ROCK);
|
|
register("mossy_cobblestone", mossy_cobblestone);
|
|
Block sandstone = (new BlockSandStone("normal")).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Sandstein");
|
|
register("sandstone", sandstone);
|
|
Block smooth_sandstone;
|
|
register("smooth_sandstone", (smooth_sandstone = new BlockSandStone("smooth")).setSound(SoundType.STONE).setHardness(0.8F).setDisplay("Glatter Sandstein"));
|
|
Block obsidian = register("obsidian", (new BlockObsidian()).setHardness(50.0F).setResistance(2000.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Obsidian").setMiningTool(Equipment.PICKAXE, 3));
|
|
Block clay = register("clay", (new BlockClay()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Ton").setMiningTool(Equipment.SHOVEL));
|
|
Block hardened_clay = register("hardened_clay", (new BlockHardenedClay()).setHardness(1.25F).setResistance(7.0F).setSound(SoundType.STONE).setDisplay("Gebrannter Ton"));
|
|
Block[] colored_clay = new Block[Color.values().length];
|
|
for(Color color : Color.values()) {
|
|
colored_clay[color.ordinal()] = register(color.getName() + "_clay", (new BlockColoredClay(color)).setHardness(1.25F).setResistance(7.0F)
|
|
.setSound(SoundType.STONE).setDisplay(color.getDisplay() + " gefärbter Ton"));
|
|
}
|
|
Block cyber;
|
|
register("cyber", cyber = new BlockCyber());
|
|
register("sand", (new BlockFalling(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.SAND).setDisplay("Sand").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE));
|
|
register("red_sand", (new BlockFalling(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.SAND).setDisplay("Roter Sand").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE));
|
|
register("gravel", (new BlockGravel()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Kies").setMiningTool(Equipment.SHOVEL));
|
|
register("ash", (new BlockFalling(Material.LOOSE)).setHardness(0.2F).setSound(SoundType.SAND).setDisplay("Asche")
|
|
.setTab(CheatTab.NATURE).setMiningTool(Equipment.SHOVEL));
|
|
register("snow_layer", (new BlockSnow()).setHardness(0.1F).setSound(SoundType.SNOW).setDisplay("Schnee").setOpacity(0).setMiningTool(Equipment.SHOVEL));
|
|
register("snow", (new BlockSnowBlock()).setHardness(0.2F).setSound(SoundType.SNOW).setDisplay("Schnee").setMiningTool(Equipment.SHOVEL));
|
|
register("ice", (new BlockIce()).setHardness(0.5F).setOpacity(3).setSound(SoundType.GLASS).setDisplay("Eis").setMiningTool(Equipment.PICKAXE, 0));
|
|
register("packed_ice", (new BlockPackedIce()).setHardness(0.5F).setSound(SoundType.GLASS).setDisplay("Packeis").setMiningTool(Equipment.PICKAXE, 0));
|
|
register("soul_sand", (new BlockSoulSand()).setHardness(0.5F).setSound(SoundType.SAND).setDisplay("Seelensand").setMiningTool(Equipment.SHOVEL));
|
|
register("glowstone", (new BlockGlowstone(Material.TRANSLUCENT)).setHardness(0.3F).setSound(SoundType.GLASS).setLight(0xffff3f)
|
|
.setDisplay("Glowstone"));
|
|
Block blackened_stone = register("blackened_stone", (new BlockBlackenedStone()).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Schwarzstein"));
|
|
Block blackened_cobble = register("blackened_cobble", (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Schwarzbruchstein").setTab(CheatTab.ROCK));
|
|
|
|
|
|
registerFluid("water", "Wasser", LiquidType.WATER, 0, 5, 0.0f, TextureAnimation.WATER_STILL, TextureAnimation.WATER_FLOW);
|
|
registerFluid("lava", "Lava", LiquidType.LAVA, 0xffcfaf, -30, 0.0f, 2, 3);
|
|
registerFluid("magma", "Magma", LiquidType.HOT, 0xffaf8f, 40, 0.0f, TextureAnimation.MAGMA_STILL, TextureAnimation.MAGMA_FLOW);
|
|
registerFluid("plasma", "Plasma", LiquidType.HOT, 0xff7f00, 15, 0.0f, 2, 2);
|
|
registerFluid("mercury", "Quecksilber", LiquidType.COLD, 0, 40, 0.0f, 8, 4);
|
|
registerFluid("hydrogen", "Wasserstoff", LiquidType.COLD, 0, 50, 0.0f, 8, 4);
|
|
registerFluid("acid", "Säure", LiquidType.HOT, 0, 5, 0.0f, 1, 1);
|
|
registerFluid("slime", "Schleim", LiquidType.COLD, 0, 50, 0.0f, 8, 4);
|
|
registerFluid("goo", "Klebrige Masse", LiquidType.COLD, 0, 60, 0.0f, 10, 5);
|
|
registerFluid("nukage", "Radioaktive Masse", LiquidType.COLD, 0x00ff00, 10, 4.0f, 2, 2);
|
|
registerFluid("blood", "Blut", LiquidType.COLD, 0, 10, 0.0f, 2, 1);
|
|
registerFluid("spring_water", "Klares Wasser", LiquidType.COLD, 0, 5, 0.0f, 1, 1);
|
|
registerFluid("swamp_water", "Sumpfwasser", LiquidType.COLD, 0, 5, 0.0f, TextureAnimation.SWAMP_WATER_STILL, TextureAnimation.SWAMP_WATER_FLOW);
|
|
registerFluid("milk", "Milch", LiquidType.COLD, 0, 5, 0.0f, 1, 1);
|
|
|
|
|
|
for(MetalType metal : MetalType.values()) {
|
|
// String loc = metal.name.substring(0, 1).toUpperCase() + metal.name.substring(1);
|
|
register(metal.name + "_ore", (new BlockMetalOre(metal)).setHardness(3.0F).setResistance(5.0F)
|
|
.setDisplay(metal.display + "erz").setMiningTool(Equipment.PICKAXE, 1));
|
|
}
|
|
for(OreType ore : OreType.values()) {
|
|
// String loc = ore.name.substring(0, 1).toUpperCase() + ore.name.substring(1);
|
|
register(ore.name + "_ore", (new BlockOre()).setHardness(3.0F).setResistance(5.0F).setSound(SoundType.STONE)
|
|
.setDisplay(ore.display + "erz").setMiningTool(Equipment.PICKAXE, ore.material.getHarvestLevel() - 1));
|
|
}
|
|
for(MineralType mineral : MineralType.values()) {
|
|
register(mineral.name + "_ore", (new BlockOre()).setHardness(3.0F).setResistance(5.0F).setSound(SoundType.STONE)
|
|
.setDisplay(mineral.displayOre).setMiningTool(Equipment.PICKAXE, 1));
|
|
}
|
|
|
|
|
|
|
|
Block dirt;
|
|
register("dirt", (dirt = new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE));
|
|
Block grass;
|
|
register("grass", (grass = new BlockGrass()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Gras").setMiningTool(Equipment.SHOVEL));
|
|
Block coarse_dirt;
|
|
register("coarse_dirt", (coarse_dirt = new Block(Material.LOOSE)).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Grobe Erde").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.NATURE));
|
|
Block podzol;
|
|
register("podzol", (podzol = new BlockPodzol()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Podsol").setMiningTool(Equipment.SHOVEL));
|
|
Block mycelium;
|
|
register("mycelium", (mycelium = new BlockMycelium()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Myzel").setMiningTool(Equipment.SHOVEL));
|
|
Block swamp;
|
|
register("swamp", (swamp = new BlockSwamp()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Sumpf").setMiningTool(Equipment.SHOVEL));
|
|
Block tian;
|
|
register("tian", (tian = new Block(Material.SOLID)).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Tian").setTab(CheatTab.NATURE));
|
|
Block tian_soil;
|
|
register("tian_soil", (tian_soil = new BlockTianSoil()).setHardness(2.0F).setResistance(15.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Tianerde").setTab(CheatTab.NATURE));
|
|
Block blackened_dirt;
|
|
register("blackened_dirt", (blackened_dirt = new BlockBlackenedDirt()).setHardness(0.5F).setSound(SoundType.GRAVEL).setDisplay("Schwarzerde").setMiningTool(Equipment.SHOVEL));
|
|
Block blackened_soil;
|
|
register("blackened_soil", (blackened_soil = new BlockBlackenedSoil()).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Schwarzgrund").setMiningTool(Equipment.SHOVEL));
|
|
Block slime_block;
|
|
register("slime_block", (slime_block = new BlockSlime()).setDisplay("Schleimblock").setSound(SoundType.SLIME));
|
|
Block cheese;
|
|
register("cheese", (cheese = new BlockTreasure(Material.SOFT)).setHardness(1.5F).setResistance(5.0F)
|
|
.setSound(SoundType.CLOTH).setDisplay("Käse").setTab(CheatTab.NATURE));
|
|
|
|
|
|
|
|
|
|
for(BlockTallGrass.EnumType type : BlockTallGrass.EnumType.values()) {
|
|
register(type.getName(), (new BlockTallGrass(type)).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay(type.getDisplay()).setMiningTool(Equipment.SHEARS));
|
|
}
|
|
register("deadbush", (new BlockDeadBush()).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("Toter Busch"));
|
|
for(BlockFlower.EnumFlowerType type : BlockFlower.EnumFlowerType.values()) {
|
|
register(type.getName(), (new BlockFlower(type)).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay(type.getDisplay()));
|
|
}
|
|
for(BlockDoublePlant.EnumPlantType type : BlockDoublePlant.EnumPlantType.values()) {
|
|
register(type.getName(), new BlockDoublePlant(type).setDisplay(type.getDisplay()));
|
|
}
|
|
Block cactus = (new BlockCactus()).setHardness(0.4F).setSound(SoundType.CLOTH).setDisplay("Kaktus");
|
|
register("cactus", cactus);
|
|
register("reeds", (new BlockReed()).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("Zuckerrohr").setTab(CheatTab.PLANTS));
|
|
register("vine", (new BlockVine(false)).setHardness(0.2F).setSound(SoundType.GRASS).setDisplay("Ranken").setMiningTool(Equipment.SHEARS));
|
|
register("swamp_vine", (new BlockVine(true)).setHardness(0.2F).setSound(SoundType.GRASS).setDisplay("Sumpfranken").setMiningTool(Equipment.SHEARS));
|
|
register("waterlily", (new BlockLilyPad()).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("Seerosenblatt"));
|
|
|
|
|
|
|
|
Block brown_mushroom = (new BlockMushroom()).setHardness(0.0F).setSound(SoundType.GRASS).setLight(0x1f1f1f)
|
|
.setDisplay("Pilz");
|
|
register("brown_mushroom", brown_mushroom);
|
|
register("brown_mushroom_block", (new BlockHugeMushroom(brown_mushroom)).setHardness(0.2F)
|
|
.setSound(SoundType.WOOD).setDisplay("Pilzblock").setTab(CheatTab.PLANTS));
|
|
Block red_mushrooom = (new BlockMushroom()).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("Pilz");
|
|
register("red_mushroom", red_mushrooom);
|
|
register("red_mushroom_block", (new BlockHugeMushroom(red_mushrooom)).setHardness(0.2F)
|
|
.setSound(SoundType.WOOD).setDisplay("Pilzblock").setTab(CheatTab.PLANTS));
|
|
register("blue_mushroom", (new BlockBlueShroom()).setHardness(0.0F).setSound(SoundType.GRASS).setLight(0x00007f)
|
|
.setDisplay("Tianpilz"));
|
|
|
|
Block pumpkin = (new BlockPumpkin()).setHardness(1.0F).setSound(SoundType.WOOD).setDisplay("Kürbis");
|
|
register("pumpkin", pumpkin);
|
|
register("pumpkin_stem", (new BlockStem(pumpkin)).setHardness(0.0F).setSound(SoundType.WOOD).setDisplay("Kürbisstamm"));
|
|
Block melon = (new BlockMelon()).setHardness(1.0F).setSound(SoundType.WOOD).setDisplay("Melone");
|
|
register("melon_block", melon);
|
|
register("melon_stem", (new BlockStem(melon)).setHardness(0.0F).setSound(SoundType.WOOD).setDisplay("Melonenstamm"));
|
|
|
|
|
|
register("dry_leaves", (new BlockDryLeaves()).setDisplay("Vertrocknetes Laub"));
|
|
for(WoodType wood : WoodType.values()) {
|
|
Block log;
|
|
register(wood.getName() + "_log", (log = new BlockLog()).setDisplay(wood.getDisplay() + "holz"));
|
|
for(LeavesType type : LeavesType.values()) {
|
|
register(wood.getName() + "_leaves_" + type.getName(), (new BlockLeaves(wood, type)).setDisplay(wood.getDisplay() + "laub (" + type.getDisplay() + ")"));
|
|
}
|
|
register(wood.getName() + "_sapling", (new BlockSapling(wood)).setHardness(0.0F).setSound(SoundType.GRASS)
|
|
.setDisplay(wood.getDisplay() + "setzling"));
|
|
register(wood.getName() + "_trunk", (new BlockSlab(log, wood.getName() + "_log_top", wood.getName() + "_log_top")).setDisplay(wood.getDisplay() + "holzscheibe"));
|
|
Block planks = (new Block(Material.WOOD)).setHardness(2.0F).setResistance(5.0F).setSound(SoundType.WOOD)
|
|
.setDisplay(wood.getDisplay() + "holzbretter").setTab(CheatTab.WOOD).setFlammable(5, 20);
|
|
register(wood.getName() + "_planks", planks);
|
|
register(wood.getName() + "_stairs", (new BlockStairs(planks))
|
|
.setDisplay(wood.getDisplay() + "holztreppe").setFlammable(5, 20));
|
|
register(wood.getName() + "_slab", (new BlockSlab(planks)).setDisplay(wood.getDisplay() + "holzstufe").setFlammable(5, 20));
|
|
register(wood.getName() + "_fence", (new BlockFence(Material.WOOD, wood.getName() + "_planks"))
|
|
.setHardness(2.0F).setResistance(5.0F).setSound(SoundType.WOOD).setDisplay(wood.getDisplay() + "holzzaun").setFlammable(5, 20));
|
|
register(wood.getName() + "_fence_gate", (new BlockFenceGate(wood)).setHardness(2.0F).setResistance(5.0F)
|
|
.setSound(SoundType.WOOD).setDisplay(wood.getDisplay() + "holzzauntor").setFlammable(5, 20));
|
|
register(wood.getName() + "_door", (new BlockDoor(Material.WOOD)).setHardness(3.0F).setSound(SoundType.WOOD)
|
|
.setDisplay(wood.getDisplay() + "holztür").setFlammable(5, 20));
|
|
}
|
|
|
|
register("web", (new BlockWeb()).setOpacity(1).setHardness(4.0F).setDisplay("Spinnennetz"));
|
|
|
|
register("fire", (new BlockFire()).setHardness(0.0F).setLight(0xffffbf).setSound(SoundType.CLOTH).setDisplay("Feuer"));
|
|
register("black_fire", (new BlockBlackFire()).setHardness(0.0F).setLight(0x7f7f7f).setSound(SoundType.CLOTH).setDisplay("Dunkles Feuer"));
|
|
register("soul_fire", (new BlockSoulFire()).setHardness(0.0F).setLight(0x0000ff).setSound(SoundType.CLOTH).setDisplay("Feuer der Seelen"));
|
|
|
|
|
|
register("glass", (new BlockGlass()).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay("Glas"));
|
|
for(Color color : Color.values()) {
|
|
register(color.getName() + "_glass", (new BlockStainedGlass(color)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay(color.getDisplay() + " gefärbtes Glas"));
|
|
}
|
|
register("glass_pane", (new BlockPane(Material.TRANSLUCENT)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay("Glasscheibe"));
|
|
for(Color color : Color.values()) {
|
|
register(color.getName() + "_glass_pane", (new BlockStainedGlassPane(color)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay(color.getDisplay() + " gefärbte Glasscheibe"));
|
|
}
|
|
|
|
|
|
for(Color color : Color.values()) {
|
|
Block block = register(color.getName() + "_wool", (new BlockWool(color)).setHardness(0.8F).setSound(SoundType.CLOTH).setDisplay(color.getSubject(-1) + " Wolle").setMiningTool(Equipment.SHEARS));
|
|
register(color.getName() + "_wool_slab", (new BlockSlab(block)).setDisplay(color.getSubject(-1) + " Wollstufe"));
|
|
register(color.getName() + "_wool_stairs", (new BlockStairs(block)).setDisplay(color.getSubject(-1) + " Wolltreppe"));
|
|
}
|
|
for(Color color : Color.values()) {
|
|
register(color.getName() + "_carpet", (new BlockCarpet(color)).setHardness(0.1F).setSound(SoundType.CLOTH).setDisplay(color.getSubject(1) + " Teppich").setOpacity(0));
|
|
}
|
|
for(Color color : BlockBed.COLORS) {
|
|
register(color.getName() + "_bed", (new BlockBed(color)).setSound(SoundType.WOOD).setHardness(0.2F).setDisplay(color.getSubject(0) + " Bett"));
|
|
}
|
|
|
|
register("ladder", (new BlockLadder()).setHardness(0.4F).setSound(SoundType.WOOD).setDisplay("Leiter").setMiningTool(Equipment.AXE));
|
|
register("bookshelf", (new BlockBookshelf()).setHardness(1.5F).setSound(SoundType.WOOD).setDisplay("Bücherregal"));
|
|
register("cake", (new BlockCake()).setHardness(0.5F).setSound(SoundType.CLOTH).setDisplay("Kuchen").setTab(CheatTab.DECORATION));
|
|
register("dragon_egg", (new BlockDragonEgg()).setHardness(3.0F).setResistance(15.0F).setSound(SoundType.STONE)
|
|
.setLight(0x1f001f).setDisplay("Drachenei").setTab(CheatTab.DECORATION));
|
|
register("flowerpot", (new BlockFlowerPot(null)).setHardness(0.0F).setSound(SoundType.STONE).setDisplay("Blumentopf").setTab(CheatTab.DECORATION));
|
|
register("flowerpot_cactus", (new BlockFlowerPot(cactus)).setHardness(0.0F).setSound(SoundType.STONE).setDisplay("Blumentopf mit " + cactus.getDisplay()));
|
|
for(BlockFlower.EnumFlowerType type : BlockFlower.EnumFlowerType.values()) {
|
|
register("flowerpot_" + type.getName(), (new BlockFlowerPot(BlockFlower.getByType(type))).setHardness(0.0F).setSound(SoundType.STONE).setDisplay("Blumentopf mit " + type.getDisplay()));
|
|
}
|
|
register("sponge", (new Block(Material.LOOSE)).setHardness(0.6F).setSound(SoundType.GRASS).setDisplay("Schwamm")
|
|
.setTab(CheatTab.DECORATION));
|
|
register("skull", (new BlockSkull()).setHardness(1.0F).setSound(SoundType.STONE).setDisplay("Schädel").setTab(CheatTab.DECORATION));
|
|
register("hay_block", (new BlockHay()).setHardness(0.5F).setSound(SoundType.GRASS).setDisplay("Strohballen")
|
|
.setTab(CheatTab.DECORATION));
|
|
register("sign", (new BlockStandingSign()).setHardness(1.0F).setSound(SoundType.WOOD).setDisplay("Schild"));
|
|
register("wall_sign", (new BlockWallSign()).setHardness(1.0F).setSound(SoundType.WOOD).setDisplay("Schild"));
|
|
for(int density : new int[] {1, 2, 4}) {
|
|
BlockInactiveDisplay display = (BlockInactiveDisplay)new BlockInactiveDisplay(density).setHardness(1.0F).setSound(SoundType.STONE).setDisplay("Displaymodul (" + (density * 16) +
|
|
"x" + (density * 16) + ")");
|
|
register("display" + (density == 1 ? "" : density), display);
|
|
register("display" + (density == 1 ? "" : density) + "_on", new BlockActiveDisplay(display).setHardness(1.0F).setSound(SoundType.STONE).setDisplay("Displaymodul (" + (density * 16) +
|
|
"x" + (density * 16) + ")"));
|
|
}
|
|
|
|
for(PortalType portal : PortalType.values()) {
|
|
if(portal != PortalType.FLOOR && portal != PortalType.VOID)
|
|
register(portal.getName() + "_portal", (new BlockPortal(portal)).setHardness(0.0F).setSound(SoundType.GLASS).setLight(0x1f1f1f).setDisplay(portal.getDisplay()));
|
|
}
|
|
register(PortalType.FLOOR.getName() + "_portal", (new BlockFloorPortal(Material.PORTAL)).setHardness(0.0F).setDisplay(PortalType.FLOOR.getDisplay()));
|
|
register("portal_frame", (new BlockPortalFrame()).setSound(SoundType.GLASS).setLight(0x1f002f).setHardness(5.0F)
|
|
.setDisplay("Portalrahmen").setResistance(2000.0F).setTab(CheatTab.TECHNOLOGY));
|
|
|
|
register("farmland", (new BlockFarmland()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Ackerboden").setMiningTool(Equipment.SHOVEL).setTab(CheatTab.PLANTS));
|
|
register("wheats", (new BlockCrops()).setDisplay("Getreide"));
|
|
register("carrots", (new BlockCarrot()).setDisplay("Karotten"));
|
|
register("potatoes", (new BlockPotato()).setDisplay("Kartoffeln"));
|
|
register("soul_grass", (new BlockSoulGrass()).setDisplay("Seelengras"));
|
|
|
|
for(MetalType metal : MetalType.values()) {
|
|
// String loc = metal.name.substring(0, 1).toUpperCase() + metal.name.substring(1);
|
|
register(metal.name + "_block", (new BlockMetalBlock(metal)).setHardness(5.0F).setResistance(10.0F)
|
|
.setDisplay(metal.display + "block").setMiningTool(Equipment.PICKAXE, 1));
|
|
}
|
|
for(OreType ore : OreType.values()) {
|
|
// String loc = ore.name.substring(0, 1).toUpperCase() + ore.name.substring(1);
|
|
for(int z = 0; z <= ore.getCompressability(); z++) {
|
|
register(ore.name + "_block" + (z == 0 ? "" : "_compressed" + (z == 1 ? "" : "_" + z)), (new BlockCompressable(ore.getFuel(), z))
|
|
.setDisplay(Util.getCompressionPrefix("Verdichteter", z) + ore.display + "block").setTab(CheatTab.GEMS).setMiningTool(Equipment.PICKAXE, ore.material.getHarvestLevel() - 1));
|
|
}
|
|
}
|
|
for(MineralType mineral : MineralType.values()) {
|
|
Block block = (new BlockQuartz(mineral.name, false)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay(mineral.displayBlock).setMiningTool(Equipment.PICKAXE, 1);
|
|
register(mineral.name + "_block", block);
|
|
register(mineral.name + "_slab", (new BlockSlab(block, mineral.name + "_bottom", mineral.name + "_top")).setDisplay(mineral.displaySlab).setMiningTool(Equipment.PICKAXE, 1));
|
|
register(mineral.name + "_stairs", (new BlockStairs(block, mineral.name + "_bottom", mineral.name + "_top")).setDisplay(mineral.displayStairs).setMiningTool(Equipment.PICKAXE, 1));
|
|
Block ornaments;
|
|
register(mineral.name + "_ornaments", (ornaments = new BlockQuartz(mineral.name, true)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay(mineral.displayCarved).setMiningTool(Equipment.PICKAXE, 1));
|
|
register(mineral.name + "_ornaments_slab", (new BlockSlab(ornaments, mineral.name + "_carved", mineral.name + "_carved_top")).setDisplay(mineral.displayCarvedSlab).setMiningTool(Equipment.PICKAXE, 1));
|
|
register(mineral.name + "_ornaments_stairs", (new BlockStairs(ornaments, mineral.name + "_carved", mineral.name + "_carved_top")).setDisplay(mineral.displayCarvedStairs).setMiningTool(Equipment.PICKAXE, 1));
|
|
register(mineral.name + "_pillar", (new BlockQuartzPillar(mineral.name)).setSound(SoundType.STONE).setHardness(0.8F).setDisplay(mineral.displayPillar).setMiningTool(Equipment.PICKAXE, 1));
|
|
}
|
|
|
|
register("stone_slab", (new BlockSlab(stone)).setDisplay("Steinstufe"));
|
|
register("stone_stairs", (new BlockStairs(stone)).setDisplay("Steintreppe"));
|
|
|
|
register("bedrock_slab", (new BlockSlab(bedrock)).setDisplay("Grundgesteinstufe"));
|
|
register("bedrock_stairs", (new BlockStairs(bedrock)).setDisplay("Grundgesteintreppe"));
|
|
|
|
register("rock_slab", (new BlockSlab(rock)).setDisplay("Felsenstufe"));
|
|
register("rock_stairs", (new BlockStairs(rock)).setDisplay("Felsentreppe"));
|
|
|
|
register("smooth_rock_slab", (new BlockSlab(smooth_rock)).setDisplay("Glatte Felsenstufe"));
|
|
register("smooth_rock_stairs", (new BlockStairs(smooth_rock)).setDisplay("Glatte Felsentreppe"));
|
|
|
|
register("hellrock_slab", (new BlockSlab(hellrock)).setDisplay("Höllensteinstufe"));
|
|
register("hellrock_stairs", (new BlockStairs(hellrock)).setDisplay("Höllensteintreppe"));
|
|
|
|
register("cell_rock_slab", (new BlockSlab(cell_rock)).setDisplay("Zellsteinstufe"));
|
|
register("cell_rock_stairs", (new BlockStairs(cell_rock)).setDisplay("Zellsteintreppe"));
|
|
|
|
register("moon_rock_slab", (new BlockSlab(moon_rock)).setDisplay("Mondgesteinstufe"));
|
|
register("moon_rock_stairs", (new BlockStairs(moon_rock)).setDisplay("Mondgesteintreppe"));
|
|
|
|
register("cobblestone_slab", (new BlockSlab(cobblestone)).setDisplay("Bruchsteinstufe"));
|
|
register("cobblestone_stairs", (new BlockStairs(cobblestone)).setDisplay("Bruchsteintreppe"));
|
|
register("cobblestone_wall", (new BlockWall(cobblestone)).setDisplay("Bruchsteinmauer"));
|
|
|
|
register("mossy_cobblestone_slab", (new BlockSlab(mossy_cobblestone)).setDisplay("Bemooste Bruchsteinstufe"));
|
|
register("mossy_cobblestone_stairs", (new BlockStairs(mossy_cobblestone)).setDisplay("Bemooste Bruchsteintreppe"));
|
|
register("mossy_cobblestone_wall", (new BlockWall(mossy_cobblestone)).setDisplay("Bemooste Bruchsteinmauer"));
|
|
|
|
register("sandstone_slab", (new BlockSlab(sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Sandsteinstufe"));
|
|
register("sandstone_stairs", (new BlockStairs(sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Sandsteintreppe"));
|
|
|
|
register("smooth_sandstone_slab", (new BlockSlab(smooth_sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Glatte Sandsteinstufe"));
|
|
register("smooth_sandstone_stairs", (new BlockStairs(smooth_sandstone, "sandstone_bottom", "sandstone_all")).setDisplay("Glatte Sandsteintreppe"));
|
|
|
|
register("obsidian_slab", (new BlockSlab(obsidian)).setDisplay("Obsidianstufe"));
|
|
register("obsidian_stairs", (new BlockStairs(obsidian)).setDisplay("Obsidiantreppe"));
|
|
|
|
register("clay_slab", (new BlockSlab(clay)).setDisplay("Tonstufe"));
|
|
register("clay_stairs", (new BlockStairs(clay)).setDisplay("Tontreppe"));
|
|
|
|
register("hardened_clay_slab", (new BlockSlab(hardened_clay)).setDisplay("Gebrannte Tonstufe"));
|
|
register("hardened_clay_stairs", (new BlockStairs(hardened_clay)).setDisplay("Gebrannte Tontreppe"));
|
|
|
|
for(Color color : Color.values()) {
|
|
Block block = colored_clay[color.ordinal()];
|
|
register(color.getName() + "_clay_slab", (new BlockSlab(block)).setDisplay(color.getDisplay() + " gefärbte Tonstufe"));
|
|
register(color.getName() + "_clay_stairs", (new BlockStairs(block)).setDisplay(color.getDisplay() + " gefärbte Tontreppe"));
|
|
}
|
|
|
|
register("cyber_slab", (new BlockSlab(cyber)).setDisplay("CYBERSTUFE"));
|
|
register("cyber_stairs", (new BlockStairs(cyber)).setDisplay("CYBERTREPPE"));
|
|
|
|
register("blackened_stone_slab", (new BlockSlab(blackened_stone)).setDisplay("Schwarzsteinstufe"));
|
|
register("blackened_stone_stairs", (new BlockStairs(blackened_stone)).setDisplay("Schwarzsteintreppe"));
|
|
|
|
register("blackened_cobble_slab", (new BlockSlab(blackened_cobble)).setDisplay("Schwarzbruchsteinstufe"));
|
|
register("blackened_cobble_stairs", (new BlockStairs(blackened_cobble)).setDisplay("Schwarzbruchsteintreppe"));
|
|
|
|
register("dirt_slab", (new BlockSlab(dirt)).setDisplay("Erdstufe"));
|
|
register("dirt_stairs", (new BlockStairs(dirt)).setDisplay("Erdtreppe"));
|
|
|
|
register("grass_slab", (new BlockSlab(grass, "dirt", "grass_top", "dirt", "grass_side")).setDisplay("Grasstufe"));
|
|
|
|
register("coarse_dirt_slab", (new BlockSlab(coarse_dirt)).setDisplay("Grobe Erdstufe"));
|
|
register("coarse_dirt_stairs", (new BlockStairs(coarse_dirt)).setDisplay("Grobe Erdtreppe"));
|
|
|
|
register("podzol_slab", (new BlockSlab(podzol, "dirt", "podzol_top", "dirt", "podzol_side")).setDisplay("Podsolstufe"));
|
|
|
|
register("mycelium_slab", (new BlockSlab(mycelium, "dirt", "mycelium_top", "dirt", "mycelium_side")).setDisplay("Myzelstufe"));
|
|
|
|
register("swamp_slab", (new BlockSlab(swamp, "dirt", "swamp_top", "dirt", "swamp_side")).setDisplay("Sumpfstufe"));
|
|
|
|
register("tian_slab", (new BlockSlab(tian)).setDisplay("Tianstufe"));
|
|
register("tian_stairs", (new BlockStairs(tian)).setDisplay("Tiantreppe"));
|
|
register("tian_soil_slab", (new BlockSlab(tian_soil, "tian", "tian_soil_top", "tian", "tian_soil_side")).setDisplay("Tianerdestufe"));
|
|
|
|
register("blackened_dirt_slab", (new BlockSlab(blackened_dirt)).setDisplay("Schwarzerdestufe"));
|
|
register("blackened_dirt_stairs", (new BlockStairs(blackened_dirt)).setDisplay("Schwarzerdetreppe"));
|
|
register("blackened_soil_slab", (new BlockSlab(blackened_soil, "blackened_dirt", "blackened_soil_top", "blackened_dirt", "blackened_soil_side")).setDisplay("Schwarzgrasstufe"));
|
|
|
|
register("slime_slab", (new BlockSlab(slime_block)).setDisplay("Schleimstufe"));
|
|
register("slime_stairs", (new BlockStairs(slime_block)).setDisplay("Schleimtreppe"));
|
|
|
|
register("cheese_slab", (new BlockSlab(cheese)).setDisplay("Käsestufe"));
|
|
register("cheese_stairs", (new BlockStairs(cheese)).setDisplay("Käsetreppe"));
|
|
|
|
register("iron_bars", (new BlockPane(Material.SOLID)).setHardness(5.0F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Eisengitter"));
|
|
|
|
Block brick_block = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Ziegelsteine").setTab(CheatTab.BLOCKS);
|
|
register("brick_block", brick_block);
|
|
register("brick_slab", (new BlockSlab(brick_block)).setDisplay("Ziegelstufe"));
|
|
register("brick_stairs", (new BlockStairs(brick_block)).setDisplay("Ziegeltreppe"));
|
|
|
|
Block stonebrick = (new Block(Material.SOLID)).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Steinziegel").setTab(CheatTab.BLOCKS);
|
|
register("stonebrick", stonebrick);
|
|
register("stonebrick_slab", (new BlockSlab(stonebrick)).setDisplay("Steinziegelstufe"));
|
|
register("stonebrick_stairs", (new BlockStairs(stonebrick)).setDisplay("Steinziegeltreppe"));
|
|
Block mossy_stonebrick;
|
|
register("mossy_stonebrick", (mossy_stonebrick = new Block(Material.SOLID)).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Bemooste Steinziegel").setTab(CheatTab.BLOCKS));
|
|
register("mossy_stonebrick_slab", (new BlockSlab(mossy_stonebrick)).setDisplay("Bemooste Steinziegelstufe"));
|
|
register("mossy_stonebrick_stairs", (new BlockStairs(mossy_stonebrick)).setDisplay("Bemooste Steinziegeltreppe"));
|
|
Block cracked_stonebrick;
|
|
register("cracked_stonebrick", (cracked_stonebrick = new Block(Material.SOLID)).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Rissige Steinziegel").setTab(CheatTab.BLOCKS));
|
|
register("cracked_stonebrick_slab", (new BlockSlab(cracked_stonebrick)).setDisplay("Rissige Steinziegelstufe"));
|
|
register("cracked_stonebrick_stairs", (new BlockStairs(cracked_stonebrick)).setDisplay("Rissige Steinziegeltreppe"));
|
|
register("carved_stonebrick", (new Block(Material.SOLID)).setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Gemeißelte Steinziegel").setTab(CheatTab.BLOCKS));
|
|
|
|
|
|
Block blood_brick = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Blutrote Ziegel").setTab(CheatTab.BLOCKS);
|
|
register("blood_brick", blood_brick);
|
|
register("blood_brick_slab", (new BlockSlab(blood_brick)).setDisplay("Blutrote Ziegelstufe"));
|
|
register("blood_brick_fence", (new BlockFence(Material.SOLID, "blood_brick")).setHardness(2.0F).setResistance(10.0F)
|
|
.setSound(SoundType.STONE).setDisplay("Blutroter Ziegelzaun"));
|
|
register("blood_brick_stairs", (new BlockStairs(blood_brick)).setDisplay("Blutrote Ziegeltreppe"));
|
|
|
|
|
|
Block black_brick = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Schwarze Ziegel").setTab(CheatTab.BLOCKS);
|
|
register("black_brick", black_brick);
|
|
register("black_brick_slab", (new BlockSlab(black_brick)).setDisplay("Schwarze Ziegelstufe"));
|
|
register("black_brick_stairs", (new BlockStairs(black_brick)).setDisplay("Schwarze Ziegeltreppe"));
|
|
register("black_brick_fence", (new BlockFence(Material.SOLID, "black_brick")).setHardness(2.0F).setResistance(10.0F)
|
|
.setSound(SoundType.STONE).setDisplay("Schwarzer Ziegelzaun"));
|
|
|
|
Block concrete = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Beton").setTab(CheatTab.BLOCKS);
|
|
register("concrete", concrete);
|
|
register("concrete_slab", (new BlockSlab(concrete)).setDisplay("Betonstufe"));
|
|
register("concrete_stairs", (new BlockStairs(concrete)).setDisplay("Betontreppe"));
|
|
|
|
for(DecoType deco : DecoType.values()) {
|
|
Block block = (new Block(Material.SOLID)).setHardness(2.0F).setResistance(10.0F)
|
|
.setSound(SoundType.STONE).setDisplay(deco.display).setTab(CheatTab.BLOCKS);
|
|
register(deco.name, block);
|
|
register(deco.name + "_slab", (new BlockSlab(block)).setDisplay(deco.display + " - Stufe"));
|
|
register(deco.name + "_stairs", (new BlockStairs(block)).setDisplay(deco.display + " - Treppe"));
|
|
}
|
|
|
|
register("iron_door", (new BlockDoor(Material.SOLID)).setHardness(5.0F).setSound(SoundType.STONE).setDisplay("Eisentür"));
|
|
register("trapdoor", (new BlockTrapDoor(Material.WOOD)).setHardness(3.0F).setSound(SoundType.WOOD).setDisplay("Holzfalltür").setFlammable(5, 20));
|
|
register("iron_trapdoor", (new BlockTrapDoor(Material.SOLID)).setHardness(5.0F).setSound(SoundType.STONE).setDisplay("Eisenfalltür"));
|
|
|
|
register("core", new BlockCore().setHardness(1.5F).setResistance(10.0F).setSound(SoundType.STONE).setDisplay("Chunk-Lade-Kern"));
|
|
register("mob_spawner", (new BlockMobSpawner()).setHardness(3.0F).setResistance(8.0F).setSound(SoundType.STONE).setDisplay("Mob-Spawner"));
|
|
register("workbench", (new BlockWorkbench(1)).setHardness(2.5F).setSound(SoundType.WOOD).setDisplay("Werkbank"));
|
|
register("construction_table", (new BlockWorkbench(2)).setHardness(2.5F).setSound(SoundType.WOOD).setDisplay("Konstruktionstisch"));
|
|
register("assembly_unit", (new BlockWorkbench(3)).setHardness(2.5F).setSound(SoundType.WOOD).setDisplay("Fertigungseinheit"));
|
|
|
|
BlockFurnace stone_furnace = (BlockFurnace)register("stone_furnace", new BlockFurnace(200, 100).setDisplay("Steinofen"));
|
|
register("lit_stone_furnace", new BlockFurnace(stone_furnace));
|
|
|
|
BlockFurnace iron_furnace = (BlockFurnace)register("iron_furnace", new BlockFurnace(150, 100).setDisplay("Eiserner Ofen"));
|
|
register("lit_iron_furnace", new BlockFurnace(iron_furnace));
|
|
BlockFurnace titanium_furnace = (BlockFurnace)register("titanium_furnace", new BlockFurnace(100, 100).setDisplay("Titanofen"));
|
|
register("lit_titanium_furnace", new BlockFurnace(titanium_furnace));
|
|
BlockFurnace neptunium_furnace = (BlockFurnace)register("neptunium_furnace", new BlockFurnace(50, 70).setDisplay("Neptuniumofen"));
|
|
register("lit_neptunium_furnace", new BlockFurnace(neptunium_furnace));
|
|
BlockFurnace plutonium_furnace = (BlockFurnace)register("plutonium_furnace", new BlockFurnace(20, 50).setDisplay("Plutoniumofen"));
|
|
register("lit_plutonium_furnace", new BlockFurnace(plutonium_furnace));
|
|
|
|
BlockFurnace hell_furnace = (BlockFurnace)register("hell_furnace", new BlockFurnace(180, 120).setDisplay("Höllensteinofen"));
|
|
register("lit_hell_furnace", new BlockFurnace(hell_furnace));
|
|
BlockFurnace ardite_furnace = (BlockFurnace)register("ardite_furnace", new BlockFurnace(120, 140).setDisplay("Arditofen"));
|
|
register("lit_ardite_furnace", new BlockFurnace(ardite_furnace));
|
|
BlockFurnace black_metal_furnace = (BlockFurnace)register("black_metal_furnace", new BlockFurnace(80, 200).setDisplay("Schwarzmetallofen"));
|
|
register("lit_black_metal_furnace", new BlockFurnace(black_metal_furnace));
|
|
|
|
for(int z = 0; z < BlockAnvil.ANVILS.length; z++) {
|
|
register("anvil" + (z == 0 ? "" : "_damaged_" + z), (new BlockAnvil(z)).setHardness(5.0F).setSound(SoundType.STONE).setResistance(2000.0F).setDisplay((z == 0 ? "" : (z == 1 ? "Leicht beschädigter " : "Stark beschädigter ")) + "Amboss"));
|
|
}
|
|
register("enchanting_table", (new BlockEnchantmentTable()).setHardness(5.0F).setResistance(2000.0F).setDisplay("Zaubertisch"));
|
|
register("brewing_stand", (new BlockBrewingStand()).setHardness(0.5F).setLight(0x1f1f18).setDisplay("Braustand").setTab(CheatTab.TECHNOLOGY));
|
|
register("cauldron", (new BlockCauldron()).setHardness(2.0F).setDisplay("Kessel").setTab(CheatTab.TECHNOLOGY));
|
|
register("effect_generator", (new BlockEffectGenerator()).setDisplay("Effektgenerator").setLight(0xffffff));
|
|
|
|
register("wood_chest", new BlockChest(22).setDisplay("Holztruhe"));
|
|
register("stone_chest", new BlockChest(48).setDisplay("Steintruhe"));
|
|
register("iron_chest", new BlockChest(90).setDisplay("Eisentruhe"));
|
|
register("platinum_chest", new BlockChest(150).setDisplay("Platintruhe"));
|
|
register("silver_chest", new BlockChest(240).setDisplay("Silbertruhe"));
|
|
register("thetium_chest", new BlockChest(384).setDisplay("Thetiumtruhe"));
|
|
register("black_metal_chest", new BlockChest(480).setDisplay("Schwarzmetalltruhe"));
|
|
register("nichun_chest", new BlockChest(550).setDisplay("Nichuntruhe"));
|
|
register("warp_chest", (new BlockWarpChest()).setHardness(22.5F).setResistance(1000.0F).setSound(SoundType.STONE)
|
|
.setDisplay("Warptruhe").setLight(0x7f00af));
|
|
|
|
for(int z = 0; z < BlockTNT.TNTS.length; z++) {
|
|
register("tnt" + (z == 0 ? "" : "_" + z), (new BlockTNT(z)).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("TNT" + Util.getTierSuffix(z)));
|
|
}
|
|
register("nuke", (new BlockNuke()).setHardness(0.0F).setSound(SoundType.GRASS).setDisplay("T-17"));
|
|
|
|
register("piston", (new BlockPistonBase(false)).setDisplay("Kolben"));
|
|
register("sticky_piston", (new BlockPistonBase(true)).setDisplay("Klebriger Kolben"));
|
|
register("piston_head", (new BlockPistonHead(false)).setDisplay("Kolben"));
|
|
register("sticky_piston_head", (new BlockPistonHead(true)).setDisplay("Klebriger Kolben"));
|
|
register("dispenser", (new BlockDispenser(false)).setHardness(3.5F).setSound(SoundType.STONE).setDisplay("Werfer"));
|
|
register("dropper", (new BlockDispenser(true)).setHardness(3.5F).setSound(SoundType.STONE).setDisplay("Spender"));
|
|
register("pipe", (new BlockItemPipe()).setHardness(3.0F).setResistance(8.0F).setSound(SoundType.STONE).setDisplay("Rohr"));
|
|
register("suction_pipe", (new BlockSuctionPipe()).setHardness(3.0F).setResistance(8.0F).setSound(SoundType.STONE).setDisplay("Saugrohr"));
|
|
register("tian_reactor", (new BlockTianReactor()).setHardness(3.0F).setResistance(8.0F).setSound(SoundType.STONE).setDisplay("Tianreaktor"));
|
|
|
|
register("rail", (new BlockRail()).setHardness(0.7F).setSound(SoundType.STONE).setDisplay("Schiene").setMiningTool(Equipment.PICKAXE, 0));
|
|
|
|
register("lever", (new BlockLever()).setHardness(0.5F).setSound(SoundType.WOOD).setDisplay("Hebel"));
|
|
|
|
register("stone_pressure_plate", (new BlockPressurePlate(Material.SOLID, BlockPressurePlate.Sensitivity.MOBS)).setHardness(0.5F)
|
|
.setSound(SoundType.STONE).setDisplay("Steindruckplatte"));
|
|
register("wooden_pressure_plate", (new BlockPressurePlate(Material.WOOD, BlockPressurePlate.Sensitivity.EVERYTHING))
|
|
.setHardness(0.5F).setSound(SoundType.WOOD).setDisplay("Holzdruckplatte"));
|
|
register("light_weighted_pressure_plate", (new BlockPressurePlateWeighted(Material.SOLID, 15)).setHardness(0.5F)
|
|
.setSound(SoundType.WOOD).setDisplay("Wägeplatte (niedrige Gewichte)"));
|
|
register("heavy_weighted_pressure_plate", (new BlockPressurePlateWeighted(Material.SOLID, 150)).setHardness(0.5F)
|
|
.setSound(SoundType.WOOD).setDisplay("Wägeplatte (hohe Gewichte)"));
|
|
|
|
register("stone_button", (new BlockButton(false, 20, "stone")).setHardness(0.5F).setSound(SoundType.STONE).setDisplay("Knopf"));
|
|
register("wooden_button", (new BlockButton(true, 30, "oak_planks")).setHardness(0.5F).setSound(SoundType.WOOD).setDisplay("Knopf"));
|
|
register("red_button", (new BlockButton(true, 10, "red_button")).setHardness(0.5F).setSound(SoundType.STONE).setDisplay("Knopf"));
|
|
|
|
register("wire", (new BlockWire()).setHardness(0.0F).setSound(SoundType.STONE).setDisplay("Kabel").setTab(CheatTab.TECHNOLOGY));
|
|
BlockUnlitTorch torch;
|
|
register("torch", (torch = new BlockUnlitTorch(0xffffffff)).setHardness(0.0F).setSound(SoundType.WOOD).setDisplay("Fackel"));
|
|
register("lit_torch", (new BlockLitTorch(torch)).setHardness(0.0F).setLight(0xefef9f).setSound(SoundType.WOOD).setDisplay("Fackel"));
|
|
BlockUnlitTorch tian_torch;
|
|
register("tian_torch", (tian_torch = new BlockUnlitTorch(0x7f00ff)).setHardness(0.0F).setSound(SoundType.WOOD).setDisplay("Tian-Fackel"));
|
|
register("lit_tian_torch", (new BlockLitTorch(tian_torch)).setHardness(0.0F).setLight(0xaf00ff).setSound(SoundType.WOOD)
|
|
.setDisplay("Tian-Fackel"));
|
|
BlockUnlitTorch soul_torch;
|
|
register("soul_torch", (soul_torch = new BlockUnlitTorch(0x1f1fff)).setHardness(0.0F).setSound(SoundType.WOOD).setDisplay("Seelenfackel"));
|
|
register("lit_soul_torch", (new BlockLitTorch(soul_torch)).setHardness(0.0F).setLight(0x0000af).setSound(SoundType.WOOD)
|
|
.setDisplay("Seelenfackel"));
|
|
register("lamp", (new BlockToggleableLight(false)).setHardness(0.3F).setSound(SoundType.GLASS)
|
|
.setDisplay("Lampe").setTab(CheatTab.TECHNOLOGY));
|
|
register("lit_lamp", (new BlockToggleableLight(true)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay("Lampe"));
|
|
register("hook", (new BlockHook()).setDisplay("Haken"));
|
|
register("string", (new BlockString()).setDisplay("Seil").setTab(CheatTab.TECHNOLOGY));
|
|
|
|
for(Block block : BLOCKS) {
|
|
for(State state : block.getSavedStates()) {
|
|
String name = state.getId();
|
|
STATE_MAP.put(name, state);
|
|
int id = STATES.size();
|
|
STATES.add(state);
|
|
for(State sub : block.getValidStates()) {
|
|
if(sub.getId().equals(name)) {
|
|
STATE_NAMES.put(sub, name);
|
|
STATE_IDS.put(sub, id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Log.SYSTEM.debug("%d Blöcke registriert", BLOCK_MAP.size());
|
|
Log.SYSTEM.debug("%d Blockzustände registriert", STATE_MAP.size());
|
|
}
|
|
}
|