Bukkit scan Structure?

1 Antwort

Eine Liste aus den Blöcken erstellen.

Eine for-Schleife mit allen Himmelsrichtungen.

-> Dadrin mit einer for-Schleife aus der Blockliste den nächsten Block in der Himmelsrichtung bekommen und gucken ob es der Block in der Liste ist

3

Was genau meinst du mit einer "for-Schleife mit allen Himmelsrichtungen"?

0
3

Könntest du mir vllt den Code schicken? Kann deine Antwort leider schlecht umwandeln^^ Danke aber trotzdem

0
3
@colum123

Danke, und jetzt eine Liste erstellen? Wie genau soll die ausschauen?

0
3
@colum123

Ahhh okey, ich versuche es später (bin gerade am Handy^^) Vielen Dank aber schonmal :)

0
3
@colum123

meintest du so in der Art?

Arrays.asList(Material.GLASS, Material.SMOOTH_STONE);

      for(BlockFace face : BlockFace.values()) {

      }

Und wie geht es weiter? :o

0
18
@fishgamerYT

Dadrin mit einer for-Schleife aus der Blockliste den nächsten Block in der Himmelsrichtung bekommen und gucken ob es der Block in der Liste ist

0
3
@colum123

wie bekomme ich den nächsten Block in der Himmelsrichtung?

0
3
@colum123

asoo, nein, aber jetzt Verstehe ich was du meinst! moment

0
3
@colum123

hm... aber ich will ja eigentlich:

  1. Man baut die Maschine
  2. Man muss den Maschinen-Key craften
  3. Man muss mit dem Key rechtsklick auf die Maschine machen, dann wird überprüft, ob es richtig gebaut ist, wenn ja: Die Maschine soll registriert werden in einer File (Reicht aber auch erstmal eine Message auszugeben)
0
3
@colum123
ArrayList<Material> array = new ArrayList<>();
                  array.add(Material.SMOOTH_STONE);
                  array.add(Material.GLASS);

                  for(BlockFace face : BlockFace.values()) {
                     if(array.contains(b.getType())) {
                        p.sendMessage("1");
                     }
                  }

Bin am verzweifeln...

so funktioniert es auf jeden Fall nicht...

ist übrigens im PlayerInteractEvent

0
18
@fishgamerYT
ArrayList<Material> array = new ArrayList<>();
                  array.add(Material.SMOOTH_STONE);
                  array.add(Material.GLASS);

                  for(BlockFace face : BlockFace.values()) {
                      Block currentBlock = b;
                      boolean isWrongSequence = false;
                     for(Material m : array) {
                        currentBlock = currentBlock.getRelative(face);
                        if(!currentBlock.getType().equals(m)) {
                         isWrongSequence = true;
                          break;
}
                     }
                      if(!isWrongSequence) { //HERE}
                  }
0
3
@colum123

funktioniert leider nicht. Egal wo ich hinklicke, es kommt immer heraus dass es richtig ist

0
18
@fishgamerYT

finde den fehler, habe kein bock den code selbst auszuprobieren.

pack einfach in jede abzweigung etwas damit eine nachricht ausgegeben wird

0
27
@fishgamerYT

Der Spieler klickt auf die Maschine (einen bestimmten Block), dadurch weißt du den Block und dessen Koordinaten. Dann gehst du einen Block weiter (z. B. x-Koordinate +1) und überprüfst, ob der Block dort stimmt. Das machst du dann für alle Blöcke der Maschine.

0
3
@LudwigSchindler

Genau das hab ich dann gestern noch gemacht. Funktioniert super. Ich muss halt nur noch es für alle Directions machen ;)

1

Ich kann in Minecraft nicht mehr schlagen wenn ich laufe?

Wenn ich in Minecraft auf einen Block zulaufe und ihn abbauen will funktioniert es nicht. Es funktioniert nur wenn ich 1-2 Sekunden stehenbleibe. Sogar wenn ich meine Maussteuerung umstelle, also wenn ich schlagen auf die zweite Maustaste setze und platzieren auf die erste kann ich dann zwar wieder beim Laufen schlagen aber dann kann ich keine Blöcke mehr im laufen platzieren, also im Grunde genau das selbe wie oben schon. An meiner Maus liegt es auch nicht da ich es schon mal mit einer anderen Maus ausprobiert habe.Ich habe sogar schon Minecraft neu installiert aber es geht trotzdem nicht. Ich bin am verzweifeln. Ich bedanke mich schon mal im voraus für eure Antworten. :)

...zur Frage

Wie schreibt man koreanisch (in diesen Blöcken)?

Hi,

