Add gaussian distribution
Dieser Commit ist enthalten in:
Ursprung
6ed091e9b4
Commit
62ebb0657c
@ -43,8 +43,8 @@ public class HellsBells {
|
|||||||
|
|
||||||
public static final Random random = new Random();
|
public static final Random random = new Random();
|
||||||
|
|
||||||
private final int xLength = Config.BluePasteRegion.getSizeX();
|
private final int xLength = Config.BlueExtendRegion.getSizeX();
|
||||||
private final int zLength = Config.BluePasteRegion.getSizeZ();
|
private final int zLength = Config.BlueExtendRegion.getSizeZ();
|
||||||
private State current = State.PRE;
|
private State current = State.PRE;
|
||||||
private int currentDrops = 0;
|
private int currentDrops = 0;
|
||||||
private HellsBellsCountdown currentCountdown;
|
private HellsBellsCountdown currentCountdown;
|
||||||
@ -87,11 +87,11 @@ public class HellsBells {
|
|||||||
Point blueStart;
|
Point blueStart;
|
||||||
|
|
||||||
if (direction.isNorthOrWest()) {
|
if (direction.isNorthOrWest()) {
|
||||||
redStart = new Point(Config.RedPasteRegion.getMaxX() - xOffset, Config.RedPasteRegion.getMaxY() + yOffset, Config.RedPasteRegion.getMaxZ() - zOffset);
|
redStart = new Point(Config.RedExtendRegion.getMaxX() - xOffset, Config.RedExtendRegion.getMaxY() + yOffset, Config.RedExtendRegion.getMaxZ() - zOffset);
|
||||||
blueStart = new Point(Config.BluePasteRegion.getMinX() + xOffset, Config.BluePasteRegion.getMaxY() + yOffset, Config.BluePasteRegion.getMinZ() + zOffset);
|
blueStart = new Point(Config.BlueExtendRegion.getMinX() + xOffset, Config.BlueExtendRegion.getMaxY() + yOffset, Config.BlueExtendRegion.getMinZ() + zOffset);
|
||||||
} else {
|
} else {
|
||||||
redStart = new Point(Config.RedPasteRegion.getMinX() + xOffset, Config.RedPasteRegion.getMaxY() + yOffset, Config.RedPasteRegion.getMinZ() + zOffset);
|
redStart = new Point(Config.RedExtendRegion.getMinX() + xOffset, Config.RedExtendRegion.getMaxY() + yOffset, Config.RedExtendRegion.getMinZ() + zOffset);
|
||||||
blueStart = new Point(Config.BluePasteRegion.getMaxX() - xOffset, Config.BluePasteRegion.getMaxY() + yOffset, Config.BluePasteRegion.getMaxZ() - zOffset);
|
blueStart = new Point(Config.BlueExtendRegion.getMaxX() - xOffset, Config.BlueExtendRegion.getMaxY() + yOffset, Config.BlueExtendRegion.getMaxZ() - zOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentDropping = Bukkit.getScheduler().runTaskTimer(FightSystem.getPlugin(), () -> {
|
currentDropping = Bukkit.getScheduler().runTaskTimer(FightSystem.getPlugin(), () -> {
|
||||||
@ -113,7 +113,7 @@ public class HellsBells {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int getStart(int regionSize, int length) {
|
private int getStart(int regionSize, int length) {
|
||||||
double randomNumber = (random.nextDouble() - random.nextDouble()) / 2 + 0.5;
|
double randomNumber = (Math.max(Math.min(random.nextGaussian(), -2), 2) + 2) / 4;
|
||||||
Bukkit.getLogger().log(Level.INFO, "Calculated Start: " + (int) (randomNumber * (regionSize - length)));
|
Bukkit.getLogger().log(Level.INFO, "Calculated Start: " + (int) (randomNumber * (regionSize - length)));
|
||||||
return Math.max(Math.min((int) (randomNumber * (regionSize - length)), regionSize - length), 0);
|
return Math.max(Math.min((int) (randomNumber * (regionSize - length)), regionSize - length), 0);
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren