Launch more fireworks across the field of view, near and far
This commit is contained in:
1 parent
c9da982285
commit
d4465063d4
1 file changed
+12
-3
@@ -47,6 +47,7 @@ public class JumpGenerator {
|
|||||||
private static final int PREVIEW = 3;
|
private static final int PREVIEW = 3;
|
||||||
private static final int FULL_DIFFICULTY_AT = 1000;
|
private static final int FULL_DIFFICULTY_AT = 1000;
|
||||||
private static final int FINALE_AT = 1000;
|
private static final int FINALE_AT = 1000;
|
||||||
|
private static final int FIREWORKS_NEAR = 6, FIREWORKS_FAR = 14, FIREWORKS_SPAN_TICKS = 100;
|
||||||
|
|
||||||
private static final Block BRIDGE_BLOCK = Block.WHITE_STAINED_GLASS;
|
private static final Block BRIDGE_BLOCK = Block.WHITE_STAINED_GLASS;
|
||||||
private static final int BRIDGE_STEP_TICKS = 4;
|
private static final int BRIDGE_STEP_TICKS = 4;
|
||||||
@@ -183,10 +184,18 @@ public class JumpGenerator {
|
|||||||
/** Durchgespielt (Beginn von „Unendlich“): Feuerwerk rund um den Spieler. */
|
/** Durchgespielt (Beginn von „Unendlich“): Feuerwerk rund um den Spieler. */
|
||||||
private void celebrate() {
|
private void celebrate() {
|
||||||
this.player.showTitle(FINALE_TITLE);
|
this.player.showTitle(FINALE_TITLE);
|
||||||
for(int i = 0; i < 6; i++) {
|
|
||||||
Pos at = this.player.getPosition().add(this.random.nextInt(-6, 7), 0, this.random.nextInt(2, 10));
|
// in Blickrichtung: ein paar Raketen nah vor dem Spieler, die meisten in der Ferne links, mittig und rechts
|
||||||
|
Pos origin = this.player.getPosition();
|
||||||
|
Vec forward = origin.direction().withY(0).normalize();
|
||||||
|
Vec right = new Vec(-forward.z(), 0, forward.x());
|
||||||
|
for(int i = 0; i < FIREWORKS_NEAR + FIREWORKS_FAR; i++) {
|
||||||
|
boolean near = i < FIREWORKS_NEAR;
|
||||||
|
double distance = near ? this.random.nextDouble(3, 10) : this.random.nextDouble(20, 45);
|
||||||
|
double side = near ? this.random.nextDouble(-6, 6) : this.random.nextDouble(-25, 25);
|
||||||
|
Pos at = origin.add(forward.mul(distance)).add(right.mul(side)).add(0, near ? 0 : 4, 0);
|
||||||
this.world.scheduler().buildTask(() -> Fireworks.launch(this.world, at, this.random))
|
this.world.scheduler().buildTask(() -> Fireworks.launch(this.world, at, this.random))
|
||||||
.delay(TaskSchedule.tick(1 + i * 8))
|
.delay(TaskSchedule.tick(1 + this.random.nextInt(FIREWORKS_SPAN_TICKS)))
|
||||||
.schedule();
|
.schedule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user