ServerPlugin Realistische Explosion zurücksetzen

Dieses Thema im Forum "Programmierung" wurde erstellt von Lapura, 23. Mai 2015.

  1. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Guten Tag meine Java Programmier Freunde.
    Meine Name ist Lukas, und ich bin schon sehr lange dabei ein Realistische Explosion mit zurücksetzung zu erstellen.
    Mein Problem ist das sich das Zurücksetzen und das Realistische sich überschneidet. (Ich kann denn Code gerade nicht zeigen... Bin an meinem Laptop)
    Ich bin schon fast an der Lösung, aber es bleiben immer noch so kleine Reste von Blöcken was fehlt... (Die Blöcke die weg geflogen sind, die können dann so bleiben.. Das ist mir egal)
    Wie kann ich das machen? oder ist das Überhaupt möglich so etwas zu machen?
    =============================================================
    Info: Ich habe schon bei vielen Developern gefragt, und die wissen auch nicht weiter.
    Danke für jede Hilfe!
    LG, lukas
     
    #1
  2. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Wie meinst du das? Du merkst dir einfach alle Blöcke, die von der Explosion betroffen sind und stellst diese dann beim Zurücksetzen so wieder her. Schon hast du alles wieder auf Anfang.

    Und Code wäre auch nett.
     
    #2
  3. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Kannst du mir bitte einen kleinen Code schnipsel zeigen wie das meinst? Weil ich weiß nicht ganz genau wie du das machen willst..
    Wie gesagt, ich kann kein Code zeigen weil ich an einem Anderen Computer bin
     
    #3
  4. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Hallo,

    was genau möchtest du denn zurücksetzen? Die FallingBlocks oder das Loch?
     
    #4
  5. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Ich möchte nur das Loch die Fallingblocks die können bleiben, weil der Server in 30min dann wieder resetet wird
     
    #5
  6. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ich kann dir mal beschreiben, wie ich es machen würde:
    Bei jeder Explosion würde ich mit einem selbst generierten Pattern (am besten eine Kugel) die Blöcke aussuchen, die betroffen sind, mir diese Blöcke merken, sie zerstören und dann wiederherstellen. Ich verstehe zwar nicht, warum man sie erst zerstört und dann wiederherstellt, aber egal.
     
    #6
  7. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Gibt es keine Andere Idee mehr?
    Weil das mit der Kugel ist schon ein bisschen dumm..
     
    #7
  8. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    Meine Idee:
    • FallingBlock spawnen
    • Die Blöcke die zerstört wurden getten (EntityExplodeEvent und dann ev.blockList()) und diese dann resetten (ev.blockList().remove())
     
    #8
  9. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Edit: Mit blockList geht es auch, hatte vergessen, dass wir über Spigot und nicht Sponge reden.
     
    #9
  10. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59

    Ja genau, so habe ich das gemacht, doch das überscheidet sich dann und es wird nur die hälfte resetet
     
    #10
  11. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    Ich würde das nicht mit der Kugel machen, weil das sehr Server Leitungs fressend sind.. :(
     
    #11
  12. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Ja, hab mich korrigiert :D War grade bei Sponge und nicht bei Spigot. Aber mit blockList dürfte es eigentlich keine Probleme geben. Du speicherst dir einfach die Zustände der Blöcke aus blockList und nach der Explosion resettest du diese Blöcke wieder auf den gespeicherten Zustand.
     
    #12
  13. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59

    Genau das ist das Problem: Wenn gearde die Explosion ausführt dann fliegen ja die blöcke schon weg, dann speicher die blocklist die Blöcke obwohl schon welche fehlen dann setzt es zurück und dann sieht man: Ah Kacke da fehlen ja blöcke.
    Wenn man die Realistische Explosion runter dreht damit die blöcke nicht so SCHNELL fliegen dann werden mehr blöcke zurück gesetzt
     
    #13
  14. Inkemann
    Offline

    Inkemann

    Registriert seit:
    3. Mai 2015
    Beiträge:
    341
    Ort:
    Aachen
    Minecraft:
    Inkemann
    Dann speicher doch erst die entsprechenden Blöcke und spawn dann die FallingBlocks.
     
    #14
  15. Lapura
    Offline

    Lapura

    Registriert seit:
    28. Dezember 2014
    Beiträge:
    59
    oke, ich versuche es
     
    #15
  16. Yannici
    Offline

    Yannici

    Registriert seit:
    20. Mai 2015
    Beiträge:
    26
    Minecraft:
    Yannici
    Was heißt überhaupt "realistische Explosion"?
     
    #16
  17. MrPyro13
    Offline

    MrPyro13

    Registriert seit:
    29. April 2013
    Beiträge:
    829
    Minecraft:
    MrPyro13
    z.B. sowas hier:

    [​IMG]
     
    #17
  18. Yannici
    Offline

    Yannici

    Registriert seit:
    20. Mai 2015
    Beiträge:
    26
    Minecraft:
    Yannici
    Ich sehe da keine Unterschiede zu einer normalen Explosion? Sorry, kann mir darunter einfach nichts vorstellen.
     
    #18
  19. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Glaube ne normale Explosion mit fliegenden blöcken
     
    #19
    MrPyro13 gefällt das.