Rechnen mit Modulo (Spawnen von Ecken um eine Location)

  • Hey,

    ich habe eine Methode zum spawnen von Blöcken im Rechteck um eine Location.

    Jedoch wenn eine der Koordinaten z.B.: x oder z im negativen Bereich ist, wird mir anstelle des negativen Werts nur eine 0 ausgegeben.

    Wie kann ich die Methode so verändern, dass sie auch ins negative rechnen kann?


  • Du kannst den Wert umkehren so das dieser positiv ist und dann machst du ihn dannach weider negativ!


    Code
    int x = -15;
    int z = -96;
    
    if(x < 0) x =- x*2;
    if(z < 0) x =- z*2;


    Und nach dem deine Methode angewandt wurde machst du das selbe nur umgekehrt!

    :D

    If you are homeless ... just buy a house, duh!

    and if you wanna have a plugin matching your conditions ... just code it yourself!

  • Wenn ich dich richtig verstanden habe, dann geht es dir darum, dass du dein Rechteck "zu ende" machst, auch wenn x und/oder z negativ sind und nicht wie der Modulo von negativen Zahlen aussieht. Dort würde ich dir ein ähnliches Verfahren wie IDK_WHO_AM_I empfehlen, aber anders umsetzen. So zum Beispiel


    Code
    int x = location.getBlockX();
    x -= Math.signum(x)*(Math.abs(x) % islandSize);


    für z natürlich analog. Denn es nimmt zunächst den Absolutbetrag deiner Koordinate(n-Komponente), rechnet Modulo und beachtet dann wieder das Vorzeichen von x.

  • Okay, ich habe gerade nochmal ein wenig herumprobiert und es geht anders noch viel einfacher :D
    Hier für alle den Code: