In diesem Kapitel findest du eine Liste aller Materialien in Minecraft und der dazu gehörigen Bezeichner, die du benötigst, um sie in einem Plugin verwenden zu können. Die Liste der Materialien umfasst sowohl alle Blöcke als auch alle Gegenstände. Unter Blöcken versteht man dabei im Gegensatz zu Gegenständen nur solche Dinge, die man auch in der Welt platzieren kann. Ein Schwert oder ein Schneeball gehört also zum Beispiel nicht dazu. Die meisten Materialien existieren sowohl als Gegenstand als auch als Block, wie zum Beispiel Treppen oder Holzblöcke. Bei einigen wenigen Materialien gibt es unterschiedliche Einträge für Gegenstände und Blöcke, so zum Beispiel bei allen Gegenständen, die in der Welt aus zwei Blöcken bestehen, im Inventar aber nur ein Gegenstand sind, wie zum Beispiel Türen und Betten.
Bezeichner |
Material |
---|---|
Ackerboden |
SOIL |
Aktivierungsschiene |
ACTIVATOR_RAIL |
Amboss |
ANVIL |
Angel |
FISHING_ROD |
Antriebsschiene |
POWERED_RAIL |
Apfel |
APPLE |
Apfel (Gold) |
GOLDEN_APPLE |
Axt (Diamant) |
DIAMOND_AXE |
Axt (Eisen) |
IRON_AXE |
Axt (Gold) |
GOLD_AXE |
Axt (Holz) |
WOOD_AXE |
Axt (Stein) |
STONE_AXE |
Banner |
BANNER |
Banner (stehend) |
STANDING_BANNER |
Banner (Wand) |
WALL_BANNER |
Barriere |
BARRIER |
Befehlsblock |
COMMAND |
Befehlsblock (ketten) |
COMMAND_CHAIN |
Befehlsblock (wiederholen) |
COMMAND_REPEATING |
Befehlsblocklore |
COMMAND_MINECART |
Beinschutz (Diamant) |
DIAMOND_LEGGINGS |
Beinschutz (Eisen) |
IRON_LEGGINGS |
Beinschutz (Gold) |
GOLD_LEGGINGS |
Beinschutz (Ketten) |
CHAINMAIL_LEGGINGS |
Beinschutz (Leder) |
LEATHER_LEGGINGS |
Bett |
BED |
Bettblock |
BED_BLOCK |
Blätter |
LEAVES |
Blätter |
LEAVES_2 |
Blume (gelb) |
YELLOW_FLOWER |
Blumentopf |
FLOWER_POT |
Blumentopf (Gegenstand) |
FLOWER_POT_ITEM |
Bogen |
BOW |
Boot |
BOAT |
Boot (Akazienholz) |
BOAT_ACACIA |
Boot (Birkenholz) |
BOAT_BIRCH |
Boot (Fichtenholz) |
BOAT_SPRUCE |
Boot (Schwarzeichenholz) |
BOAT_DARK_OAK |
Boot (Tropenholz) |
BOAT_JUNGLE |
Braustand |
BREWING_STAND |
Braustand (Gegenstand) |
BREWING_STAND_ITEM |
Brot |
BREAD |
Bruchstein |
COBBLESTONE |
Bruchstein (bemoost) |
MOSSY_COBBLESTONE |
Brustpanzer (Diamant) |
DIAMOND_CHESTPLATE |
Brustpanzer (Eisen) |
IRON_CHESTPLATE |
Brustpanzer (Gold) |
GOLD_CHESTPLATE |
Brustpanzer (Ketten) |
CHAINMAIL_CHESTPLATE |
Brustpanzer (Leder) |
LEATHER_CHESTPLATE |
Buch |
BOOK |
Buch (geschrieben) |
WRITTEN_BOOK |
Buch (verzaubert) |
ENCHANTED_BOOK |
Buch und Feder |
BOOK_AND_QUILL |
Bücherregal |
BOOKSHELF |
Bruchsteinmauer |
COBBLE_WALL |
Busch |
DEAD_BUSH |
Chorusblüte |
CHORUS_FLOWER |
Chorusfrucht |
CHORUS_FRUIT |
Chorusfrucht (geplatzt) |
CHORUS_FRUIT_POPPED |
Choruspflanze |
CHORUS_PLANT |
Diamant |
DIAMOND |
Diamantblock |
DIAMOND_BLOCK |
Diamanterz |
DIAMOND_ORE |
Drachenatem |
DRAGONS_BREATH |
Drachenei |
DRAGON_EGG |
Druckplatte (Holz) |
WOOD_PLATE |
Druckplatte (Stein) |
STONE_PLATE |
Ei |
EGG |
Eimer |
BUCKET |
Eis |
ICE |
Eis (brüchig) |
FROSTED_ICE |
Eisenbarren |
IRON_INGOT |
Eisenblock |
IRON_BLOCK |
Eisenerz |
IRON_ORE |
Eisentür |
IRON_DOOR |
Eisentür (Gegenstand) |
IRON_DOOR_BLOCK |
Elytren |
ELYTRA |
Enderauge |
EYE_OF_ENDER |
Enderperle |
ENDER_PEARL |
Enderportal |
ENDER_PORTAL |
Enderportalrahmen |
ENDER_PORTAL_FRAME |
Enderstein |
ENDER_STONE |
Endertruhe |
ENDER_CHEST |
Endkristall |
END_CRYSTAL |
Endstab |
END_ROD |
Endstein |
END_BRICKS |
Endtransitportal |
END_GATEWAY |
Erde |
DIRT |
Erfahrungstrank |
EXP_BOTTLE |
Fackel |
TORCH |
Faden |
STRING |
Falltür |
TRAP_DOOR |
Falltür (Eisen) |
IRON_TRAPDOOR |
Feder |
FEATHER |
Feuer |
FIRE |
Feuerkugel |
FIREBALL |
Feuerstein |
FLINT |
Feuerwerk |
FIREWORK |
Feuerwerksstern |
FIREWORK_CHARGE |
Feuerzeug |
FLINT_AND_STEEL |
Fisch (roh) |
RAW_FISH |
Fleisch (verrottet) |
ROTTEN_FLESH |
Gebratener Fisch |
COOKED_FISH |
Gebratener Hase |
COOKED_RABBIT |
Gebratenes Hammelfleisch |
COOKED_MUTTON |
Gebratenes Hühnchen |
COOKED_CHICKEN |
Gebratenes Schweinefleisch |
GRILLED_PORK |
Gemälde |
PAINTING |
Ghastträne |
GHAST_TEAR |
Glas |
GLASS |
Glas (dünn) |
THIN_GLASS |
Glas (gefärbt) |
STAINED_GLASS |
Glasflasche |
GLASS_BOTTLE |
Glasscheibe (gefärbt) |
STAINED_GLASS_PANE |
Glowstone |
GLOWSTONE |
Glowstonestaub |
GLOWSTONE_DUST |
Goldbarren |
GOLD_INGOT |
Goldblock |
GOLD_BLOCK |
Golderz |
GOLD_ORE |
Goldnugget |
GOLD_NUGGET |
Gras |
GRASS |
Gras (lang) |
LONG_GRASS |
Grundgestein |
BEDROCK |
Güterlore |
STORAGE_MINECART |
Hacke (Diamant) |
DIAMOND_HOE |
Hacke (Eisen) |
IRON_HOE |
Hacke (Gold) |
GOLD_HOE |
Hacke (Holz) |
WOOD_HOE |
Hacke (Stein) |
STONE_HOE |
Haken |
TRIPWIRE_HOOK |
Hammelfleisch |
MUTTON |
Hebel |
LEVER |
Helm (Diamant) |
DIAMOND_HELMET |
Helm (Eisen) |
IRON_HELMET |
Helm (Gold) |
GOLD_HELMET |
Helm (Ketten) |
CHAINMAIL_HELMET |
Helm (Leder) |
LEATHER_HELMET |
Hohes Gras |
DOUBLE_PLANT |
Holz |
LOG |
Holz |
LOG_2 |
Holz |
WOOD |
Holzknopf |
WOOD_BUTTON |
Hühnchen (roh) |
RAW_CHICKEN |
Kakao |
COCOA |
Kaktus |
CACTUS |
Kaninchen |
RABBIT |
Kaninchenfell |
RABBIT_HIDE |
Kaninchenfleisch |
RABBIT_FOOT |
Kaninchenragout |
RABBIT_STEW |
Karotte |
CARROT |
Karotte (Gegenstand) |
CARROT_ITEM |
Karotte (Gold) |
GOLDEN_CARROT |
Karottenrute |
CARROT_STICK |
Karte |
MAP |
Karte (leer) |
EMPTY_MAP |
Kartoffel |
POTATO |
Kartoffel (Gegenstand) |
POTATO_ITEM |
Kartoffel (giftig) |
POISONOUS_POTATO |
Keks |
COOKIE |
Kessel |
CAULDRON |
Kessel (Gegenstand) |
CAULDRON_ITEM |
Kies |
GRAVEL |
Knochen |
BONE |
Kohle |
COAL |
Kohleblock |
COAL_BLOCK |
Kolben (klebrige Platte) |
PISTON_STICKY_BASE |
Kolben (Platte) |
PISTON_BASE |
Kompass |
COMPASS |
Konstruktionsblock |
STRUCTURE_BLOCK |
Kuchen |
CAKE |
Kuchenblock |
CAKE_BLOCK |
Kürbis |
PUMPKIN |
Kürbiskerne |
PUMPKIN_SEEDS |
Kürbiskuchen |
PUMPKIN_PIE |
Kürbislaterne |
JACK_O_LANTERN |
Kürbisstamm |
PUMPKIN_STEM |
Lapislazuliblock |
LAPIS_BLOCK |
Lapislazulierz |
LAPIS_ORE |
Lava |
LAVA |
Lava (stehend) |
STATIONARY_LAVA |
Lavaeimer |
LAVA_BUCKET |
Leder |
LEATHER |
Leine |
LEASH |
Leiter |
LADDER |
Leuchtfeuer |
BEACON |
Lohenrute |
BLAZE_ROD |
Lohenstaub |
BLAZE_POWDER |
Lore |
MINECART |
Lore (angetrieben) |
POWERED_MINECART |
Luft |
AIR |
Magmacreme |
MAGMA_CREAM |
Melone |
MELON |
Melone (Block) |
MELON_BLOCK |
Melone (glitzernd) |
SPECKLED_MELON |
Melonenkerne |
MELON_SEEDS |
Melonenstrunk |
MELON_STEM |
Milcheimer |
MILK_BUCKET |
Mob-Spawner |
MOB_SPAWNER |
Monsterei |
MONSTER_EGG |
Myzel |
MYCEL |
Nachtlichtsensor |
DAYLIGHT_DETECTOR_INVERTED |
Namensschild |
NAME_TAG |
Netherquarz |
QUARTZ_ORE |
Netherrack |
NETHERRACK |
Netherstern |
NETHER_STAR |
Netherwarze |
NETHER_STALK |
Netherwarze |
NETHER_WARTS |
Netherziegel |
NETHER_BRICK |
Netherziegel (Gegenstand) |
NETHER_BRICK_ITEM |
Notenblock |
NOTE_BLOCK |
Obsidian |
OBSIDIAN |
Ofen |
FURNACE |
Ofen (brennend) |
BURNING_FURNACE |
Ofenkartoffel |
BAKED_POTATO |
Packeis |
PACKED_ICE |
Papier |
PAPER |
Pfeil |
ARROW |
Pfeil (getränkt) |
TIPPED_ARROW |
Pferderüstung (Diamant) |
DIAMOND_BARDING |
Pferderüstung (Eisen) |
IRON_BARDING |
Pferderüstung (Gold) |
GOLD_BARDING |
Pilz (braun) |
BROWN_MUSHROOM |
Pilz (groß) |
HUGE_MUSHROOM_1 |
Pilz (groß) |
HUGE_MUSHROOM_2 |
Pilz (rot) |
RED_MUSHROOM |
Pilzsuppe |
MUSHROOM_SOUP |
Plattenspieler |
JUKEBOX |
Portal |
PORTAL |
Prismarin |
PRISMARINE |
Prismarinkristall |
PRISMARINE_CRYSTALS |
Prismarinscherbe |
PRISMARINE_SHARD |
Purpurblock |
PURPUR_BLOCK |
Purpursäule |
PURPUR_PILLAR |
Quarz |
QUARTZ |
Quarzblock |
QUARTZ_BLOCK |
Rahmen |
ITEM_FRAME |
Ranken |
VINE |
Redstone |
REDSTONE |
Redstone-Fackel (an) |
REDSTONE_TORCH_ON |
Redstone-Fackel (aus) |
REDSTONE_TORCH_OFF |
Redstone-Kabel |
REDSTONE_WIRE |
Redstone-Komparator (Block, an) |
REDSTONE_COMPARATOR_ON |
Redstone-Komparator (Block, aus) |
REDSTONE_COMPARATOR_OFF |
Redstone-Komparator (Gegenstand) |
REDSTONE_COMPARATOR |
Redstone-Lampe (an) |
REDSTONE_LAMP_ON |
Redstone-Lampe (aus) |
REDSTONE_LAMP_OFF |
Redstone-Verstärker (Block, an) |
DIODE_BLOCK_ON |
Redstone-Verstärker (Block, aus) |
DIODE_BLOCK_OFF |
Redstone-Verstärker (Gegenstand) |
DIODE |
Redstoneblock |
REDSTONE_BLOCK |
Redstoneerz |
REDSTONE_ORE |
Redstoneerz (leuchtend) |
GLOWING_REDSTONE_ORE |
Redstonetruhe |
TRAPPED_CHEST |
Rindfleisch (roh) |
RAW_BEEF |
Rose (rot) |
RED_ROSE |
Rote Bete |
BEETROOT |
Rote Bete Pflanze |
BEETROOT_BLOCK |
Rote Bete Samen |
BEETROOT_SEEDS |
Rote Bete Suppe |
BEETROOT_SOUP |
Rüstungsständer |
ARMOR_STAND |
Sand |
SAND |
Sandstein |
SANDSTONE |
Sandstein (rot) |
RED_SANDSTONE |
Sattel |
SADDLE |
Schädel |
SKULL |
Schädel (Gegenstand) |
SKULL_ITEM |
Schallplatte |
RECORD_10 |
Schallplatte |
RECORD_11 |
Schallplatte |
RECORD_12 |
Schallplatte |
RECORD_3 |
Schallplatte |
RECORD_4 |
Schallplatte |
RECORD_5 |
Schallplatte |
RECORD_6 |
Schallplatte |
RECORD_7 |
Schallplatte |
RECORD_8 |
Schallplatte |
RECORD_9 |
Schallplatte (Gold) |
GOLD_RECORD |
Schallplatte (Grün) |
GREEN_RECORD |
Schaufel (Diamant) |
DIAMOND_SPADE |
Schaufel (Eisen) |
IRON_SPADE |
Schaufel (Gold) |
GOLD_SPADE |
Schaufel (Holz) |
WOOD_SPADE |
Schaufel (Stein) |
STONE_SPADE |
Schere |
SHEARS |
Schiene |
RAILS |
Schild |
SIGN |
Schild (Kampf) |
SHIELD |
Schild (Pfosten) |
SIGN_POST |
Schild (Wand) |
WALL_SIGN |
Schleimball |
SLIME_BALL |
Schleimblock |
SLIME_BLOCK |
Schnee |
SNOW |
Schneeball |
SNOW_BALL |
Schneeblock |
SNOW_BLOCK |
Schuhe (Eisen) |
IRON_BOOTS |
Schüssel |
BOWL |
Schwamm |
SPONGE |
Schwarzpulver |
SULPHUR |
Schweinefleisch |
PORK |
Schwert (Diamant) |
DIAMOND_SWORD |
Schwert (Eisen) |
IRON_SWORD |
Schwert (Gold) |
GOLD_SWORD |
Schwert (Holz) |
WOOD_SWORD |
Schwert (Stein) |
STONE_SWORD |
Seelaterne |
SEA_LANTERN |
Seelensand |
SOUL_SAND |
Seerose |
WATER_LILY |
Sensorschiene |
DETECTOR_RAIL |
Setzling |
SAPLING |
Smaragd |
EMERALD |
Smaragdblock |
EMERALD_BLOCK |
Smaragderz |
EMERALD_ORE |
Spektralpfeil |
SPECTRAL_ARROW |
Spender |
DROPPER |
Spinnenauge |
SPIDER_EYE |
Spinnenaugen (fermentiert) |
FERMENTED_SPIDER_EYE |
Spinnennetz |
WEB |
Spitzhacke (Diamant) |
DIAMOND_PICKAXE |
Spitzhacke (Eisen) |
IRON_PICKAXE |
Spitzhacke (Gold) |
GOLD_PICKAXE |
Spitzhacke (Holz) |
WOOD_PICKAXE |
Spitzhacke (Stein) |
STONE_PICKAXE |
Steak |
COOKED_BEEF |
Stein |
STONE |
Steinknopf |
STONE_BUTTON |
Steinkohle |
COAL_ORE |
Steinziegel (gemeißelt) |
SMOOTH_BRICK |
Stiefel (Diamant) |
DIAMOND_BOOTS |
Stiefel (Gold) |
GOLD_BOOTS |
Stiefel (Ketten) |
CHAINMAIL_BOOTS |
Stiefel (Leder) |
LEATHER_BOOTS |
Stock |
STICK |
Stolperdraht |
TRIPWIRE |
Strohballen |
HAY_BLOCK |
Stufe |
STEP |
Stufe (doppelt) |
DOUBLE_STEP |
Stufe (Holz, doppelt) |
WOOD_DOUBLE_STEP |
Stufe (Holz) |
WOOD_STEP |
Stufe (Purpur, doppelt) |
PURPUR_DOUBLE_SLAB |
Stufe (Purpur) |
PURPUR_SLAB |
Stufe (Stein, doppelt) |
DOUBLE_STONE_SLAB2 |
Stufe (Stein) |
STONE_SLAB2 |
Tageslichtsensor |
DAYLIGHT_DETECTOR |
Teppich |
CARPET |
Tintenbeutel |
INK_SACK |
TNT |
TNT |
TNT-Lore |
EXPLOSIVE_MINECART |
Ton |
CLAY |
Ton (gebrannt) |
HARD_CLAY |
Ton (gefärbt) |
STAINED_CLAY |
Tonklumpen |
CLAY_BALL |
Trampelpfad |
GRASS_PATH |
Trank |
POTION |
Trank (werfbar) |
SPLASH_POTION |
Treppe (Akazienholz) |
ACACIA_STAIRS |
Treppe (Birkenholz) |
BIRCH_WOOD_STAIRS |
Treppe (Bruchstein) |
COBBLESTONE_STAIRS |
Treppe (Fichtenholz) |
SPRUCE_WOOD_STAIRS |
Treppe (Holz) |
WOOD_STAIRS |
Treppe (Netherziegel) |
NETHER_BRICK_STAIRS |
Treppe (Purpur) |
PURPUR_STAIRS |
Treppe (Quarz) |
QUARTZ_STAIRS |
Treppe (Sandstein, rot) |
RED_SANDSTONE_STAIRS |
Treppe (Sandstein) |
SANDSTONE_STAIRS |
Treppe (Schwarzeichenholz) |
DARK_OAK_STAIRS |
Treppe (Steinziegel, gemeißelt) |
SMOOTH_STAIRS |
Treppe (Tropenholz) |
JUNGLE_WOOD_STAIRS |
Treppe (Ziegelsteine) |
BRICK_STAIRS |
Trichter |
HOPPER |
Trichterlore |
HOPPER_MINECART |
Truhe |
CHEST |
Tür (Akazienholz, Gegenstand) |
ACACIA_DOOR_ITEM |
Tür (Akazienholz) |
ACACIA_DOOR |
Tür (Birkenholz, Gegenstand) |
BIRCH_DOOR_ITEM |
Tür (Birkenholz) |
BIRCH_DOOR |
Tür (Fichtenholz) |
SPRUCE_DOOR |
Tür (Gegenstand, Fichtenholz) |
SPRUCE_DOOR_ITEM |
Tür (Holz) |
WOOD_DOOR |
Tür (Holz) |
WOODEN_DOOR |
Tür (Schwarzeichenholz, Gegenstand) |
DARK_OAK_DOOR_ITEM |
Tür (Schwarzeichenholz) |
DARK_OAK_DOOR |
Tür (Tropenholz, Gegenstand) |
JUNGLE_DOOR_ITEM |
Tür (Tropenholz) |
JUNGLE_DOOR |
Uhr |
WATCH |
Verweiltrank |
LINGERING_POTION |
Verzauberungstisch |
ENCHANTMENT_TABLE |
Wägeplatte (Eisen) |
IRON_PLATE |
Wägeplatte (Gold) |
GOLD_PLATE |
Wasser |
WATER |
Wasser (stehend) |
STATIONARY_WATER |
Wassereimer |
WATER_BUCKET |
Weizen |
CROPS |
Weizen |
WHEAT |
Weizenkörner |
SEEDS |
Werfer |
DISPENSER |
Werkbank |
WORKBENCH |
Wolle |
WOOL |
Zaun |
FENCE |
Zaun (Akazienholz) |
ACACIA_FENCE |
Zaun (Birkenholz) |
BIRCH_FENCE |
Zaun (Eisen) |
IRON_FENCE |
Zaun (Fichtenholz) |
SPRUCE_FENCE |
Zaun (Netherziegel) |
NETHER_FENCE |
Zaun (Schwarzeichenholz) |
DARK_OAK_FENCE |
Zaun (Tropenholz) |
JUNGLE_FENCE |
Zauntor |
FENCE_GATE |
Zauntor (Akazienholz) |
ACACIA_FENCE_GATE |
Zauntor (Birkenholz) |
BIRCH_FENCE_GATE |
Zauntor (Fichtenholz) |
SPRUCE_FENCE_GATE |
Zauntor (Schwarzeichenholz) |
DARK_OAK_FENCE_GATE |
Zauntor (Tropenholz) |
JUNGLE_FENCE_GATE |
Ziegel |
CLAY_BRICK |
Ziegelsteine |
BRICK |
Zucker |
SUGAR |
Zuckerrohr (Block) |
SUGAR_CANE_BLOCK |
Zuckerrohr (Gegenstand) |
SUGAR_CANE |
In diesem Kapitel findest du eine Übersicht über alle Befehle, die dir im Verlauf dieses Buches begegnet sind. Es kann dir als Nachschlagewerk dienen, selbst wenn du das letzte Kapitel des Buches schon lange abgeschlossen hast. Die Befehle sind nach Themen und in alphabetischer Reihenfolge sortiert.
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Wiederholt die Befehle im Schleifenrumpf, solange die Laufbedingung erfüllt ist, mindestens aber einmal. |
|
|
|
Wiederholt die Befehle im Schleifenrumpf, solange die Laufbedingung erfüllt ist. |
|
|
|
Wiederholt die Befehle im Schleifenrumpf, solange die Laufbedingung erfüllt ist. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Führt den |
|
|
|
Führt den A-Teil aus, falls x gleich A ist, den B-Teil, falls x gleich B ist und den |
|
|
Fängt Fehler, die im |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
byte |
Wandelt x in einen Byte-Wert um. |
|
|
double |
Wandelt x in einen |
|
|
Deklaration einer Konstanten. |
|
|
|
float |
Wandelt x in einen |
|
|
int |
Wandelt x in einen |
|
|
long |
Wandelt x in einen |
|
|
Deklaration einer privaten Variablen. |
|
|
|
Deklaration einer geschützten Variablen. |
|
|
|
Deklaration einer öffentlichen Variablen. |
|
|
|
short |
Wandelt x in einen |
|
|
boolean |
Prüft, ob die beiden angegebenen Strings den gleichen Inhalt haben. |
|
|
String |
Wandelt x in einen String-Wert um. |
|
|
Deklaration einer Variablen. |
|
|
|
Deklaration und Wertzuweisung in einem Schritt. |
|
|
|
Wertzuweisung zu einer Variablen. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
|
Gibt die Länge eines Arrays zurück. |
|
|
Deklaration eines Arrays mit Längenangabe. |
|
|
|
Deklaration eines Arrays. |
|
|
|
Zugriff auf den i-ten Wert eines Arrays. |
Um Listen in deinem Plugin einsetzen zu können, benötigst du folgende Importbefehle:
import java.util.List
import java.util.ArrayList
für eine ArrayList
import java.util.LinkedList
für eine LinkedList
import java.util.HashMap
für eine HashMapnd
import java.util.Set
für ein Set
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
Deklaration einer neuen HashMap-Variablen. |
||
|
|
Erzeugt eine neue ArrayList des angegebenen Typs. |
|
|
|
Erzeugt eine neue LinkedList des angegebenen Typs. |
|
|
|
Fügt der Liste den angegebenen Wert an der angegebenen Stelle hinzu. |
|
|
|
Fügt der Liste den angegebenen Wert hinzu. |
|
|
|
Leert die Liste komplett. |
|
|
|
Boolean |
Prüft, ob der angegebene Wert in der Liste enthalten ist. |
|
|
Vom selben Typ wie die Liste |
Gibt das Element an der angegebenen Stelle zurück. |
|
|
Gibt den Index des ersten Auftretens des angegebenen Elements zurück. |
|
|
|
Boolean |
Entfernt das Element an der angegebenen Stelle aus der Liste. |
|
|
Boolean |
Entfernt das erste Auftreten des angegebenen Werts aus der Liste. |
|
|
Setzt das Element an der angegebenen Stelle auf den angegebenen Wert. |
|
|
|
Boolean |
Überprüft, ob die Map einen Eintrag mit dem angegebenen Index enthält. |
|
|
Typ2 |
Gibt das zum Index gehörende Objekt zurück. |
|
|
Typ1[] |
Gibt die Indizes der Map als Array zurück. |
|
|
Fügt der Map einen neuen Eintrag hinzu. |
|
|
|
Typ1[] |
Wandelt eine Menge (Set) in ein Array um. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
Erzeugen eines neuen Objekts der Klasse A. |
||
|
Definition einer Abstrakten Klasse C. |
||
|
Definition einer Klasse mit Namen A. |
||
|
Definition einer Klasse B, die Unterklasse von A ist. |
||
|
Definition einer Klasse E, die das Interface D implementiert. |
||
|
|
Fügt dem Plugin das angegebene Paket hinzu. |
|
|
Definition eines Interface D. |
||
|
A |
Deklaration eines Konstruktors für die Klasse A. |
|
|
|
boolean |
Prüft, ob die angegebene Variable vom angegebenen Typ ist. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Überschreiben einer Funktion aus der Oberklasse innerhalb der Unterklasse. |
|
|
|
Definition einer abstrakten Funktion. |
|
|
|
Definition einer abstrakten Funktion. |
|
|
|
Für |
Deklaration einer Funktion. |
|
|
Beendet die Ausführung der Funktion und gibt |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
boolean |
Negierung eines Wahrheitswerts |
|
|
boolean |
Und-Verknüpfung zweier Wahrheitswerte |
|
|
boolean |
Entweder-Oder-Verknüpfung zweier Wahrheitswerte |
|
|
boolean |
Oder-Verknüpfung zweier Wahrheitswerte |
Um Spieler-Objekte in deinem Plugin einsetzen zu können, benötigst du den Importbefehl
import org.bukkit.entity.Player
.
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
PlayerInventory |
Ruft das Inventar eines Spielers ab. |
|
|
ItemStack |
Gibt den Gegenstand zurück, den der Spieler in der Hand hält. |
|
|
|
List<Block> |
Wie |
|
Location |
Gibt die Position des Spielers zurück. |
|
|
|
Block |
Gibt den Block zurück, den der Spieler anschaut, solange er sich innerhalb der angegebenen Entfernung befindet. Alle übergebenen Materialien werden dabei wie Luft behandelt. |
|
UUID |
Gibt die UUID des Spielers zurück. |
|
|
World |
Gibt die Welt zurück, in der sich der Spieler befindet. |
|
|
|
Teleportiert den Spieler an die angegebene Position. |
Für Positionsvariablen benötigst du den Importbefehl
import org.bukkit.Location
.
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Location |
Erzeugt ein neues Location-Objekt. |
|
double |
Gibt den X-Wert einer Location-Variablen zurück. |
|
|
double |
Gibt den Y-Wert einer Location-Variablen zurück. |
|
|
double |
Gibt den Z-Wert einer Location-Variablen zurück. |
|
|
|
Ändert den X-Wert einer Location-Variablen auf den angegebenen Wert. |
|
|
|
Ändert den Y-Wert einer Location-Variablen auf den angegebenen Wert. |
|
|
|
Ändert den Z-Wert einer Location-Variablen auf den angegebenen Wert. |
Zugriff auf die Welt erhältst du mit dem Importbefehl
import org.bukkit.World
.
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Gibt den Block an der angegebenen Position zurück. |
Für Blöcke benötigst du folgende Importe:
mport org.bukkit.block.Block
import org.bukkit.Material
für die verschiedenen Block-Typen
import org.bukkit.block.data.type.Bed
für Befehle rund ums Bett
import org.bukkit.block.data.type.Door
für Türen
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Legt fest, ob es sich um das Kopfteil ( |
|
|
BlockData |
Liefert die Daten eines Blocks zurück. |
|
|
|
Ändert den Typ des Blocks in das angegebene Material. |
|
|
|
Setzt die Daten eines Blocks auf den übergebenen Wert. |
|
|
|
Legt die Ausrichtung einer Tür fest. |
|
|
|
Legt fest, ob es sich um die obere ( |
|
|
|
Legt den Text eines Schildes in der angegebenen Zeile fest. |
Der Zugriff auf das Inventar eines Spieler setzt die folgenden Import-Befehle voraus:
import org.bukkit.inventory.ItemStack
für Gegenstände
import org.bukkit.inventory.meta.ItemMeta
für Meta-Daten von Gegenständen und
import org.bukkit.enchantments.Enchantment
für Verzauberungen
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
String |
Gibt den Anzeigenamen des Gegenstands aus. |
|
|
|
Legt den Anzeigenamen eines Gegenstands fest. |
|
|
|
Verzaubert einen Gegenstand. |
|
|
ItemMeta |
Ruft die Meta-Daten eines Gegenstands ab. |
|
|
|
Setzt die Anzahl der gestapelten Gegenstände auf die angegebene Zahl. |
|
|
|
ItemStack |
Erzeugt einen neuen Gegenstand. |
|
|
Fügt dem Inventar den übergebenen Gegenstand hinzu. |
|
|
ItemStack |
Gibt den ersten freien Inventar-Slot zurück. |
|
|
|
ItemStack |
Gibt den Item-Stack zurück, der sich an der übergebenen Position befindet. |
|
|
ItemStack |
Gibt den Item-Stack zurück, in dem sich ein Gegenstand vom angegebenen Typ befindet. |
|
|
ItemStack |
Entfernt den übergebenen Gegenstand aus dem Inventar. |
Die Importbefehle für Crafting-Rezepte lauten:
import org.bukkit.inventory.ShapedRecipe
für Rezepte mit fester Reihenfolge und
import org.bukkit.inventory.ShapelessRecipe
für Rezepte ohne feste Reihenfolge
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Fügt dem Server das übergebene Rezept hinzu. |
|
|
|
ShapedRecipe |
Erzeugt ein neues Rezept für den übergebenen Gegenstand, mit fester Anordnung. |
|
|
ShapelessRecipse |
Erzeugt ein neues Rezept für den übergebenen Gegenstand, ohne feste Anordnung. |
|
|
Legt fest, für welchen Gegenstand ein Zeichen in einem Rezept steht. |
|
|
|
Legt die Anordnung eines Rezepts fest. |
|
|
|
Fügt dem Rezept die übergebene Zutat hinzu. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Zahl |
Kurzschreibweise für |
|
|
Double |
Rundet x auf. |
|
|
Double |
Rundet x ab. |
|
|
Double |
Berechnet die Potenz ab. |
|
|
Double |
Rundet x fair. |
|
|
Long oder Integer |
Rundet x kaufmännisch. |
|
Initialisierung eines Zufallszahlgenerators. |
||
|
|
Zahl |
Substraktion zweier Zahlen. |
|
|
Zahl |
Berechnung des Restwerts. |
|
|
Zahl |
Kurzschreibweise für |
|
|
Zahl |
Multiplizierung zweier Zahlen. |
|
|
Zahl |
Kurzschreibweise für |
|
|
Zahl |
Quotienten zweier Zahlen. |
|
|
Zahl |
Kurzschreibweise für |
|
|
Zahl |
Addition zweier Zahlen oder Konkatenation zweier Strings. |
|
|
Zahl |
Kurzschreibweise für |
|
|
Zahl |
Kurzschreibweise für |
|
|
Zahl |
Kurzschreibweise für |
|
|
Integer |
Erzeugt eine Zufallszahl zwischen 0 (einschließlich) und der angegebenen oberen Grenze (ausschließlich). |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
Versendet die angegebene Meldung als Chat-Nachricht an alle Spieler. |
|
|
|
Schreibt einen Log-Eintrag mit der angegebenen Meldung. |
Eine komplette Übersicht über alle verfügbaren Listener und ihre zugehörigen Funktionen findest du in Kapitel 13, an dieser Stelle sind daher nur die Befehle zusammengefasst, die allgemein für ihren Einsatz benötigt werden.
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
Leitet eine Funktion ein, die von einem Listener bei einer festgestellten Veränderung aufgerufen wird. |
||
|
|
Unterbindet (bei |
|
|
PluginManager |
Gibt den Plugin-Manager zurück. |
|
|
|
Registriert einen Listener. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
boolean |
Lädt den Wahrheitswert mit dem angegebenen Namen aus der Konfigurationsdatei. |
|
|
float |
Lädt den Float-Wert mit dem angegebenen Namen aus der Konfigurationsdatei. |
|
|
int |
Lädt den Integer-Wert mit dem angegebenen Namen aus der Konfigurationsdatei. |
|
|
List<Object> |
Lädt die Liste mit dem angegebenen Namen aus der Konfigurationsdatei. |
|
|
String |
Lädt den String-Wert mit dem angegebenen Namen aus der Konfigurationsdatei. |
|
Speichert Änderungen in der Konfigurationsdatei. |
||
|
|
Speichert den Wert unter dem angegebenen Namen in der Konfigurationsdatei. |
|
|
FileConfiguration |
Lädt die zum Plugin gehörende Konfigurationsdatei. |
|
|
|
Speichert die angegebene Datei aus dem Jar-Paket im Ressourcen-Ordner. |
|
|
|
FileConfiguration |
Lädt die angegebene Konfigurationsdatei. |
Befehl |
Parameter |
Rückgabewert |
Beschreibung |
---|---|---|---|
|
|
File |
Lädt die angegebene Datei aus dem angegebenen Ordner. |
|
|
FileInputStream |
Erzeugt einen neuen FileInputStream. |
|
|
FileOutputStream |
Erzeugt einen neuen FileOutputStream. |
|
|
ObjectInputStream |
Erzeugt einen neuen ObjectInputStream. |
|
Object |
Liest ein gespeichertes Objekt aus der zugehörigen Datei. |
|
|
|
ObjectOutputStream |
Erzeugt einen neuen ObjectOutputStream. |
|
|
Speichert ein Objekt in der zugehörigen Datei. |
Hier findest du die Lösungen zu den im Buch gestellten Rätseln, geordnet nach den Kapiteln, zu denen sie gehören.
Keine Rätsel.
Keine Rätsel.
In Zeile 5 fehlt am Ende der Zeile das Semikolon. In Zeile 9 fehlen außerdem die Anführungszeichen um den auszugebenden Text. Korrekt müsste die Zeile this.getLogger().info("Auf Wiedersehen!");
heißen.
Zeile 5 muss wie in Listing A.1 gezeigt angepasst werden.
1 import org.bukkit.plugin.java.JavaPlugin; 2 3 public class HalloWeltPlugin extends JavaPlugin { 4 public void onEnable() { 5 this.getLogger().info("Der Server wurde gestartet."); 6 } 7 8 public void onDisable() { 9 } 10 }
Listing A.1: Lösung zu Rätsel 3.2
Die Datei HalloWeltPlugin.java
muss umbenannt werden in ServerStartPlugin.java
und wie in Listing A.2 gezeigt abgeändert werden. Außerdem muss die plugin.yml
abgeändert werden.
1 import org.bukkit.plugin.java.JavaPlugin; 2 3 public class ServerStartPlugin extends JavaPlugin { 4 public void onEnable() { 5 this.getLogger().info("Der Server wurde gestartet."); 6 } 7 8 public void onDisable() { 9 } 10 }
Listing A.2: ServerStartPlugin.java
Die für ein funktionierendes Plugin benötigte Datei plugin.yml
wird mit diesem Befehl nicht zum Jar-Archiv hinzugefügt.
Es muss nur der Name des Befehls in der plugin.yml
geändert werden.
1 import org.bukkit.Bukkit; 2 import org.bukkit.plugin.java.JavaPlugin; 3 import org.bukkit.command.Command; 4 import org.bukkit.command.CommandSender; 5 6 public class HalloServerPlugin extends JavaPlugin { 7 public void onEnable() { 8 } 9 10 public void onDisable() { 11 } 12 13 public boolean onCommand(CommandSender sender, Command befehl, String befehlsname, String[] args){ 14 Bukkit.broadcastMessage("Willkommen Spieler"); 15 return true; 16 }
Listing A.3: Lösung zu Rätsel 4.2
Keine Rätsel
Weil der Compiler die Zahl 3.471 als double
-Wert behandelt, wenn dahinter kein f
steht. Korrekt müsste die Zeile float f = 3.471f;
lauten.
1double
d = 7.31; 2long
r1 = Math.round(d); //Ergebnis: 7 3double
r2 = Math.ceil(d); //Ergebnis: 8.0 4double
r3 = Math.floor(d); //Ergebnis 7.0 5double
r4 = Math.rint(d); //Ergebnis 7.0
Dazu muss die Zahl zuerst mit 1000 multipliziert, dann gerundet und danach wieder durch 1000 geteilt werden:
1 double
d = 2.7481;
2 d = d * 1000; //2748.1
3 d = Math.rint(d); //2748.0
4 d = d / 1000; //2.748
Das Ergebnis des Ausdrucks ist der String »101«. Da die Eins als String angegeben wurde, interpretiert der Compiler das Pluszeichen automatisch als Konkatenationsoperator und die erste Zahl ebenfalls als String.
Wie bereits als Tipp erwähnt, benötigst du eine zusätzliche Variable, die als Zwischenspeicher dient. In der speicherst du zunächst einen Namen, zum Beispiel »Max«, dann setzt du »Lea« an die Stelle von »Max« und an die alte Position von »Lea« den Wert des Zwischenspeichers, also »Max«.
Wie das als Code aussieht, kannst du in Listing A.4 sehen.
1 String[] namen = {"Kai"
,"Max"
,"Kim"
,"Lea"
,"Pia"
}; 2 String zwischenspeicher; 3 4 zwischenspeicher = namen[1]; //Max 5 namen[1] = namen[3]; //ersetze Max durch Lea 6 namen[3] = zwischenspeicher; //ersetze Lea durch Max
Listing A.4: Lösung zu Rätsel 6.5
1 a =true
&&false
=false
2 b =false
||true
=
true
3 c =false
4 d = (true
||false
) &&true
=true
&&true
=true
5 e =true
ˆtrue
=false
Da die Laufbedingung der Schleife i < 5
ist, wird die Schleife abgebrochen, sobald i
den Wert 5
erreicht. Der Schleifenrumpf wird also nie mit diesem Wert ausgeführt und b
bleibt daher false
.
Die while
-Schleife ist kopfgesteuert, das heißt, es wird vor Ausführung der Schleife die Laufbedingung geprüft. Da i = 0
und die Laufbedingung i < 0
ist, wird der Schleifenrumpf also überhaupt nicht ausgeführt und i
bleibt 0
.
Die do-while
-Schleife dagegen ist fußgesteuert, das heißt, sie wird mindestens einmal ausgeführt und erst dann wird die Laufbedingung geprüft. Daher wird j
auf den Wert 1
gesetzt.
Die Anweisung x++
befindet sich nur innerhalb der äußeren Schleife. Da die Schleife genau zehn Mal durchlaufen wird und somit zehnmal eins zu x
addiert wird, ergibt sich für x
beim Startwert 0
das Ergebnis 10
.
Die Anweisung y++
befindet sich in der inneren Schleife. Die innere Schleife wird in einem Durchlauf 20
Mal wiederholt. Da sie sich aber innerhalb der äußeren Schleife befindet, wird sie insgesamt 10
Mal komplett durchlaufen. Zehn mal zwanzig Wiederholungen ergeben also insgesamt zweihundert Wiederholungen und dementsprechend auch einen y
-Wert von 200
.
Mithilfe einer kopfgesteuerten Schleife kann das Verhalten einer Verzweigung auf verschiedene Weisen nachgebaut werden, zum Beispiel so:
1boolean
b =true
; 2 3while
(a && b){ 4 //Befehle 5 b =false
; 6 }
Diese Schleife wird zum Beispiel nur genau dann ausgeführt, wenn a
wahr ist und nur ein Mal. Sie verhält sich also wie die Verzweigung if(a)
.
Da der Startwert von a false
ist, wird die while
-Schleife in Zeile 8 nicht ausgeführt und i
bleibt 0
. Da es sich bei der nächsten Schleife um eine fußgesteuerte Schleife handelt, wird diese einmal ausgeführt, obwohl a
weiterhin false
ist. Der Wert von j
wird also auf 1
erhöht. Aus diesem Grund sind i
und j
in Zeile 16 nicht mehr gleich, 0 == 1
, daher wird der else
-Teil der Verzweigung ausgeführt und die Variable ausgabe
erhält den Wert »ungleich«.
In der ersten Zeile wird der Typ des Rückgabewerts der Funktion als int
angegeben, die Funktion gibt aber tatsächlich Strings zurück. Korrekt müsste die Funktion deshalb wie in Listing A.5 aussehen.
1public
String testFunktion(boolean
b){ 2if
(b){ 3return
"wahr"
; 4 } 5else
{ 6return
"falsch"
; 7 } 8 }
Listing A.5: Lösung zu Rätsel 9.1
Es gibt viele verschiedene Möglichkeiten, eine solche Funktion zu programmieren. Am einfachsten kannst du das Problem mit einer Schleife lösen, welche du dabei verwendest, ist Geschmackssache. Eine mögliche Lösung, die eine for
-Schleife verwendet, findest du in Listing A.6.
1public
int
potenz(int
a,int
b){ 2if
(b == 0){ 3return
1; 4 } 5else
{ 6int
ergebnis = 1; 7for
(int
i = 0; i < b; i++){ 8 ergebnis = ergebnis * a; 9 } 10return
ergebnis; 11 } 12 }
Listing A.6: Lösung zu Rätsel 9.2
Eine Mauer ist ein Quader mit der Tiefe 1. Statt Mauer(hoehe, breite, material)
könnte man also auch einfach Quader(hoehe, breite, 1, material)
nutzen.
Dazu kann die Mauer-Klasse einfach zu einer Unterklasse der Quader-Klasse gemacht werden. Damit übernimmt die Mauer
-Klasse automatisch die Bau
-Funktion aus der Quader
-Klasse und im Konstruktor der Mauer
-Klasse muss nur noch, wie in Listing A.7 gezeigt, der Aufruf des Konstruktors der Oberklasse geändert werden.
1class
Mauerextends
Quader{ 2public
Mauer(int
hoehe,int
breite, Material material){ 3super
(hoehe, breite, 1, material); 4 } 5 }
Listing A.7: Lösung zu Rätsel 10.2
Kein Rätsel.
Das Vorgehen ist hier im Prinzip identisch mit dem Vertauschen von Elementen in einem Array. Auch hier benötigst du wieder eine zusätzliche Variable als Zwischenspeicher, wie du in Listing A.8 sehen kannst.
1 List<String> liste =new
ArrayList<String>(); 2 liste.add("eins"
); 3 liste.add("zwei"
); 4 liste.add("drei"
); 5 liste.add("vier"
); 6 liste.add("fünf"
); 7 //liste: eins, zwei, drei, vier, fünf 8 9 //vertausche zwei und vier 10 String zwischenspeicher = liste.get(1); //zwei 11 liste.set(1, liste.get(3)); //ersetze zwei durch vier 12 liste.set(3, zwischenspeicher); //ersetze vier durch zwei 13 //liste: eins, vier, drei, zwei, fünf
Listing A.8: Lösung zu Rätsel 12.1
Kein Rätsel.
In Listing A.9 kannst du sehen, wie das Rezept für ein Bett als Code ausgedrückt aussieht.
1 ShapedRecipe bettRezept = new ShapedRecipe(enderbogen); 2 bettRezept.shape("", "WWW", "BBB"); 3 bettRezept.setIngredient('"', Material.WOOL); 4 bettRezept.setIngredient('B', Material.LOG); 5 this.getServer().addRecipe(bettRezept);
Listing A.9: Lösung zu Rätsel 14.1
Kein Rätsel.
Im Kreativmodus wird ein Schneeball beim Werfen nicht aus dem Inventar entfernt, das Schneeballschlacht-Plugin fügt aber trotzdem bei jedem Wurf einen Schneeball zum Inventar des Spielers hinzu. Somit können sich im Inventar-Slot des Spielers mehr als die eigentlich möglichen 16 Schneebälle befinden. Um das zu vermeiden, musst du im WurfListener
die Zeile gegenstand.setAmount(gegenstand.getAmount() + 1)
anpassen. Entweder so, dass die Anzahl immer fest auf 16 gesetzt wird, oder eine Prüfung hinzufügen und nur dann die Anzahl erhöhen, wenn der Wert kleiner als 16 ist.