Wie kann ich die Platzierung bestimmter Blöcke im Minecraft-Abenteuer-Modus erlauben?

Ich mache eine Abenteuerkarte in Minecraft und gebe dem Spieler eine Schaufel, die Blätter, Gras und Schmutz brechen kann. Was ich tun möchte, ist, dass der Spieler die Blöcke platziert, die er oder sie brach. Ist das möglich?

Dies ist zwar ziemlich einfach zu tun, aber der Befehl ist sehr lang.

Die Art und Weise, wie Sie dies tun sollten, wie andere Antworten bereits darauf hingewiesen haben, ist, indem Sie CanPlaceOn Tags auf das Element setzen. Es gibt keine einfache Möglichkeit, dies zu tun, sobald die Gegenstände bereits im Inventar des Spielers sind, also solltest du es für die gelöschten Gegenstände mit /entitydata .

CanPlaceOn ist auch ziemlich nervig, dass man jeden einzelnen Block benennen muss, den du in der Lage sein möchtest, den Block zu platzieren. Ich habe die Blockname Tabelle aus dem Minecraft Wiki, und schrieb ein Skript, um die Namen in das richtige Format zu konvertieren.

Insgesamt ist der Befehl, den du auf eine schnelle Uhr laufen möchtest:

 /entitydata @e[type=Item] {Item:{tag:{CanPlaceOn:["minecraft:air","minecraft:stone","minecraft:grass","minecraft:dirt","minecraft:cobblestone","minecraft:planks","minecraft:sapling","minecraft:bedrock","minecraft:flowing_water","minecraft:water","minecraft:flowing_lava","minecraft:lava","minecraft:sand","minecraft:gravel","minecraft:gold_ore","minecraft:iron_ore","minecraft:coal_ore","minecraft:log","minecraft:leaves","minecraft:sponge","minecraft:glass","minecraft:lapis_ore","minecraft:lapis_block","minecraft:dispenser","minecraft:sandstone","minecraft:noteblock","minecraft:golden_rail","minecraft:detector_rail","minecraft:sticky_piston","minecraft:web","minecraft:tallgrass","minecraft:deadbush","minecraft:piston","minecraft:piston_head","minecraft:wool","minecraft:piston_extension","minecraft:yellow_flower","minecraft:red_flower","minecraft:brown_mushroom","minecraft:red_mushroom","minecraft:gold_block","minecraft:iron_block","minecraft:double_stone_slab","minecraft:stone_slab","minecraft:brick_block","minecraft:tnt","minecraft:bookshelf","minecraft:mossy_cobblestone","minecraft:obsidian","minecraft:torch","minecraft:fire","minecraft:mob_spawner","minecraft:oak_stairs","minecraft:chest","minecraft:redstone_wire","minecraft:diamond_ore","minecraft:diamond_block","minecraft:crafting_table","minecraft:farmland","minecraft:furnace","minecraft:lit_furnace","minecraft:standing_sign","minecraft:ladder","minecraft:rail","minecraft:stone_stairs","minecraft:wall_sign","minecraft:lever","minecraft:stone_pressure_plate","minecraft:wooden_pressure_plate","minecraft:redstone_ore","minecraft:lit_redstone_ore","minecraft:unlit_redstone_torch","minecraft:redstone_torch","minecraft:stone_button","minecraft:snow_layer","minecraft:ice","minecraft:snow","minecraft:cactus","minecraft:clay","minecraft:jukebox","minecraft:fence","minecraft:pumpkin","minecraft:netherrack","minecraft:soul_sand","minecraft:glowstone","minecraft:portal","minecraft:lit_pumpkin","minecraft:unpowered_repeater","minecraft:powered_repeater","minecraft:stained_glass","minecraft:trapdoor","minecraft:monster_egg","minecraft:stonebrick","minecraft:brown_mushroom_block","minecraft:red_mushroom_block","minecraft:iron_bars","minecraft:glass_pane","minecraft:melon_block","minecraft:pumpkin_stem","minecraft:melon_stem","minecraft:vine","minecraft:fence_gate","minecraft:brick_stairs","minecraft:stone_brick_stairs","minecraft:mycelium","minecraft:waterlily","minecraft:nether_brick","minecraft:nether_brick_fence","minecraft:nether_brick_stairs","minecraft:enchanting_table","minecraft:end_portal","minecraft:end_portal_frame","minecraft:end_stone","minecraft:dragon_egg","minecraft:redstone_lamp","minecraft:lit_redstone_lamp","minecraft:double_wooden_slab","minecraft:wooden_slab","minecraft:cocoa","minecraft:sandstone_stairs","minecraft:emerald_ore","minecraft:ender_chest","minecraft:tripwire_hook","minecraft:tripwire","minecraft:emerald_block","minecraft:spruce_stairs","minecraft:birch_stairs","minecraft:jungle_stairs","minecraft:command_block","minecraft:beacon","minecraft:cobblestone_wall","minecraft:wooden_button","minecraft:anvil","minecraft:trapped_chest","minecraft:light_weighted_pressure_plate","minecraft:heavy_weighted_pressure_plate","minecraft:unpowered_comparator","minecraft:powered_comparator","minecraft:daylight_detector","minecraft:redstone_block","minecraft:quartz_ore","minecraft:hopper","minecraft:quartz_block","minecraft:quartz_stairs","minecraft:activator_rail","minecraft:dropper","minecraft:stained_hardened_clay","minecraft:stained_glass_pane","minecraft:log2","minecraft:log2","minecraft:acacia_stairs","minecraft:dark_oak_stairs","minecraft:slime","minecraft:barrier","minecraft:iron_trapdoor","minecraft:prismarine","minecraft:sea_lantern","minecraft:hay_block","minecraft:carpet","minecraft:hardened_clay","minecraft:coal_block","minecraft:packed_ice","minecraft:double_plant","minecraft:prismarine","minecraft:barrier","minecraft:red_sandstone","minecraft:sea_lantern","minecraft:iron_trapdoor"],HideFlags:16}}} 

