Refactored Generation class structure
This commit is contained in:
parent
b3b6644d24
commit
8ef61e0880
@ -5,7 +5,7 @@ import eu.mhsl.minenet.minigames.score.FirstWinsScore;
|
|||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.instance.Dimension;
|
import eu.mhsl.minenet.minigames.instance.Dimension;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import io.github.bloepiloepi.pvp.config.AttackConfig;
|
import io.github.bloepiloepi.pvp.config.AttackConfig;
|
||||||
import io.github.bloepiloepi.pvp.config.DamageConfig;
|
import io.github.bloepiloepi.pvp.config.DamageConfig;
|
||||||
import io.github.bloepiloepi.pvp.config.PvPConfig;
|
import io.github.bloepiloepi.pvp.config.PvPConfig;
|
||||||
@ -27,7 +27,7 @@ class Deathcube extends StatelessGame {
|
|||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
this.height = height + 49;
|
this.height = height + 49;
|
||||||
this.percentage = percentage;
|
this.percentage = percentage;
|
||||||
this.setGenerator(new CircularTerrainGenerator(radius+10, true));
|
this.setGenerator(new CircularPlateTerrainGenerator(radius+10).setPlateHeight(50));
|
||||||
|
|
||||||
if(pvpEnabled == 1) eventNode().addChild(
|
if(pvpEnabled == 1) eventNode().addChild(
|
||||||
PvPConfig.emptyBuilder()
|
PvPConfig.emptyBuilder()
|
||||||
|
@ -8,7 +8,7 @@ import eu.mhsl.minenet.minigames.util.CommonProperties;
|
|||||||
import eu.mhsl.minenet.minigames.util.Intersect;
|
import eu.mhsl.minenet.minigames.util.Intersect;
|
||||||
import eu.mhsl.minenet.minigames.instance.Dimension;
|
import eu.mhsl.minenet.minigames.instance.Dimension;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.SquareTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.SquarePlateTerrainGenerator;
|
||||||
import net.kyori.adventure.sound.Sound;
|
import net.kyori.adventure.sound.Sound;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
@ -36,7 +36,7 @@ class Minerun extends StatelessGame {
|
|||||||
|
|
||||||
public Minerun(int width, int length, int minePercentage) {
|
public Minerun(int width, int length, int minePercentage) {
|
||||||
super(Dimension.THE_END.DIMENSION, "Minerun", new FirstWinsScore());
|
super(Dimension.THE_END.DIMENSION, "Minerun", new FirstWinsScore());
|
||||||
setGenerator(new SquareTerrainGenerator(width, length + preRun + afterFinishLine).withPlate(50));
|
setGenerator(new SquarePlateTerrainGenerator(width, length + preRun + afterFinishLine).setPlateHeight(50));
|
||||||
|
|
||||||
this.width = width;
|
this.width = width;
|
||||||
this.length = length;
|
this.length = length;
|
||||||
|
@ -6,7 +6,7 @@ import eu.mhsl.minenet.minigames.message.component.TranslatedComponent;
|
|||||||
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.GameMode;
|
import net.minestom.server.entity.GameMode;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
@ -32,7 +32,7 @@ public class Spleef extends StatelessGame {
|
|||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
this.stackCount = stackCount;
|
this.stackCount = stackCount;
|
||||||
|
|
||||||
setGenerator(new CircularTerrainGenerator(50, false));
|
setGenerator(new CircularPlateTerrainGenerator(50));
|
||||||
|
|
||||||
eventNode().addListener(PlayerStartDiggingEvent.class, this::destroyBlock);
|
eventNode().addListener(PlayerStartDiggingEvent.class, this::destroyBlock);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import eu.mhsl.minenet.minigames.instance.Dimension;
|
|||||||
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
||||||
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import io.github.bloepiloepi.pvp.config.*;
|
import io.github.bloepiloepi.pvp.config.*;
|
||||||
import io.github.bloepiloepi.pvp.events.FinalAttackEvent;
|
import io.github.bloepiloepi.pvp.events.FinalAttackEvent;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
@ -32,7 +32,7 @@ public class Stickfight extends StatelessGame {
|
|||||||
((Player) finalAttackEvent.getTarget()).setHealth(20);
|
((Player) finalAttackEvent.getTarget()).setHealth(20);
|
||||||
});
|
});
|
||||||
|
|
||||||
setGenerator(new CircularTerrainGenerator(20, false));
|
setGenerator(new CircularPlateTerrainGenerator(20));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -4,7 +4,7 @@ import eu.mhsl.minenet.minigames.instance.Dimension;
|
|||||||
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame;
|
||||||
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
import eu.mhsl.minenet.minigames.score.LastWinsScore;
|
||||||
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
import eu.mhsl.minenet.minigames.util.BatchUtil;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.CircularPlateTerrainGenerator;
|
||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.Entity;
|
import net.minestom.server.entity.Entity;
|
||||||
@ -30,7 +30,7 @@ public class TntRun extends StatelessGame {
|
|||||||
super(Dimension.OVERWORLD.DIMENSION, "tntRun", new LastWinsScore());
|
super(Dimension.OVERWORLD.DIMENSION, "tntRun", new LastWinsScore());
|
||||||
this.radius = radius;
|
this.radius = radius;
|
||||||
this.stackCount = stackCount;
|
this.stackCount = stackCount;
|
||||||
setGenerator(new CircularTerrainGenerator(radius, false));
|
setGenerator(new CircularPlateTerrainGenerator(radius));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -7,7 +7,7 @@ import eu.mhsl.minenet.minigames.util.BatchUtil;
|
|||||||
import eu.mhsl.minenet.minigames.instance.Dimension;
|
import eu.mhsl.minenet.minigames.instance.Dimension;
|
||||||
import eu.mhsl.minenet.minigames.util.CommonProperties;
|
import eu.mhsl.minenet.minigames.util.CommonProperties;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.terrain.SquareTerrainGenerator;
|
import eu.mhsl.minenet.minigames.world.generator.terrain.SquarePlateTerrainGenerator;
|
||||||
import net.kyori.adventure.sound.Sound;
|
import net.kyori.adventure.sound.Sound;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.coordinate.Vec;
|
import net.minestom.server.coordinate.Vec;
|
||||||
@ -42,9 +42,9 @@ class TrafficLightRace extends StatelessGame {
|
|||||||
this.length = length;
|
this.length = length;
|
||||||
|
|
||||||
setGenerator(
|
setGenerator(
|
||||||
new SquareTerrainGenerator(width, length + preRun + afterRun)
|
new SquarePlateTerrainGenerator(width, length + preRun + afterRun)
|
||||||
.withPlate(50)
|
.setPlateHeight(50)
|
||||||
.withBorders()
|
.setGenerateBorders(true)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package eu.mhsl.minenet.minigames.world.generator;
|
||||||
|
|
||||||
|
import net.minestom.server.instance.generator.Generator;
|
||||||
|
|
||||||
|
public abstract class PlateTerrainGenerator implements Generator {
|
||||||
|
protected int plateHeight = 0;
|
||||||
|
protected BlockPallet platePallet = BlockPallet.GROUND;
|
||||||
|
protected boolean generateBorders = false;
|
||||||
|
|
||||||
|
public PlateTerrainGenerator setPlateHeight(int plateHeight) {
|
||||||
|
this.plateHeight = plateHeight;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlateTerrainGenerator setPlatePallet(BlockPallet platePallet) {
|
||||||
|
this.platePallet = platePallet;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlateTerrainGenerator setGenerateBorders(boolean generateBorders) {
|
||||||
|
this.generateBorders = generateBorders;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean generatePlate() {
|
||||||
|
return plateHeight > 0;
|
||||||
|
}
|
||||||
|
}
|
@ -7,6 +7,6 @@ import java.util.Random;
|
|||||||
public abstract class Structure {
|
public abstract class Structure {
|
||||||
protected final Random rnd = new Random();
|
protected final Random rnd = new Random();
|
||||||
|
|
||||||
public abstract void generateGame(Block.Setter setter);
|
public abstract void generateStructure(Block.Setter setter);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,12 +7,14 @@ import net.minestom.server.instance.block.Block;
|
|||||||
|
|
||||||
public class PeakRock extends Structure {
|
public class PeakRock extends Structure {
|
||||||
private final Point position;
|
private final Point position;
|
||||||
public PeakRock(Point position) {
|
private final BlockPallet blockPallet;
|
||||||
|
public PeakRock(Point position, BlockPallet blockPallet) {
|
||||||
this.position = position;
|
this.position = position;
|
||||||
|
this.blockPallet = blockPallet;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generateGame(Block.Setter setter) {
|
public void generateStructure(Block.Setter setter) {
|
||||||
for (int stoneX = -4; stoneX < 4; stoneX++) {
|
for (int stoneX = -4; stoneX < 4; stoneX++) {
|
||||||
for (int stoneZ = -4; stoneZ < 4; stoneZ++) {
|
for (int stoneZ = -4; stoneZ < 4; stoneZ++) {
|
||||||
|
|
||||||
@ -21,7 +23,7 @@ public class PeakRock extends Structure {
|
|||||||
|
|
||||||
for (int stoneY = 0; stoneY < 10-(int) distanceToCenter * rnd.nextDouble(2, 5); stoneY++) {
|
for (int stoneY = 0; stoneY < 10-(int) distanceToCenter * rnd.nextDouble(2, 5); stoneY++) {
|
||||||
Point blockPos = position.add(stoneX, stoneY, stoneZ);
|
Point blockPos = position.add(stoneX, stoneY, stoneZ);
|
||||||
setter.setBlock(blockPos, BlockPallet.STONE.rnd());
|
setter.setBlock(blockPos, this.blockPallet.rnd());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package eu.mhsl.minenet.minigames.world.generator.structures.generatable;
|
||||||
|
|
||||||
|
import eu.mhsl.minenet.minigames.world.generator.structures.Structure;
|
||||||
|
import net.minestom.server.coordinate.Point;
|
||||||
|
import net.minestom.server.instance.block.Block;
|
||||||
|
|
||||||
|
public class Tree extends Structure {
|
||||||
|
private final Point position;
|
||||||
|
|
||||||
|
public Tree(Point position) {
|
||||||
|
this.position = position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void generateStructure(Block.Setter setter) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -3,26 +3,24 @@ package eu.mhsl.minenet.minigames.world.generator.terrain;
|
|||||||
import de.articdive.jnoise.JNoise;
|
import de.articdive.jnoise.JNoise;
|
||||||
import eu.mhsl.minenet.minigames.util.RangeMap;
|
import eu.mhsl.minenet.minigames.util.RangeMap;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
|
import eu.mhsl.minenet.minigames.world.generator.PlateTerrainGenerator;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.structures.generatable.PeakRock;
|
import eu.mhsl.minenet.minigames.world.generator.structures.generatable.PeakRock;
|
||||||
import net.minestom.server.coordinate.Point;
|
import net.minestom.server.coordinate.Point;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
import net.minestom.server.instance.generator.GenerationUnit;
|
import net.minestom.server.instance.generator.GenerationUnit;
|
||||||
import net.minestom.server.instance.generator.Generator;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class CircularTerrainGenerator implements Generator {
|
public class CircularPlateTerrainGenerator extends PlateTerrainGenerator {
|
||||||
protected final Random rnd = new Random();
|
protected final Random rnd = new Random();
|
||||||
private final int size;
|
private final int size;
|
||||||
|
|
||||||
private final boolean generatePlate;
|
public CircularPlateTerrainGenerator(int size) {
|
||||||
|
|
||||||
public CircularTerrainGenerator(int size, boolean generatePlate) {
|
|
||||||
this.size = size;
|
this.size = size;
|
||||||
this.generatePlate = generatePlate;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private final JNoise base = JNoise.newBuilder()
|
private final JNoise base = JNoise.newBuilder()
|
||||||
.fastSimplex()
|
.fastSimplex()
|
||||||
.setSeed(rnd.nextLong())
|
.setSeed(rnd.nextLong())
|
||||||
@ -54,8 +52,8 @@ public class CircularTerrainGenerator implements Generator {
|
|||||||
|
|
||||||
double distance = bottom.distance(new Pos(0, 0, 0));
|
double distance = bottom.distance(new Pos(0, 0, 0));
|
||||||
|
|
||||||
if(distance <= this.size && generatePlate) {
|
if(distance <= this.size && generatePlate()) {
|
||||||
unit.modifier().fill(bottom, bottom.add(1, 50, 1), BlockPallet.GROUND.rnd());
|
unit.modifier().fill(bottom, bottom.add(1, 50, 1), platePallet.rnd());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +61,7 @@ public class CircularTerrainGenerator implements Generator {
|
|||||||
|
|
||||||
synchronized (base) {
|
synchronized (base) {
|
||||||
double baseNoise = base.getNoise(bottom.x(), bottom.z());
|
double baseNoise = base.getNoise(bottom.x(), bottom.z());
|
||||||
double currentHeight = minTwo(RangeMap.map(distance, 0, 400, -(this.size / 5), 200)) + baseNoise * 8;
|
double currentHeight = minTwo(RangeMap.map(distance, 0, 400, -((double) this.size / 5), 200)) + baseNoise * 8;
|
||||||
|
|
||||||
synchronized (batches) {
|
synchronized (batches) {
|
||||||
double elementNoise = batches.getNoise(bottom.x(), bottom.z());
|
double elementNoise = batches.getNoise(bottom.x(), bottom.z());
|
||||||
@ -82,7 +80,7 @@ public class CircularTerrainGenerator implements Generator {
|
|||||||
if(peakNoise > 0.97 && bottom.distance(new Pos(0, 0, 0)) > (this.size + 20)) {
|
if(peakNoise > 0.97 && bottom.distance(new Pos(0, 0, 0)) > (this.size + 20)) {
|
||||||
|
|
||||||
Point center = bottom.add(1, currentHeight-3, 1);
|
Point center = bottom.add(1, currentHeight-3, 1);
|
||||||
unit.fork(setter -> new PeakRock(center).generateGame(setter));
|
unit.fork(setter -> new PeakRock(center, BlockPallet.STONE).generateStructure(setter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,42 +3,30 @@ package eu.mhsl.minenet.minigames.world.generator.terrain;
|
|||||||
import de.articdive.jnoise.JNoise;
|
import de.articdive.jnoise.JNoise;
|
||||||
import eu.mhsl.minenet.minigames.util.RangeMap;
|
import eu.mhsl.minenet.minigames.util.RangeMap;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
import eu.mhsl.minenet.minigames.world.generator.BlockPallet;
|
||||||
|
import eu.mhsl.minenet.minigames.world.generator.PlateTerrainGenerator;
|
||||||
import eu.mhsl.minenet.minigames.world.generator.structures.generatable.PeakRock;
|
import eu.mhsl.minenet.minigames.world.generator.structures.generatable.PeakRock;
|
||||||
import net.minestom.server.coordinate.Point;
|
import net.minestom.server.coordinate.Point;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.instance.block.Block;
|
import net.minestom.server.instance.block.Block;
|
||||||
import net.minestom.server.instance.generator.GenerationUnit;
|
import net.minestom.server.instance.generator.GenerationUnit;
|
||||||
import net.minestom.server.instance.generator.Generator;
|
|
||||||
import net.minestom.server.world.DimensionType;
|
import net.minestom.server.world.DimensionType;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class SquareTerrainGenerator implements Generator {
|
public class SquarePlateTerrainGenerator extends PlateTerrainGenerator {
|
||||||
protected final Random rnd = new Random();
|
protected final Random rnd = new Random();
|
||||||
|
|
||||||
private final int width;
|
private final int width;
|
||||||
private final int length;
|
private final int length;
|
||||||
private int plateHeight = 0;
|
|
||||||
private boolean withBorder = false;
|
|
||||||
|
|
||||||
|
|
||||||
public SquareTerrainGenerator(int width, int length) {
|
public SquarePlateTerrainGenerator(int width, int length) {
|
||||||
this.width = width;
|
this.width = width;
|
||||||
this.length = length;
|
this.length = length;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SquareTerrainGenerator withPlate(int plateHeight) {
|
|
||||||
this.plateHeight = plateHeight;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SquareTerrainGenerator withBorders() {
|
|
||||||
this.withBorder = true;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final JNoise base = JNoise.newBuilder()
|
private final JNoise base = JNoise.newBuilder()
|
||||||
.fastSimplex()
|
.fastSimplex()
|
||||||
.setSeed(rnd.nextLong())
|
.setSeed(rnd.nextLong())
|
||||||
@ -71,14 +59,14 @@ public class SquareTerrainGenerator implements Generator {
|
|||||||
for (int z = 0; z < unit.size().z(); z++) {
|
for (int z = 0; z < unit.size().z(); z++) {
|
||||||
Point bottom = start.add(x, 0, z);
|
Point bottom = start.add(x, 0, z);
|
||||||
|
|
||||||
if(plateHeight > 0) {
|
if(generatePlate()) {
|
||||||
if(bottom.x() <= width && bottom.x() >= 0 && bottom.z() <= length && bottom.z() >= 0) {
|
if(bottom.x() <= width && bottom.x() >= 0 && bottom.z() <= length && bottom.z() >= 0) {
|
||||||
unit.modifier().fill(bottom, bottom.add(1, plateHeight, 1), BlockPallet.GROUND.rnd());
|
unit.modifier().fill(bottom, bottom.add(1, plateHeight, 1), platePallet.rnd());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(withBorder) {
|
if(generateBorders) {
|
||||||
Runnable generateBorder = () -> unit.modifier().fill(bottom, bottom.add(1, DimensionType.OVERWORLD.getMaxY(), 1), Block.BARRIER);
|
Runnable generateBorder = () -> unit.modifier().fill(bottom, bottom.add(1, DimensionType.OVERWORLD.getMaxY(), 1), Block.BARRIER);
|
||||||
|
|
||||||
if(bottom.z() <= length+1 && bottom.z() >= -1 && bottom.x() >= -1 && bottom.x() <= width+1) {
|
if(bottom.z() <= length+1 && bottom.z() >= -1 && bottom.x() >= -1 && bottom.x() <= width+1) {
|
||||||
@ -121,7 +109,7 @@ public class SquareTerrainGenerator implements Generator {
|
|||||||
if(peakNoise > 0.97 && bottom.distance(new Pos(0, 0, 0)) > (this.width + 20)) {
|
if(peakNoise > 0.97 && bottom.distance(new Pos(0, 0, 0)) > (this.width + 20)) {
|
||||||
|
|
||||||
Point center = bottom.add(1, currentHeight-3, 1);
|
Point center = bottom.add(1, currentHeight-3, 1);
|
||||||
unit.fork(setter -> new PeakRock(center).generateGame(setter));
|
unit.fork(setter -> new PeakRock(center, BlockPallet.STONE).generateStructure(setter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user