package game.init; import java.util.Map; import java.util.Set; import java.util.function.Function; import game.block.Block; import game.block.BlockBed; import game.block.BlockButton; import game.block.BlockDirt; import game.block.BlockDoor; import game.block.BlockDoublePlant; import game.block.BlockFence; import game.block.BlockFlower; import game.block.BlockLeaves; import game.block.BlockOre; import game.block.BlockSand; import game.block.BlockSandStone; import game.block.BlockSapling; import game.block.BlockSlab; import game.block.BlockStoneBrick; import game.block.BlockWall; import game.collect.Maps; import game.collect.Sets; import game.color.DyeColor; import game.color.TextColor; import game.entity.item.EntityCart; import game.entity.npc.CharacterInfo; import game.entity.npc.SpeciesInfo; import game.item.CheatTab; import game.item.Item; import game.item.ItemAmmo; import game.item.ItemAnvilBlock; import game.item.ItemAppleGold; import game.item.ItemArmor; import game.item.ItemAxe; import game.item.ItemBanHammer; import game.item.ItemBanner; import game.item.ItemBed; import game.item.ItemBlock; import game.item.ItemBoat; import game.item.ItemBoltgun; import game.item.ItemBook; import game.item.ItemBow; import game.item.ItemBucket; import game.item.ItemBucketMilk; import game.item.ItemButton; import game.item.ItemCamera; import game.item.ItemCarrotOnAStick; import game.item.ItemChargedOrb; import game.item.ItemChest; import game.item.ItemCloth; import game.item.ItemCoal; import game.item.ItemColored; import game.item.ItemDie; import game.item.ItemDispenser; import game.item.ItemDoor; import game.item.ItemDoublePlant; import game.item.ItemDye; import game.item.ItemDynamite; import game.item.ItemEditWand; import game.item.ItemEffect; import game.item.ItemEgg; import game.item.ItemEnchantedBook; import game.item.ItemExpBottle; import game.item.ItemExterminator; import game.item.ItemFence; import game.item.ItemFireball; import game.item.ItemFirework; import game.item.ItemFireworkCharge; import game.item.ItemFishFood; import game.item.ItemFishingRod; import game.item.ItemFlintAndSteel; import game.item.ItemFood; import game.item.ItemFragile; import game.item.ItemGlassBottle; import game.item.ItemHoe; import game.item.ItemHorseArmor; import game.item.ItemHugeMushroom; import game.item.ItemInfoWand; import game.item.ItemKey; import game.item.ItemLead; import game.item.ItemLeaves; import game.item.ItemLightning; import game.item.ItemLilyPad; import game.item.ItemMagnet; import game.item.ItemMagnetic; import game.item.ItemMetal; import game.item.ItemMetalBlock; import game.item.ItemMinecart; import game.item.ItemMonsterPlacer; import game.item.ItemMultiTexture; import game.item.ItemNameTag; import game.item.ItemNpcSpawner; import game.item.ItemNugget; import game.item.ItemPickaxe; import game.item.ItemPiston; import game.item.ItemPotion; import game.item.ItemPressurePlate; import game.item.ItemRecord; import game.item.ItemRedstone; import game.item.ItemReed; import game.item.ItemRod; import game.item.ItemSaddle; import game.item.ItemSeedFood; import game.item.ItemSeeds; import game.item.ItemShears; import game.item.ItemSign; import game.item.ItemSkull; import game.item.ItemSlab; import game.item.ItemSmall; import game.item.ItemSnow; import game.item.ItemSnowball; import game.item.ItemSoup; import game.item.ItemSpaceNavigator; import game.item.ItemSpade; import game.item.ItemStack; import game.item.ItemStick; import game.item.ItemSword; import game.item.ItemTNT; import game.item.ItemTiny; import game.item.ItemWall; import game.item.ItemWeatherToken; import game.potion.Potion; import game.potion.PotionHelper; import game.world.Weather; public abstract class ItemRegistry { public static final RegistryNamespaced REGISTRY = new RegistryNamespaced(); public static final Map BLOCKMAP = Maps.newHashMap(); public static final Set SPECIALIZED = Sets.newHashSet(); private static int nextItemId = 4096; public static int getIdFromItem(Item item) { return item == null ? 0 : REGISTRY.getIDForObject(item); } public static Item getItemById(int id) { return REGISTRY.getObjectById(id); } public static ItemBlock getItemFromBlock(Block block) { return BLOCKMAP.get(block); } public static Item getRegisteredItem(String name) { return REGISTRY.getObject(name); } private static ItemBlock registerFlat(Block block) { ItemBlock item = new ItemBlock(block, ""); registerBlock(block, item); return item; } private static ItemBlock registerFlat(Block block, String texture) { ItemBlock item = new ItemBlock(block, texture.indexOf('/') == -1 ? "blocks/" + texture : texture); registerBlock(block, item); return item; } private static void registerBlock(Block block, ItemBlock item) { REGISTRY.register(BlockRegistry.getIdFromBlock(block), BlockRegistry.REGISTRY.getNameForObject(block), item); BLOCKMAP.put(block, item); } private static void registerSpecial(Block block) { if(BLOCKMAP.containsKey(block) || SPECIALIZED.contains(block)) throw new IllegalArgumentException("Block " + BlockRegistry.REGISTRY.getNameForObject(block) + " ist bereits registriert"); SPECIALIZED.add(block); } private static void registerItem(String name, Item item) { if(item.getBlock() != null) throw new IllegalArgumentException("Item " + name + " darf keinen Block besitzen"); REGISTRY.register(nextItemId++, name, item); } private static void registerItem(Item item) { if(item.getBlock() == null) throw new IllegalArgumentException("Unbenanntes Item benötigt einen Block"); registerSpecial(item.getBlock()); REGISTRY.register(BlockRegistry.getIdFromBlock(item.getBlock()), BlockRegistry.REGISTRY.getNameForObject(item.getBlock()), item); } private static void registerTools(ToolMaterial material, String name, String prefix) { // String loc = name.substring(0, 1).toUpperCase() + name.substring(1); if(material.hasTools()) { registerItem(name + "_shovel", (new ItemSpade(material)).setDisplay(prefix + "schaufel")); registerItem(name + "_pickaxe", (new ItemPickaxe(material)).setDisplay(prefix + "spitzhacke")); registerItem(name + "_axe", (new ItemAxe(material)).setDisplay(prefix + "axt")); registerItem(name + "_hoe", (new ItemHoe(material)).setDisplay(prefix + "hacke")); } if(material.hasExtras()) { registerItem(name + "_shears", (new ItemShears(material)).setDisplay(prefix + "schere")); registerItem(name + "_horse_armor", (new ItemHorseArmor(material, name)).setDisplay(prefix + "pferderüstung")); } if(material.hasWeapons()) { registerItem(name + "_sword", (new ItemSword(material)).setDisplay(prefix + "schwert")); } if(material.hasArmor()) { registerItem(name + "_helmet", (new ItemArmor(material, name, 0)).setDisplay(prefix == null ? "Kappe" : prefix + "helm")); registerItem(name + "_chestplate", (new ItemArmor(material, name, 1)).setDisplay(prefix == null ? "Jacke" : prefix + "brustpanzer")); registerItem(name + "_leggings", (new ItemArmor(material, name, 2)).setDisplay(prefix == null ? "Hose" : prefix + "beinschutz")); registerItem(name + "_boots", (new ItemArmor(material, name, 3)).setDisplay(prefix == null ? "Stiefel" : prefix + "stiefel")); } } static void register() { registerBlock(Blocks.grass, new ItemColored(Blocks.grass, false)); registerBlock(Blocks.dirt, (new ItemMultiTexture(Blocks.dirt, Blocks.dirt, new Function() { public String apply(ItemStack p_apply_1_) { return BlockDirt.DirtType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Erde")); // registerBlock(Blocks.planks, (new ItemMultiTexture(Blocks.planks, Blocks.planks, new Function() { // public String apply(ItemStack p_apply_1_) { // return BlockPlanks.EnumType.byMetadata(p_apply_1_.getMetadata()).getUnlocalizedName(); // } // })).setUnlocalizedName("wood")); // registerBlock(Blocks.sapling, (new ItemMultiTexture(Blocks.sapling, Blocks.sapling, true, new Function() { // public String apply(ItemStack p_apply_1_) { // return BlockPlanks.EnumType.byMetadata(p_apply_1_.getMetadata()).getUnlocalizedName(); // } // })).setUnlocalizedName("sapling")); registerBlock(Blocks.sand, (new ItemMultiTexture(Blocks.sand, Blocks.sand, new Function() { public String apply(ItemStack p_apply_1_) { return BlockSand.EnumType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Sand")); // registerBlock(Blocks.log, (new ItemMultiTexture(Blocks.log, Blocks.log, new Function() { // public String apply(ItemStack p_apply_1_) { // return BlockPlanks.EnumType.byMetadata(p_apply_1_.getMetadata()).getUnlocalizedName(); // } // })).setUnlocalizedName("log")); // registerBlock(Blocks.log2, (new ItemMultiTexture(Blocks.log2, Blocks.log2, new Function() { // public String apply(ItemStack p_apply_1_) { // return BlockPlanks.EnumType.byMetadata(p_apply_1_.getMetadata() + 4).getUnlocalizedName(); // } // })).setUnlocalizedName("log")); registerBlock(Blocks.dispenser, new ItemDispenser(Blocks.dispenser)); registerBlock(Blocks.sandstone, (new ItemMultiTexture(Blocks.sandstone, Blocks.sandstone, new Function() { public String apply(ItemStack p_apply_1_) { return BlockSandStone.EnumType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Sandstein")); registerFlat(Blocks.golden_rail); registerFlat(Blocks.detector_rail); registerBlock(Blocks.sticky_piston, new ItemPiston(Blocks.sticky_piston)); registerFlat(Blocks.web); registerBlock(Blocks.tallgrass, (new ItemColored(Blocks.tallgrass, true, "")).setSubtypeNames(new String[] {"Busch", "Gras", "Farn"})); registerFlat(Blocks.deadbush); registerBlock(Blocks.piston, new ItemPiston(Blocks.piston)); registerBlock(Blocks.wool, (new ItemCloth(Blocks.wool, -1)).setDisplay("Wolle")); registerBlock(Blocks.flower, (new ItemMultiTexture(Blocks.flower, Blocks.flower, true, new Function() { public String apply(ItemStack stack) { return BlockFlower.EnumFlowerType.getType(BlockFlower.EnumFlowerColor.BASE, stack.getMetadata()).getDisplay(); } })).setDisplay("Blume")); registerFlat(Blocks.brown_mushroom); registerFlat(Blocks.red_mushroom); registerBlock(Blocks.tnt, new ItemTNT(Blocks.tnt)); registerBlock(Blocks.nuke, new ItemBlock(Blocks.nuke).setColor(TextColor.RED)); registerFlat(Blocks.torch); registerBlock(Blocks.chest, new ItemChest(Blocks.chest)); registerFlat(Blocks.ladder); registerFlat(Blocks.rail); registerFlat(Blocks.lever, "lever"); registerBlock(Blocks.stone_pressure_plate, new ItemPressurePlate(Blocks.stone_pressure_plate)); registerBlock(Blocks.wooden_pressure_plate, new ItemPressurePlate(Blocks.wooden_pressure_plate)); registerFlat(Blocks.redstone_torch); // registerBlock(Blocks.stone_button, new ItemButton(Blocks.stone_button)); registerBlock(Blocks.snow_layer, new ItemSnow(Blocks.snow_layer)); // registerBlock(Blocks.oak_fence, new ItemFence(Blocks.oak_fence)); // registerBlock(Blocks.spruce_fence, new ItemFence(Blocks.spruce_fence)); // registerBlock(Blocks.birch_fence, new ItemFence(Blocks.birch_fence)); // registerBlock(Blocks.jungle_fence, new ItemFence(Blocks.jungle_fence)); // registerBlock(Blocks.dark_oak_fence, new ItemFence(Blocks.dark_oak_fence)); // registerBlock(Blocks.acacia_fence, new ItemFence(Blocks.acacia_fence)); registerBlock(Blocks.stonebrick, (new ItemMultiTexture(Blocks.stonebrick, Blocks.stonebrick, new Function() { public String apply(ItemStack p_apply_1_) { return BlockStoneBrick.EnumType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Steinziegel")); registerBlock(Blocks.brown_mushroom_block, new ItemHugeMushroom(Blocks.brown_mushroom_block)); registerBlock(Blocks.red_mushroom_block, new ItemHugeMushroom(Blocks.red_mushroom_block)); registerFlat(Blocks.iron_bars); registerFlat(Blocks.glass_pane, "glass"); registerBlock(Blocks.vine, new ItemColored(Blocks.vine, false, "")); registerBlock(Blocks.waterlily, new ItemLilyPad(Blocks.waterlily)); // registerBlock(Blocks.blood_brick_fence, new ItemFence(Blocks.blood_brick_fence)); // registerBlock(Blocks.black_brick_fence, new ItemFence(Blocks.black_brick_fence)); registerFlat(Blocks.tripwire_hook, "tripwire_hook"); registerBlock(Blocks.cobblestone_wall, (new ItemWall(Blocks.cobblestone_wall, Blocks.cobblestone_wall, new Function() { public String apply(ItemStack p_apply_1_) { return BlockWall.EnumType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Bruchsteinmauer")); // registerBlock(Blocks.wooden_button, new ItemButton(Blocks.wooden_button)); registerBlock(Blocks.anvil, (new ItemAnvilBlock(Blocks.anvil)).setDisplay("Amboss")); registerBlock(Blocks.trapped_chest, new ItemChest(Blocks.trapped_chest)); registerBlock(Blocks.light_weighted_pressure_plate, new ItemPressurePlate(Blocks.light_weighted_pressure_plate)); registerBlock(Blocks.heavy_weighted_pressure_plate, new ItemPressurePlate(Blocks.heavy_weighted_pressure_plate)); registerFlat(Blocks.hopper, "items/hopper"); registerBlock(Blocks.quartz_block, (new ItemMultiTexture(Blocks.quartz_block, Blocks.quartz_block, new String[] {"Quarzblock", "Gemeißelter Quarzblock", "Quarzsäule"})) .setDisplay("Quarzblock")); registerBlock(Blocks.black_quartz_block, (new ItemMultiTexture(Blocks.black_quartz_block, Blocks.black_quartz_block, new String[] {"Schwarzer Quarzblock", "Schwarzer gemeißelter Quarzblock", "Schwarze Quarzsäule"})) .setDisplay("Schwarzer Quarzblock")); registerFlat(Blocks.activator_rail); registerBlock(Blocks.dropper, new ItemDispenser(Blocks.dropper)); registerBlock(Blocks.stained_hardened_clay, (new ItemCloth(Blocks.stained_hardened_clay, null)).setDisplay("gefärbter Ton")); registerBlock(Blocks.carpet, (new ItemCloth(Blocks.carpet, 1)).setDisplay("Teppich")); registerBlock(Blocks.double_plant, (new ItemDoublePlant(Blocks.double_plant, Blocks.double_plant, new Function() { public String apply(ItemStack p_apply_1_) { return BlockDoublePlant.EnumPlantType.byMetadata(p_apply_1_.getMetadata()).getDisplay(); } })).setDisplay("Pflanze")); registerBlock(Blocks.stained_glass, (new ItemCloth(Blocks.stained_glass, null)).setDisplay("Glas")); registerBlock(Blocks.stained_glass_pane, (new ItemCloth(Blocks.stained_glass_pane, null, "glass")).setDisplay("Glasscheibe")); // registerBlock(Blocks.cherry_fence, new ItemFence(Blocks.cherry_fence)); // registerBlock(Blocks.maple_fence, new ItemFence(Blocks.maple_fence)); registerFlat(Blocks.blue_mushroom); // registerBlock(Blocks.red_button, new ItemButton(Blocks.red_button)); registerBlock(Blocks.rock, (new ItemMultiTexture(Blocks.rock, Blocks.rock, new Function() { public String apply(ItemStack stack) { return stack.getMetadata() == 1 ? "Glatter Felsen" : "Felsen"; } })).setDisplay("Felsen")); for(BlockLeaves leaves : BlockLeaves.LEAVES) { registerBlock(leaves, new ItemLeaves(leaves)); // .setDisplay(BlockRegistry.REGISTRY.getNameForObject(leaves))); } for(BlockSlab slab : BlockSlab.SLABS) { registerBlock(slab, new ItemSlab(slab)); } for(BlockFence fence : BlockFence.FENCES) { registerBlock(fence, new ItemFence(fence)); } for(BlockButton button : BlockButton.BUTTONS) { registerBlock(button, new ItemButton(button)); } for(BlockSapling sapling : BlockSapling.SAPLINGS) { registerFlat(sapling); } Item bucket = (new ItemBucket(null, false)).setDisplay("Eimer"); registerItem("bucket", bucket); for(int z = 0; z < FluidRegistry.getNumFluids(); z++) { registerItem(BlockRegistry.REGISTRY.getNameForObject(FluidRegistry.getStaticBlock(z)) + "_bucket", new ItemBucket(FluidRegistry.getFluidBlock(z), false).setDisplay("Eimer") .setContainerItem(bucket)); } registerItem("recursive_bucket", (new ItemBucket(null, true)).setDisplay("Unendlicher Eimer")); for(int z = 0; z < FluidRegistry.getNumFluids(); z++) { registerItem("recursive_" + BlockRegistry.REGISTRY.getNameForObject(FluidRegistry.getStaticBlock(z)) + "_bucket", new ItemBucket(FluidRegistry.getFluidBlock(z), true).setDisplay("Flutender Eimer")); } registerItem("milk_bucket", (new ItemBucketMilk()).setDisplay("Milch").setContainerItem(bucket)); // registerItem("painting", (new ItemHangingEntity(EntityPainting.class)).setDisplay("Gemälde")); // registerItem("item_frame", (new ItemHangingEntity(EntityFrame.class)).setDisplay("Rahmen")); registerItem("boat", (new ItemBoat()).setDisplay("Boot")); registerItem("minecart", (new ItemMinecart(EntityCart.EnumMinecartType.RIDEABLE)).setDisplay("Lore")); registerItem("chest_minecart", (new ItemMinecart(EntityCart.EnumMinecartType.CHEST)).setDisplay("Güterlore")); registerItem("hopper_minecart", (new ItemMinecart(EntityCart.EnumMinecartType.HOPPER)).setDisplay("Trichterlore")); registerItem("tnt_minecart", (new ItemMinecart(EntityCart.EnumMinecartType.TNT)).setDisplay("TNT-Lore") .setColor(TextColor.RED)); for(EntityEggInfo egg : EntityRegistry.SPAWN_EGGS.values()) { registerItem(egg.spawnedID.toLowerCase() + "_spawner", (new ItemMonsterPlacer(egg.spawnedID)) .setDisplay("Spawner").setMaxStackSize(ItemStack.MAX_SIZE)); } for(SpeciesInfo species : SpeciesRegistry.SPECIMEN) { for(CharacterInfo charinfo : species.chars) { if(charinfo.spawner) registerItem(charinfo.skin.replace("~", "") + "_spawner", (new ItemNpcSpawner(charinfo)).setDisplay("NSC-Spawner") .setMaxStackSize(ItemStack.MAX_SIZE)); } } registerItem("wand", (new ItemEditWand()).setDisplay("Bearbeitungswerkzeug")); registerItem("info_wand", (new ItemInfoWand()).setDisplay("Infowerkzeug")); registerItem("lightning_wand", (new ItemLightning()).setDisplay("Geladenes Zepter")); registerItem("banhammer", (new ItemBanHammer()).setDisplay("Hammer der Verbannung").setTab(CheatTab.tabTools)); registerItem("key", (new ItemKey()).setDisplay("Schlüssel").setTab(CheatTab.tabTools).setMaxStackSize(128)); registerItem("die", (new ItemDie()).setDisplay("Würfel").setMaxStackSize(128)); registerItem("chick_magnet", (new ItemMagnet(true)).setDisplay("Kükenmagnet")); registerItem("magnet", (new ItemMagnet(false)).setDisplay("Magnet")); registerItem("camera", (new ItemCamera()).setDisplay("Kamera").setTab(CheatTab.tabTools)); for(Weather weather : Weather.values()) { registerItem("weather_token_" + weather.getName(), new ItemWeatherToken(weather).setDisplay("Wetterkristall").setTab(CheatTab.tabTools)); } registerItem("flint_and_steel", (new ItemFlintAndSteel()).setDisplay("Feuerzeug")); registerItem("apple", (new ItemFood(4, false)).setDisplay("Apfel").setMaxStackSize(128)); registerItem("bow", (new ItemBow()).setDisplay("Bogen")); registerItem("boltgun", (new ItemBoltgun()).setDisplay("Bolter")); registerItem("bolt", (new ItemAmmo(5, 1.0f, 128)).setDisplay("Bolter-Munition")); registerItem("arrow", (new Item()).setDisplay("Pfeil").setTab(CheatTab.tabCombat).setMaxStackSize(128)); Item coal = (new ItemCoal()).setDisplay("Kohle"); registerItem("coal", coal); registerItem("stick", (new ItemStick()).setDisplay("Stock").setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("bowl", (new ItemSmall()).setDisplay("Schüssel").setTab(CheatTab.tabMisc)); registerItem("mushroom_stew", (new ItemSoup(6)).setDisplay("Pilzsuppe")); registerItem((new ItemReed(Blocks.string)).setDisplay("Faden").setTab(CheatTab.tabTech).setMaxStackSize(1024)); registerItem("feather", (new Item()).setDisplay("Feder").setTab(CheatTab.tabMaterials).setMaxStackSize(512)); registerItem("gunpowder", (new Item()).setDisplay("Schwarzpulver").setPotionEffect(PotionHelper.gunpowderEffect).setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem((new ItemSeeds(Blocks.wheat, Blocks.farmland)).setDisplay("Weizenkörner").setMaxStackSize(256)); registerItem("wheats", (new Item()).setDisplay("Weizen").setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem("bread", (new ItemFood(5, false)).setDisplay("Brot")); registerItem("flint", (new Item()).setDisplay("Feuerstein").setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem("porkchop", (new ItemFood(3, true)).setDisplay("Rohes Schweinefleisch")); registerItem("cooked_porkchop", (new ItemFood(8, true)).setDisplay("Gebratenes Schweinefleisch")); registerItem("golden_apple", (new ItemAppleGold(4, false)).setPotionEffect(Potion.regeneration.id, 5, 1, 1.0F) .setDisplay("Goldener Apfel")); registerItem((new ItemSign()).setDisplay("Schild")); // registerItem("oak_door", (new ItemDoor(Blocks.oak_door)).setUnlocalizedName("doorOak")); // registerItem("water_bucket", (new ItemBucket(Blocks.flowing_water)).setUnlocalizedName("bucketWater").setContainerItem(bucket)); // registerItem("lava_bucket", (new ItemBucket(Blocks.flowing_lava)).setUnlocalizedName("bucketLava").setContainerItem(bucket)); registerItem("saddle", (new ItemSaddle()).setDisplay("Sattel")); // registerItem("iron_door", (new ItemDoor(Blocks.iron_door)).setUnlocalizedName("doorIron")); registerItem((new ItemRedstone()).setDisplay("Redstone").setPotionEffect(PotionHelper.redstoneEffect).setMaxStackSize(256)); registerItem("snowball", (new ItemSnowball()).setDisplay("Schneeball").setMaxStackSize(128)); registerItem("leather", (new Item()).setDisplay("Leder").setTab(CheatTab.tabMaterials)); registerItem("brick", (new Item()).setDisplay("Ziegel").setTab(CheatTab.tabMaterials)); registerItem("clay_ball", (new Item()).setDisplay("Ton").setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem((new ItemReed(Blocks.reeds)).setDisplay("Zuckerrohr").setTab(CheatTab.tabPlants).setMaxStackSize(128)); registerItem("paper", (new Item()).setDisplay("Papier").setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("book", (new ItemBook()).setDisplay("Buch").setTab(CheatTab.tabMisc)); registerItem("slime_ball", (new Item()).setDisplay("Schleimball").setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem("egg", (new ItemEgg()).setDisplay("Ei").setMaxStackSize(128)); registerItem("navigator", (new ItemSpaceNavigator()).setDisplay("Elektronischer Navigator").setTab(CheatTab.tabTools)); registerItem("exterminator", (new ItemExterminator()).setDisplay("Weltenzerstörer").setTab(CheatTab.tabTools)); registerItem("fishing_rod", (new ItemFishingRod()).setDisplay("Angel")); registerItem("glowstone_dust", (new Item()).setDisplay("Glowstonestaub").setPotionEffect(PotionHelper.glowstoneEffect) .setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("fish", (new ItemFishFood(false)).setDisplay("Fisch").setHasSubtypes(true)); registerItem("cooked_fish", (new ItemFishFood(true)).setDisplay("Fisch").setHasSubtypes(true)); Item dye = (new ItemDye()).setDisplay("Farbstoff").setMaxStackSize(512); registerItem("dye", dye); registerItem("bone", (new ItemStick()).setDisplay("Knochen").setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem("sugar", (new Item()).setDisplay("Zucker").setPotionEffect(PotionHelper.sugarEffect).setTab(CheatTab.tabMaterials).setMaxStackSize(512)); registerItem((new ItemReed(Blocks.cake)).setMaxStackSize(1).setDisplay("Kuchen").setTab(CheatTab.tabDeco)); registerItem((new ItemReed(Blocks.repeater)).setDisplay("Redstone-Verstärker").setTab(CheatTab.tabTech)); registerItem("cookie", (new ItemFood(2, false)).setDisplay("Keks").setMaxStackSize(128)); registerItem("melon", (new ItemFood(2, false)).setDisplay("Melone")); registerItem((new ItemSeeds(Blocks.pumpkin_stem, Blocks.farmland)).setDisplay("Kürbiskerne").setMaxStackSize(256)); registerItem((new ItemSeeds(Blocks.melon_stem, Blocks.farmland)).setDisplay("Melonenkerne").setMaxStackSize(256)); registerItem("beef", (new ItemFood(3, true)).setDisplay("Rohes Rindfleisch")); registerItem("cooked_beef", (new ItemFood(8, true)).setDisplay("Steak")); registerItem("chicken", (new ItemFood(2, true)).setDisplay("Rohes Hühnchen")); registerItem("cooked_chicken", (new ItemFood(6, true)).setDisplay("Gebratenes Hühnchen")); registerItem("rotten_flesh", (new ItemFood(4, true)).setDisplay("Verrottetes Fleisch")); registerItem("orb", (new ItemFragile()).setDisplay("Kugel").setTab(CheatTab.tabTools)); registerItem("blaze_rod", (new ItemRod()).setDisplay("Lohenrute").setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("ghast_tear", (new ItemTiny()).setDisplay("Ghastträne").setPotionEffect(PotionHelper.ghastTearEffect).setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("gold_nugget", (new ItemNugget()).setDisplay("Goldnugget").setTab(CheatTab.tabMetals).setMaxStackSize(256)); registerItem((new ItemSeeds(Blocks.soul_wart, Blocks.soul_sand)).setDisplay("Seelenwarze").setPotionEffect("+4").setMaxStackSize(128)); registerItem("potion", (new ItemPotion()).setDisplay("Trank")); registerItem("glass_bottle", (new ItemGlassBottle()).setDisplay("Glasflasche")); registerItem("spider_eye", (new ItemFood(2, false)).setPotionEffect(Potion.poison.id, 5, 0, 1.0F).setDisplay("Spinnenauge") .setPotionEffect(PotionHelper.spiderEyeEffect).setMaxStackSize(128)); registerItem("fermented_spider_eye", (new Item()).setDisplay("Fermentiertes Spinnenauge") .setPotionEffect(PotionHelper.fermentedSpiderEyeEffect).setTab(CheatTab.tabMisc).setMaxStackSize(128)); registerItem("blaze_powder", (new Item()).setDisplay("Lohenstaub").setPotionEffect(PotionHelper.blazePowderEffect) .setTab(CheatTab.tabMaterials).setMaxStackSize(256)); registerItem("magma_cream", (new Item()).setDisplay("Magmacreme").setPotionEffect(PotionHelper.magmaCreamEffect).setTab(CheatTab.tabMaterials).setMaxStackSize(128)); registerItem((new ItemReed(Blocks.brewing_stand)).setDisplay("Braustand").setTab(CheatTab.tabTech)); registerItem((new ItemReed(Blocks.cauldron)).setDisplay("Kessel").setTab(CheatTab.tabTech)); registerItem("charged_orb", (new ItemChargedOrb()).setDisplay("Geladene Kugel")); registerItem("speckled_melon", (new Item()).setDisplay("Glitzernde Melone").setPotionEffect(PotionHelper.speckledMelonEffect) .setTab(CheatTab.tabMisc)); registerItem("experience_bottle", (new ItemExpBottle()).setDisplay("Erfahrungsfläschchen")); registerItem("fire_charge", (new ItemFireball()).setDisplay("Feuerkugel")); registerItem("writable_book", (new Item()).setDisplay("Buch und Feder").setTab(CheatTab.tabTools)); registerItem("written_book", (new Item()).setDisplay("Beschriebenes Buch").setTab(CheatTab.tabMisc)); Item emerald = (new Item()).setDisplay("Smaragd").setTab(CheatTab.tabMetals); registerItem("emerald", emerald); registerItem((new ItemReed(Blocks.flower_pot)).setDisplay("Blumentopf").setTab(CheatTab.tabDeco)); registerItem((new ItemSeedFood(3, Blocks.carrot, Blocks.farmland)).setDisplay("Karotte").setMaxStackSize(128)); registerItem((new ItemSeedFood(1, Blocks.potato, Blocks.farmland)).setDisplay("Kartoffel").setMaxStackSize(128)); registerItem("baked_potato", (new ItemFood(5, false)).setDisplay("Ofenkartoffel").setMaxStackSize(128)); registerItem("poisonous_potato", (new ItemFood(2, false)).setPotionEffect(Potion.poison.id, 5, 0, 0.6F).setDisplay("Giftige Kartoffel").setMaxStackSize(128)); registerItem("golden_carrot", (new ItemFood(6, false)).setDisplay("Goldene Karotte") .setPotionEffect(PotionHelper.goldenCarrotEffect).setTab(CheatTab.tabMisc)); registerItem((new ItemSkull()).setDisplay("Kopf")); registerItem("carrot_on_a_stick", (new ItemCarrotOnAStick()).setDisplay("Karottenrute")); registerItem("charge_crystal", (new ItemEffect()).setDisplay("Energiekristall").setTab(CheatTab.tabMisc).setColor(TextColor.DMAGENTA)); registerItem("pumpkin_pie", (new ItemFood(8, false)).setDisplay("Kürbiskuchen").setTab(CheatTab.tabMisc)); registerItem("fireworks", (new ItemFirework()).setDisplay("Feuerwerksrakete")); registerItem("firework_charge", (new ItemFireworkCharge()).setDisplay("Feuerwerksstern").setTab(CheatTab.tabMaterials)); registerItem("enchanted_book", (new ItemEnchantedBook()).setMaxStackSize(1).setDisplay("Verzaubertes Buch").setTab(CheatTab.tabMagic)); registerItem((new ItemReed(Blocks.comparator)).setDisplay("Redstone-Komparator").setTab(CheatTab.tabTech)); registerItem("bloodbrick", (new Item()).setDisplay("Blutroter Ziegel").setTab(CheatTab.tabMaterials)); registerItem("blackbrick", (new Item()).setDisplay("Schwarzer Ziegel").setTab(CheatTab.tabMaterials)); Item quartz = (new Item()).setDisplay("Quarz").setTab(CheatTab.tabMetals); registerItem("quartz", quartz); Item bquartz = (new Item()).setDisplay("Schwarzes Quarz").setTab(CheatTab.tabMetals); registerItem("black_quartz", bquartz); registerItem("lead", (new ItemLead()).setDisplay("Leine").setMaxStackSize(128)); registerItem("name_tag", (new ItemNameTag()).setDisplay("Namensschild")); registerItem((new ItemBanner()).setDisplay("Banner")); // registerItem("spruce_door", (new ItemDoor(Blocks.spruce_door)).setUnlocalizedName("doorSpruce")); // registerItem("birch_door", (new ItemDoor(Blocks.birch_door)).setUnlocalizedName("doorBirch")); // registerItem("jungle_door", (new ItemDoor(Blocks.jungle_door)).setUnlocalizedName("doorJungle")); // registerItem("acacia_door", (new ItemDoor(Blocks.acacia_door)).setUnlocalizedName("doorAcacia")); // registerItem("dark_oak_door", (new ItemDoor(Blocks.dark_oak_door)).setUnlocalizedName("doorDarkOak")); registerItem("dynamite", (new ItemDynamite()).setDisplay("Dynamit").setColor(TextColor.RED)); // registerItem("cherry_door", (new ItemDoor(Blocks.cherry_door)).setUnlocalizedName("doorCherry")); // registerItem("maple_door", (new ItemDoor(Blocks.maple_door)).setUnlocalizedName("doorMaple")); registerItem("chain", (new ItemMagnetic()).setDisplay("Kette").setTab(CheatTab.tabMaterials)); for(OreType ore : OreType.values()) { // String loc = ore.name.substring(0, 1).toUpperCase() + ore.name.substring(1); // registerItemBlock(BlockRegistry.getRegisteredBlock(ore.name + "_ore")); // registerItemBlock(BlockRegistry.getRegisteredBlock(ore.name + "_block")); // if(ore.gem != null) { Item itm = (new Item()).setDisplay(ore.itemDisplay).setTab(CheatTab.tabMetals); registerItem(ore.item, itm); ((BlockOre)BlockRegistry.getRegisteredBlock(ore.name + "_ore")).setDropItem(new ItemStack(itm, ore.dropQuantity), ore.bonusChance, ore.experience); // } // else { // Item itm = (new Item()).setUnlocalizedName("ingot" + loc).setCreativeTab(CreativeTab.tabMaterialsFood); // registerItem(ore.name + "_ingot", itm); // ((BlockOre)BlockRegistry.getRegisteredBlock(ore.name + "_ore")).setSmeltItem(new ItemStack(itm)); // } registerTools(ore.material, ore.name, ore.display); } for(MetalType metal : MetalType.values()) { // String loc = metal.name.substring(0, 1).toUpperCase() + metal.name.substring(1); Block oreBlock = BlockRegistry.getRegisteredBlock(metal.name + "_ore"); ItemBlock ore = new ItemMetalBlock(oreBlock, metal, true); registerBlock(oreBlock, ore); Block fullBlock = BlockRegistry.getRegisteredBlock(metal.name + "_block"); ItemBlock block = new ItemMetalBlock(fullBlock, metal, false); registerBlock(fullBlock, block); if(metal.isPowder) { Item itm = (new ItemMetal(metal)).setDisplay(metal.display + "pulver").setTab(CheatTab.tabMetals); registerItem(metal.name + "_powder", itm); ((BlockOre)BlockRegistry.getRegisteredBlock(metal.name + "_ore")).setDropItem(new ItemStack(itm), 0, 2); } else { Item itm = (new ItemMetal(metal)).setDisplay(metal.display + "barren").setTab(CheatTab.tabMetals); registerItem(metal.name + "_ingot", itm); ((BlockOre)BlockRegistry.getRegisteredBlock(metal.name + "_ore")).setSmeltItem(new ItemStack(itm)); } if(metal.material != null) registerTools(metal.material, metal.name, metal.display); } for(ToolType tool : ToolType.values()) { registerTools(tool.material, tool.name, tool.display); } for(BlockDoor door : BlockDoor.DOORS) { registerItem(new ItemDoor(door)); // .setDisplay(door.getDisplay())); } for(DyeColor color : BlockBed.COLORS) { registerItem(new ItemBed((BlockBed)BlockRegistry.getRegisteredBlock(color.getName() + "_bed")).setMaxStackSize(1).setDisplay(color.getSubject(0) + " Bett")); } registerItem("record_13", (new ItemRecord()).setDisplay("Protokoll #1 - 13 Tage ohne Kaffee")); registerItem("record_cat", (new ItemRecord()).setDisplay("Protokoll #2 - Versuchskatzen")); registerItem("record_blocks", (new ItemRecord()).setDisplay("Protokoll #3 - Blöcke und mehr Experimente")); registerItem("record_chirp", (new ItemRecord()).setDisplay("Protokoll #4 - Experimente mit Vögeln: Eine gute Idee?")); registerItem("record_far", (new ItemRecord()).setDisplay("Protokoll #5 - Haben wir es mit dem Design übertrieben?")); registerItem("record_mall", (new ItemRecord()).setDisplay("Protokoll #6 - Wocheneinkauf und mehr Kaffee")); registerItem("record_mellohi", (new ItemRecord()).setDisplay("Protokoll #7 - Explosion: Hoffe auf Versicherungsersatz")); registerItem("record_stal", (new ItemRecord()).setDisplay("Protokoll #8 - Fortschritt stagniert")); registerItem("record_strad", (new ItemRecord()).setDisplay("Protokoll #9 - Neue Strategie")); registerItem("record_ward", (new ItemRecord()).setDisplay("Protokoll #10 - Neue Lösung: Seelenwarzen??")); registerItem("record_11", (new ItemRecord()).setDisplay("Protokoll #11 - Wir waren erfolgreich")); registerItem("record_wait", (new ItemRecord()).setDisplay("Protokoll #12 - Warte auf Bezahlung")); registerItem("record_delay", (new ItemRecord()).setDisplay("Protokoll #13 - Verzögerung der Umsetzung")); registerItem("record_extend", (new ItemRecord()).setDisplay("Protokoll #14 - Explosive Erweiterung unseres Labors")); ((BlockOre)BlockRegistry.getRegisteredBlock("coal_ore")).setDropItem(new ItemStack(coal), 0); ((BlockOre)BlockRegistry.getRegisteredBlock("emerald_ore")).setDropItem(new ItemStack(emerald), 3); ((BlockOre)BlockRegistry.getRegisteredBlock("lapis_ore")).setDropItem(new ItemStack(dye, 4, DyeColor.BLUE.getDyeDamage()), 4, 2); ((BlockOre)BlockRegistry.getRegisteredBlock("quartz_ore")).setDropItem(new ItemStack(quartz), 2); ((BlockOre)BlockRegistry.getRegisteredBlock("black_quartz_ore")).setDropItem(new ItemStack(bquartz), 3); for(int z = 0; z < FluidRegistry.getNumFluids(); z++) { registerSpecial(FluidRegistry.getFluidBlock(z)); registerSpecial(FluidRegistry.getStaticBlock(z)); } // for(EnumDyeColor color : BlockBed.COLORS) { // registerSpecial(BlockRegistry.getRegisteredBlock(color.getName() + "_bed")); // } // for(BlockDoor door : BlockDoor.DOORS) { // registerSpecial(door); // } registerSpecial(Blocks.air); // registerSpecial(Blocks.flowing_water); // registerSpecial(Blocks.water); // registerSpecial(Blocks.flowing_lava); // registerSpecial(Blocks.lava); // registerSpecial(Blocks.wheat); // registerSpecial(Blocks.carrots); // registerSpecial(Blocks.potatoes); // registerSpecial(Blocks.soul_wart); // registerSpecial(Blocks.pumpkin_stem); // registerSpecial(Blocks.melon_stem); registerSpecial(Blocks.cocoa); // registerSpecial(Blocks.reeds); registerSpecial(Blocks.fire); registerSpecial(Blocks.portal); registerSpecial(Blocks.floor_portal); // registerSpecial(Blocks.standing_sign); registerSpecial(Blocks.wall_sign); // registerSpecial(Blocks.standing_banner); registerSpecial(Blocks.wall_banner); // registerSpecial(Blocks.cake); // registerSpecial(Blocks.brewing_stand); // registerSpecial(Blocks.cauldron); // registerSpecial(Blocks.flower_pot); // registerSpecial(Blocks.skull); // registerSpecial(Blocks.tripwire); registerSpecial(Blocks.piston_head); registerSpecial(Blocks.piston_extension); registerSpecial(Blocks.lit_redstone_ore); registerSpecial(Blocks.lit_redstone_lamp); // registerSpecial(Blocks.redstone_wire); registerSpecial(Blocks.unlit_redstone_torch); // registerSpecial(Blocks.unpowered_repeater); registerSpecial(Blocks.powered_repeater); // registerSpecial(Blocks.unpowered_comparator); registerSpecial(Blocks.powered_comparator); registerSpecial(Blocks.daylight_detector_inverted); for(Block block : BlockRegistry.REGISTRY) { if(!BLOCKMAP.containsKey(block) && !SPECIALIZED.contains(block)) registerBlock(block, new ItemBlock(block)); // Log.info("Block " + BlockRegistry.REGISTRY.getNameForObject(block) + " hat kein Item"); } } }