added playerrace and updated to version 26.2 #14
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Dichter Bambushain: Die dünnen Halme haben kleine Hitboxen —
|
|
||||||
* wer sich geschickt durchschlängelt, verliert kaum Tempo.
|
|
||||||
*/
|
|
||||||
class BambooThicket extends Obstacle {
|
class BambooThicket extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Basaltdeltas-Säulenfeld: Hohe Basaltsäulen mit Seelenlaternen bilden
|
|
||||||
* einen düsteren Hindernisparcours zum Durchkurven.
|
|
||||||
*/
|
|
||||||
class BasaltPillars extends Obstacle {
|
class BasaltPillars extends Obstacle {
|
||||||
private final JNoise ground = JNoise.newBuilder()
|
private final JNoise ground = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-5
@@ -6,11 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Süßbeerenfeld: Die Büsche bremsen stark. Ein geschwungener Trampelpfad
|
|
||||||
* führt hindurch, ist aber in der Mitte selbst zugewuchert —
|
|
||||||
* ganz ohne Gestrüpp kommt hier niemand durch.
|
|
||||||
*/
|
|
||||||
class BerryPatch extends Obstacle {
|
class BerryPatch extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Ausgetrocknetes Flussbett: Ein zwei Blöcke tiefer Graben quer zur Strecke,
|
|
||||||
* auf dessen Grund bemooste Findlinge liegen. Rein springen, durchkämpfen, rausklettern.
|
|
||||||
*/
|
|
||||||
class BoulderTrench extends Obstacle {
|
class BoulderTrench extends Obstacle {
|
||||||
private static final int[] DEPTHS = {0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0};
|
private static final int[] DEPTHS = {0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0};
|
||||||
|
|
||||||
|
|||||||
-5
@@ -6,11 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* End-Ruine: Zwei Endstein-Ziegelmauern (nicht überspringbar) mit versetzten,
|
|
||||||
* schmalen Durchgängen, dazwischen ein dichtes Chorus-Dickicht und
|
|
||||||
* Purpur-Trümmer. Passt zur End-Dimension des Spiels.
|
|
||||||
*/
|
|
||||||
class ChorusGrove extends Obstacle {
|
class ChorusGrove extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Verlassener Fichtenhain: Spinnweben zwischen alten Baumstümpfen
|
|
||||||
* bremsen jeden, der nicht sauber um sie herumläuft.
|
|
||||||
*/
|
|
||||||
class CobwebGrove extends Obstacle {
|
class CobwebGrove extends Obstacle {
|
||||||
private final JNoise soil = JNoise.newBuilder()
|
private final JNoise soil = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-5
@@ -6,11 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Tropfsteinkamm: Drei Zackenreihen aus Dripstone-Sockeln mit Stalagmiten
|
|
||||||
* obendrauf sind unpassierbar — nur die versetzten Lücken führen hindurch.
|
|
||||||
* Dazwischen ragen weitere Stalagmiten aus dem Boden.
|
|
||||||
*/
|
|
||||||
class DripstoneSpikes extends Obstacle {
|
class DripstoneSpikes extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gläsernes Labyrinth auf Quarzboden: Fast unsichtbare Glasscheiben-Wände
|
|
||||||
* mit versetzten Lücken — wer rast, läuft dagegen.
|
|
||||||
*/
|
|
||||||
class GlassPaneWeave extends Obstacle {
|
class GlassPaneWeave extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Bauernhof-Hürdenlauf: Vier Reihen Strohballen — die flachen müssen ohne
|
|
||||||
* Lücke übersprungen werden, die hohen zwingen durch eine schmale Gasse.
|
|
||||||
*/
|
|
||||||
class HayHurdles extends Obstacle {
|
class HayHurdles extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Honigwaben-Feld: klebrige Honigflecken im Boden bremsen, zwei Honigwände
|
|
||||||
* mit versetzten Durchlässen zwingen in eine Zickzack-Linie.
|
|
||||||
*/
|
|
||||||
class HoneyField extends Obstacle {
|
class HoneyField extends Obstacle {
|
||||||
private final JNoise sticky = JNoise.newBuilder()
|
private final JNoise sticky = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Spiegelglatte Eisfläche: Blue-Ice-Streifen beschleunigen unkontrolliert,
|
|
||||||
* zwei Eiswände mit versetzten Durchlässen müssen rutschend getroffen werden.
|
|
||||||
*/
|
|
||||||
class IceRink extends Obstacle {
|
class IceRink extends Obstacle {
|
||||||
private final JNoise streaks = JNoise.newBuilder()
|
private final JNoise streaks = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-5
@@ -7,11 +7,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Alte Festungsmauer quer über die Strecke: Drei Blöcke hoch, zu hoch zum
|
|
||||||
* Springen — nur an manchen Säulen hängen Leitern, den Aufstieg muss man
|
|
||||||
* erst finden. Auf der Rückseite geht es überall hinunter.
|
|
||||||
*/
|
|
||||||
class LadderWall extends Obstacle {
|
class LadderWall extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -7,10 +7,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Heckengarten: Zwei Blöcke hohe Azaleen-Hecken mit versetzten Durchgängen,
|
|
||||||
* dazwischen blühen Blumen — hübsch, aber im Weg.
|
|
||||||
*/
|
|
||||||
class LeafHedges extends Obstacle {
|
class LeafHedges extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-5
@@ -8,11 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Mangroven-Schlammbecken: Die Becken liegen einen Block tief — man fällt in
|
|
||||||
* den zähen Schlamm und muss sich wieder herauskämpfen, während
|
|
||||||
* Mangrovenwurzeln die trockenen Umwege versperren.
|
|
||||||
*/
|
|
||||||
class MudPools extends Obstacle {
|
class MudPools extends Obstacle {
|
||||||
private final JNoise pools = JNoise.newBuilder()
|
private final JNoise pools = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Riesenpilz-Wäldchen auf Myzel: Die breiten Kappen hängen so tief, dass man
|
|
||||||
* darunter nur kriechend durchkommt — oder außen eng um die Stiele kurvt.
|
|
||||||
*/
|
|
||||||
class MushroomRoofs extends Obstacle {
|
class MushroomRoofs extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-5
@@ -39,11 +39,6 @@ public abstract class Obstacle {
|
|||||||
new BambooThicket()
|
new BambooThicket()
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
* Generiert das Hindernis ab {@code start} (16 breit, {@link #LENGTH} lang).
|
|
||||||
* {@code unit} kann ein Fork sein, der über Chunk-Grenzen reicht — daher nie
|
|
||||||
* über die Unit-Bounds iterieren, sondern über {@link #forEachColumn(Point, Consumer)}.
|
|
||||||
*/
|
|
||||||
public abstract void generate(GenerationUnit unit, Point start);
|
public abstract void generate(GenerationUnit unit, Point start);
|
||||||
|
|
||||||
private static final List<Obstacle> remaining = new ArrayList<>();
|
private static final List<Obstacle> remaining = new ArrayList<>();
|
||||||
|
|||||||
-7
@@ -8,13 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Verschneites Feld voller Pulverschnee-Verwehungen: Sie liegen auf dem Boden
|
|
||||||
* statt darunter — man watet stark gebremst hindurch, bleibt aber nie stecken
|
|
||||||
* (aus einer Grube käme man ohne Lederstiefel nicht mehr heraus).
|
|
||||||
* Die geschwungene Packeis-Spur ist schnell, aber rutschig — und selbst dort
|
|
||||||
* lauern vereinzelte Verwehungen.
|
|
||||||
*/
|
|
||||||
class PowderSnowField extends Obstacle {
|
class PowderSnowField extends Obstacle {
|
||||||
private final JNoise drifts = JNoise.newBuilder()
|
private final JNoise drifts = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Wüstendünen: Sanfte Sandhügel kosten beim Rauflaufen Sprungkraft und Tempo,
|
|
||||||
* vertrocknete Büsche krönen die Kämme. An den Chunk-Rändern flacht das Feld ab.
|
|
||||||
*/
|
|
||||||
class SandDunes extends Obstacle {
|
class SandDunes extends Obstacle {
|
||||||
private final JNoise dunes = JNoise.newBuilder()
|
private final JNoise dunes = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-4
@@ -8,10 +8,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Schleimmorast: Der Großteil des Bodens ist Slime — bremst stark und lässt
|
|
||||||
* Springer unkontrolliert abprallen. Nur schmale Moos-Inseln bieten Halt.
|
|
||||||
*/
|
|
||||||
class SlimePatches extends Obstacle {
|
class SlimePatches extends Obstacle {
|
||||||
private final JNoise blobs = JNoise.newBuilder()
|
private final JNoise blobs = JNoise.newBuilder()
|
||||||
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
.perlin(PerlinNoiseGenerator.newBuilder().build())
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Mauer-Slalom: Steinmauern sind zu hoch zum Überspringen, die Durchgänge
|
|
||||||
* liegen abwechselnd links und rechts — volle Breite Zickzack.
|
|
||||||
*/
|
|
||||||
class WallSlalom extends Obstacle {
|
class WallSlalom extends Obstacle {
|
||||||
@Override
|
@Override
|
||||||
public void generate(GenerationUnit unit, Point start) {
|
public void generate(GenerationUnit unit, Point start) {
|
||||||
|
|||||||
-4
@@ -6,10 +6,6 @@ import net.minestom.server.instance.generator.GenerationUnit;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
|
||||||
* Breiter Wassergraben mit schmalen Sandufern: Fast der ganze Chunk muss
|
|
||||||
* durchschwommen werden, nur vereinzelte Seerosenblätter helfen Mutigen.
|
|
||||||
*/
|
|
||||||
class WaterChannel extends Obstacle {
|
class WaterChannel extends Obstacle {
|
||||||
private static final int[] DEPTHS = {0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0};
|
private static final int[] DEPTHS = {0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user