ich habe vorkurzem angefangen Koreanisch zu lernen (nur als hobby) und habe nun alle Vokale und Konsonanten gelernt. Jetzt würde ich gerne wissen wie man das aufschreibt. Soweit ich weiß trennt man die "Blöcke" immer nach jeder Silbe, aber wie werden die Zeichen in den Blöcken angeordnet also was ist oben unten rechts links usw.

Gibt es dafür eine genaue regel?

Und auch wie sich die Schriftzeichen dann ändern, also wenn ich nur so das "k" schreibe: "ㄱ" aber wenn es in einem "Block" ist ist es dann aufeinmal so "가"

...zur Frage

Wie kann ich bei spigot prüfen ob ein bestimmter Spieler gerade auf dem selben Server online ist?

Hallo,

ich hatte neulich mal wieder Lust ein Plugin zu schreiben und dachte mir, ich könnte doch mal einen Command einfügen, mit dem ma n den onlinestatus auf meinem Server abfragen kann. Leider bin ich wohl etwas raus gekommen. Folgendes habe ich programmiert

        if(cmd.getName().equalsIgnoreCase("team")) {
        if (args.length == 0){
            p.getServer().getPlayer("Spielername");
            if(p != null){
                p.sendMessage("Spieler: online");
                return true;
            } else {
                p.sendMessage("Spieler: offline");
                return true;
            }
            }
            }

Ja, das ist etwas unordentlich weil ich das etwas aus dem Kontext gerissen habe, aber das wesentliche sollte man erkennen können ;) Ich weiß, dass ich damit prüfe, ob der Spieler, der den Command ausführt online ist und nicht der Spieler den ich hinten angegeben habe, allerdings ist mein Problem eher, dass ich nicht weiß, ob dieser Code üerhaupt prüft, ob der Spieler auf dem Server ist, als viel mehr ob der Spieler in der Datenbank von Mojang eingespeichert ist, sprich einen Premium-Account besitzt. (Wie gesagt, ist lange her, dass ich mich mal mit bukkit / spigot befasst habe)

Wenn mir jemand sagen könnte, ob der Code überhaupt das tut, was ich will wäre das bereits eine große Hilfe. Wenn man mir direkt noch einen Tipp gibt, wie ich meinen Code "richtig" mache wäre das wirklich der Hammer :)

Vielen Dank

...zur Frage

Spigot: MetaData beibehalten obwohl der Block gesetzt wurde?

Ich programmiere grade ein weiteres Plugin, und wenn man da einen Hopper (mit speziellen Metadaten) setzt sollte man ihn auch wieder abbauen können, und genauso wieder zurückbekommen wie er vor dem Platzieren war. Ich hab jetzt eben das Problem, dass ich die Metadaten nicht zurückbekomme. Es würde auch reichen wenn ich nur den Namen des Blocks wissen könnte. Ich weiß nur nicht wie... (e.getBlock().getMetadata(getName())) funktioniert nähmlich nicht) . Kann mir jemand sagen wie ich den Namen oder gleich die ganzen Metadaten wieder zurückbekomme?

...zur Frage

Config.yml Werte erhöhen?

Ich bin momentan dabei ein Vote Plugin für meinen Minecraft-Server zu schreiben.

Mit dem Command /vote öffnet sich ein Inventar, in diesem sind drei blöcke (Redstone/gold/emerald) jeweils per klick z.B. auf den Redstone block (welcher "schlecht" heißt) soll in der Config.yml der entsprechende wert (also in diesem Fall "schlecht") um 1 erhöht werden... Wie kann ich das machen?

mit /votes kann man die Ergebnisse der abgegebenen Stimmen einsehen.

Vielen Dank im Vorraus für alle antworten. :)

...zur Frage

Minecraft World Guard Pistons gehen nicht, wie richtig einstellen?

Hallo,

ich habe auf meinem Server Craftbukkit 1.8.8 Worldguard 6.1 installiert.

ich wollte die welt proteecten also habe ich

/rg Flag global pvp deny

/rg flag global Build Deny

Benutzt

Doch jetzt gehen die Pistons auf dem Server nicht mehr die voher noch gingen

ich habe schon Pistons Allow getestet geht auch nicht. Ich habe auch das Plugin WGPFix installiert das hilft auch nichts

und wenn ich Build deny zu Build Allow setze gehen die Pistons wieder?

Wie kann ich einstellen das man keine Blöcke abbauen kann aber die pistons trozdem funktionieren ?

block-break deny und block-place deny haben das gleiche problem

Danke für eure antworten

...zur Frage

Was möchtest Du wissen?