Redstone um eine bestimmte Uhrzeit aktivieren

Dieses Thema im Forum "Server Plugins" wurde erstellt von Samueljuhasz, 24. August 2016.

  1. Samueljuhasz
    Offline

    Samueljuhasz

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    14
    Ort:
    Frankfurt am Main
    Minecraft:
    Samueljuhasz
    Hallo alle zusammen!

    Ich bin mir unsicher, ob ich gerade im richtigen Bereich bin, falls nicht, bitte ich schonmal um
    Entschuldigung.
    Nun meine Frage ist, wie es möglich ist, Redstone um eine bestimmte (Realtime) Uhrzeit zu
    aktivieren (und das jeden Tag)?
    Ich habe schon mehrere Sachen probiert, die allerdings nicht geklappt haben :/
    - RedstoneCommand mit Commandscheduler
    Result: Fehlermeldung "Asychronous Chuck load"
    - Commandscheduler mit /setblock
    Result: Kann Block nicht ausserhalb der Welt platzieren

    Hat wer noch Ideen/Lösungen oder Plugins?

    Würde mich über Antworten freuen

    Grüße,
    Samu
     
    #1
  2. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Musst die Chunks laden damit die 2. Methode funktioniert.
    Wenn kein Spieler in der nähe ist ist dieser Teil der Welt sozusagen nicht existent.
     
    #2
  3. XanXon
    Offline

    XanXon

    Registriert seit:
    10. Mai 2015
    Beiträge:
    34
    Mir würde da so spontan nur eine Lösung mit Commandblöcken vorstellen, das wäre u.U. dann aber eventuell dann eine Sicherheitslücke, wenn die falsche Person OP-Rechte erhält und somit uneingeschränkten Zugriff auf die Commands hat.

    Jedenfalls müsstest du iwo in einem permanent-geladenen Chunk einen "end_gateway"-Block platzieren (gibt es ab der Version 1.9+) mit {Age:200L}. Das ist momentan der einzige Block in ganz Minecraft, mit dem man die Zeit auf eine 20tel Sekunde genau angeben kann.

    Mit einem Chain-Commandblock (oder einer Clock) testest du nun durchgängig, ob dieser end_gateway-Block einen bestimmten Age-Wert erreicht hat, wobei 20 Ticks einer Sekunde entsprechen. Hat er also ein Age von 220, so ist eine Sekunde vergangen, bei 72.200 dann schon eine Stunde und bei 1.728.200 Ticks exakt 24 Stunden.

    Wenn du also z.B. jede RL-Stunde die Ingamezeit aktualisieren möchtest, dann bräuchtest du 24 Commandblöcke, die durchgängig den Age-Wert abtesten (/testforblock <Koordinaten des end_gateways> minecraft:end_gateway -1 {Age:72200L}) und weitere 24 Commandblöcke, die dann jeweils die Ingamezeit aktualisieren.

    Hier mal die Commands:
    • /setblock <X> <Y> <Z> end_gateway {Age:200L}
    • /testforblock <X> <Y> <Z> minecraft:end_gateway -1 {Age:72200L}
    • /time set 666
    Ein Ingametag besteht soweit ich weiß aus 16.000 Ticks, bei 24 Stunden wären das also (16.000 / 24 =) 666,66666 Ticks, die man jede Stunde dann die Zeit weitersetzen muss. Bei {Age:144200L}, also 2 Stunden, setzt man die Zeit dann auf (2 x 666,666 =) 1333 und so weiter.
    Ganz am Ende, wenn 24 Stunden rum sind, muss man das end_gateway dann nur wieder auf {Age:200L} zurücksetzen.:
    • /blockdata <X> <Y> <Z> {Age:200L}
    ============================================
    So, das war jetzt vermutlich ganz schön harter Tobak, vor allem wenn man vorher noch gar nichts mit Commandblöcken zutun hatte. Wenn du das Grundprinzip verstanden hast, dann könntest du die entsprechenden Chains und Befehle auch mit einem selbstgeschriebenen Plugin ausführen lassen - da müsstest du dann aber wen anders fragen. Müsste von der Theorie her aber sehr ähnlich funktionieren.
     
    #3
  4. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Meh....
    <---- Zitat aus der Wiki
     
    #4
  5. XanXon
    Offline

    XanXon

    Registriert seit:
    10. Mai 2015
    Beiträge:
    34
    Ich gebe mir Mühe, dir die Grundtechnik so verständlich wie möglich zu erklären, und dann kommt so ein klobiger Kommentar bei einer Sache, bei der ich mir - wie auch angemerkt - nicht 100%ig sicher war, während der ganze Rest ignoriert wird.

    Wow, just wow ..
     
    #5
  6. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Sorry sollte nicht so rüber kommen, eben weil du dir nicht sicher warst hab ichs korrigiert.
    Hätte auch Befehle und co. Korrigieren können aber etwas mühe kann sich der TE wohl geben.

    Und nebenbei halte ich es für eine Ineffiziente methode, es per schedular zu machen ist da besser er muss ledliglich die Chunks laden.
    Bzw. die Redstone Technik an den Spawn verschieben falls möglich.
     
    #6
  7. Samueljuhasz
    Offline

    Samueljuhasz

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    14
    Ort:
    Frankfurt am Main
    Minecraft:
    Samueljuhasz
    Vielen Dank für eure antworten!

    Leider ist unser Server noch auf 1.8.9, allerdings:
    Wir benutzen das Traincarts Plugin,
    welches ermöglicht, dass minecarts die chunks laden.
    Ich habe halt auch Angst mit der ganzen Redstone, dass der Server
    dann laggt.

    Könnte man da vllt. etwas tun?

    Gruß,
    Samuel
     
    #7
  8. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Man kann via Plugin auch Chunks Laden einfach mal googlen wenn du es eh per Plugin machst.
    Dann einfach kurz bevor die gebraucht werden Laden und fertig.
     
    #8
  9. Samueljuhasz
    Offline

    Samueljuhasz

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    14
    Ort:
    Frankfurt am Main
    Minecraft:
    Samueljuhasz
    Ja klar, aber das Ding ist, ich weiss immer noch nicht wie ich redstone um eine bestimmte Uhrzeit aktivieren kann..
    Die Commandblock Methode scheint zwar gut aber sehr Komplex zu sein, und ich bezweifle, dass der Server das aushält.
    Das ganze muss halt nicht nur da, sondern an mehreren Orten passieren..
     
    #9
  10. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    - Commandscheduler mit /setblock
    Result: Kann Block nicht ausserhalb der Welt platzieren

    Wenn du die Chunks lädts ist der /setblock befehel erfolgreich.
     
    #10
  11. Samueljuhasz
    Offline

    Samueljuhasz

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    14
    Ort:
    Frankfurt am Main
    Minecraft:
    Samueljuhasz
    Aber weiss er dann überhaupt, in welcher Welt er ein Block platziert?
    Ich meine wir haben verschiedene Welten (Multiverse), und wir arbeiten nicht in der "world"
     
    #11
  12. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Hm stimmt... wäre dann wohl besser den Block übers World Object zu setzten.
     
    #12
  13. Samueljuhasz
    Offline

    Samueljuhasz

    Registriert seit:
    26. Dezember 2012
    Beiträge:
    14
    Ort:
    Frankfurt am Main
    Minecraft:
    Samueljuhasz
    World object?
     
    #13
  14. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    663
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Ich vermute mal du bist ein neuling mit Bukkit/Spigot?
    Würde es dir gerne Erklären habe selber aber noch nie Bukkit/Spigot genutzt sorry.
     
    #14