Bukkit Plugin Programmieren Block Setzen an Cordi?

3 Antworten

Ich bin jetzt an meinem Computer also:

Um das Material eines Blockes zu ändern, brauchst du erst einmal den Block. Den Block bekommst du von der World. Die World bekommst du entweder von Bukkit oder von einer Location.

// Block von der Possition des Spielers p
Location loc = p.getLocation();
World w = loc.getWorld();
Block b = w.getBlockAt(loc.x, loc.y, loc.z)
Material m = Material.DIAMOND_BLOCK
b.setType(m);

// oder kürzer geschrieben
Location loc = p.getLocation();
loc.getWorld().getBlockAt(loc.x, loc.y, loc.z).setType(Material.DIAMOND_BLOCK);

// ohne Entity
Bukkit.getWorld(worldName).getBlockAt(x, y, z).setType(Material.DIAMOND_BLOCK);

Youtube Videos sind meiner Meinung nach nicht das Beste um Programmieren zu lernen. Schau dir lieber die Bukkit API an. Daher werden auch die Entwickler von den Videos ihre Informationen her haben. Da nicht alle Sachen aus der API herhauslesbar sind kannst du dir noch zusätzlich das Tutorial vom Bukkit-Wiki durchlesen: http://wiki.bukkit.org/Plugin_Tutorial/de .  Das sind meiner Meinung nach bessere und aktuellere Quellen als youtube.

Danke, hast mir sehr gehollfen! Danke MFG Manuel

0

Wenn du seit 1,5 Jahren Plugins programmierst müsste es dir eigentlich bekannt sein aber einen Block änderst du normalerweise in dem du dir von Bukkit die Welt holst, dann auf der Welt den Block mit getBlockAt(x,y,z) an forderst und dann auf dem Blockobjekt die setMaterial(material) das material kommt dann von dem Material Enum.

Das müsstest du nach 1,5 Jahren kennen. Ich kann dir, wenn ich heute Abend an meinen Computer komme noch ein Codebeispiel schreiben. Falls du etwas anderes meinst, hab ich dich wohl falsch verstanden.

Du hast schon richtig verstanden aber ich hab bis jz nur Command Plugins geschrieben z.b /Ban /Info usw

0
@Porsche11

Hey eine frage noch wenn ich 

Bukkit.getWorld(worldName).getBlockAt(x, y, z).setType(Material.DIAMOND_BLOCK);

mache und bei worldName jz z.b Youtube eingebe wird das ja rot unterstrichen und das bedeutet doch ich muss die Welt Definieren oder also mit Hashmap oder mit ArrayList? Oder garnichts von beidem ?

MFG Manuel 

0
@Porsche11

Der Weltname ist ein String, so wie der Weltordner in deinem Serververzeichnis

0

Such mal die Methode setBlock oder setTargetBlock :)

Werde ich schauen :)

0

Bukkit 1.8 Plugin Programmieren -> Weltchat?

Hallo, ich Programmiere gerade ein Bukkit (1.8) Plugin, und wollte wissen wie man den Chat so machen kann das nur die, die in der gleichen Welt sind es lesen können, aber die mit den Rechten "alles" können alles Lesen und wenn sie im Chat ein # davor machen ist diese Nachricht global.

Vielleicht kann einer es hier schreiben, oder kennt ein gutes Tutorial.

Ach und vielleicht weiß das ja auch einer: Wie mache ich das nur die, die iner gleichen Welt sind bei [Tab] angezeigt werden?

Danke.

...zur Frage

Java Programmieren Grundkurs [Minecraft Bukkit Plugins]

hay,

ich wollte mal fragen ob jemand einen kostenlosen Java Online Grundkurs kennt. Ich will lernen, wie man Minecraft Bukkit Plugins programmiert,

Ich benutze das Programm Eclipse

Vielen Dank

...zur Frage

[Bungeecord Plugin programmieren] Command in Konsole auf jedem Unterserver ausführen?

Hallo, Ich programmiere seit 8 Monaten in Java größtenteils Bukkit Plugins. Jetzt habe ich angefangen mit der Bungeecord API zu programmieren. Da ich damit noch wenig Erfahrung habe, würde ich gerne wissen, wie man in der Konsole auf jedem Unterserver einen Command ausführen kann.

Ich hoffe, jemand kennst sich damit aus und kann möglichst bald helfen :)

...zur Frage

Spigot programmieren: Skulls an Wand setzen per plugin?

Hey.. ich habe grade ein Plugin programmiert, womit ich playerskulls an locations setze, aber das problem ist, dass die köpfe nicht die wand berühren, obwohl ein block weiter eine ist. wie kann ich das ändern?

...zur Frage

Bukkit Plugin Programmieren Events?

Hey, ich will ein Lobby Plugin (Bukkit) programmieren brauche aber noch hilfe:

  • Wie testet man ob ein Spieler Feuer mit der Hand ausschlägt?
  • Wie testet man ob ein Spieler brennt?
  • Wie testet man ob ein Spieler ein Feuerzeug benutzt?
  • Wie testet man ob ein Spieler ein Eimer leert / füllt?

Ich möchte all diese Sachen e.setCancelled(true); machen!

Mein Code bis jz mit Block break + Block build (Listener):


package Listener;

import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent;

public class noBuild implements Listener {

@EventHandler
public void onBlockBreak(BlockBreakEvent e){
    e.setCancelled(true);
}


@EventHandler
public void onBlockPlace(BlockPlaceEvent e){
    e.setCancelled(true);
}

}


...zur Frage

Bukkit Plugins programmieren: Mehrere args-Arrays (args[1], args[2]...) zu einem String machen

Wie kann ich bei einem Bukkit-Plugin mehrere Args-Arrays wie args[1], args[2], args[3] usw. zu EINEM String zusammenfassen?

...zur Frage

Was möchtest Du wissen?