Es erfolgt mit dem CanPlaceOn-Tag:

Für ein Tag: {CanPlaceOn:["minecraft:planks"]}

Für mehrere Tags: {CanPlaceOn:["minecraft:planks","minecraft:stone"]}

So würde der Befehl aussehen:

 /give APlayerName minecraft:stone 1 0 {CanPlaceOn:["minecraft:planks"]} 

Ich denke nicht, dass du es für Blöcke tun kannst, die normalerweise fallen, aber du kannst ein Handelssystem einrichten, damit deine Spieler die Blöcke austauschen können, die sie für die gleichen Blöcke aufheben, die den Hinzufügen von Platzierbaren haben

Das Handelssystem könnte ein NPC mit einem kundenspezifischen Handel für den spezifischen Block sein, den Block mit dem Hinzufügen von platzierbar zu verkaufen, oder sogar ein Filtersystem, das Trichter benutzt, die einen Befehlsblock ausführen, um einem Spieler den Block zu geben, den sie mit dem Platzier setzen Zusatz

Ich würde Code geben, aber ich bin noch ein bisschen neu hier, ich hoffe du kannst es ausarbeiten!

Du solltest das CanDestroy-Tag für die Schaufel benutzen. Dieser Tag lässt ein Element zerstören, was auch immer aufgeführt und nur diese Elemente.

Zuerst beginnen wir mit dem Befehl / geben. Für die Schaufel wäre es ganz einfach:

/give @a minecraft:iron_shovel 1 0

Dann würden Sie das CanDestroy-Tag danach hinzufügen, was so aussieht:

 {CanDestroy:[""]} 

Um es an die Arbeit zu bringen, legst du einfach den Namen des Blocks, den du zwischen dem "" willst. Zum Beispiel, wenn du speziell Gras brechen wolltest, würde es so aussehen:

{CanDestroy:["minecraft:grass"]}

Sie können auch das Tag mit Kommas erweitern, so können Sie eine Gruppe von Blöcken gebrochen, und es wird nur brechen Blöcke in dieser Gruppe. Um Gras, Schmutz und Blätter zu brechen, würde es so aussehen:

{CanDestroy:["minecraft:grass","minecraft:dirt","minecraft:leaves"]}

Der Tag fängt an, ziemlich lang zu sehen, aber zum Glück brauchen wir nicht mehr!

Nun, alles was wir tun müssen, ist das Etikett an den Befehl anzubringen:

/give @a minecraft:iron_shovel 1 0 {CanDestroy:["minecraft:grass","minecraft:dirt","minecraft:leaves"]}

Und das ist es! Dieser Befehl gibt dir eine eiserne Schaufel, die nur Gras, Schmutz und Blätter brechen kann. Wenn du wolltest, könntest du auch die Schaufel auch das Unzerbrechliche Etikett geben, was es bei der Benutzung niemals beschädigt. Das würde so aussehen:

/give @a minecraft:iron_shovel 1 0 {CanDestroy:["minecraft:grass","minecraft:dirt","minecraft:leaves"],Unbreakable:1}

Nun, für die Platzierung der Blöcke. Im Abenteuer-Modus gibt es keine Möglichkeit, einen Block auf jedem Block platzieren zu lassen. Sie könnten versuchen, eine Uhr zu betreiben, die nach Blöcken in Ihrem Inventar überprüft und dann die mit Blöcken mit dem CanPlaceOn-Tag ersetzt, um diese auf bestimmte Blöcke zu platzieren, aber das ist ziemlich kompliziert. Das Setzen von Blöcken mit einem CanPlaceOn-Tag wird auch nicht funktionieren, weil die Tags weggehen, wenn Sie diesen Block brechen. Also leider denke ich nicht theres eine Lösung für dein Problem ..

Die Verwendung des Can Place On-Tags funktioniert.
Zuerst setzen Sie diesen Befehl:

 {CanPlaceOn:[""]} 

Füllen Sie die Klammern mit einem Minecraft Item Name:

 {CanPlaceOn:["minecraft:Wool"]} 

Füge eine neue Klammer mit einem neuen Item Name hinzu, um weitere Tags hinzuzufügen:

 {CanPlaceOn:["minecraft:Wool","minecraft:sponge"]} 

Wenn Sie möchten, dass ein Element Objekte im Abenteuermodus brechen kann, verwenden Sie das Befehlsbefehl Can Destroy:

 {CanDestroy:[""]} 

Und ziemlich viel wiederholen die Schritte oben:

 {CanDestroy:["minecraft:dirt","minecraft:sand"]} 

Ich würde es so machen, nachdem ein Block bricht und du ihn abholst, ersetzt das Item sich mit dem gleichen Item, aber mit dem CanPlaceOn-Tag. Dieser Tag würde den Block haben, den du ihn platzieren würdest. Ich persönlich habe keine Ahnung, wie man so etwas macht, aber ich wette, jemand anderes hätte die Fähigkeit, es zu erklären, oder es gibt ein Video, wie man es auch macht. Hoffe das hilft.

Dies ist nur ein Vorschlag, aber nicht wütend sein, wenn es nicht funktioniert, sondern versuchen, den Block zu machen, den du mir schon machen möchtest, hat schon den Tag wie {canPlaceOn: ["minecraft ________"]} und tag den Artikel ure gonna Mine hat das Tag, das sein kann Platziert auf dem Block, dass es platziert werden muss, so dass Sie ein Problem haben, wenn Sie die Blöcke auf den falschen Block setzen

Hoffe es hat geholfen