mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Experiment
This commit is contained in:
parent
bd48e77e7c
commit
28e8a234e9
5
pom.xml
5
pom.xml
@ -161,17 +161,12 @@
|
||||
<version>1.16.1-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.bukkit.craftbukkit</groupId>
|
||||
<artifactId>cb-1.16.2</artifactId>
|
||||
<version>1.16.2</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- Utilities -->
|
||||
<dependency>
|
||||
<groupId>org.bstats</groupId>
|
||||
|
@ -0,0 +1,61 @@
|
||||
package com.volmit.iris.gen.bindings;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
|
||||
public abstract class BukkitTerrainProvider extends ChunkGenerator implements TerrainProvider
|
||||
{
|
||||
private final TerrainTarget target;
|
||||
|
||||
public BukkitTerrainProvider(TerrainTarget target)
|
||||
{
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract void generate(Random random, int x, int z, BiomeGrid biome, ChunkData data);
|
||||
|
||||
@Override
|
||||
public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome)
|
||||
{
|
||||
ChunkData data = Bukkit.getServer().createChunkData(world);
|
||||
generate(random, x, z, biome, data);
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract boolean canSpawn(World world, int x, int z);
|
||||
|
||||
@Override
|
||||
public abstract List<BlockPopulator> getDefaultPopulators(World world);
|
||||
|
||||
@Override
|
||||
public abstract Location getFixedSpawnLocation(World world, Random random);
|
||||
|
||||
@Override
|
||||
public abstract boolean isParallelCapable();
|
||||
|
||||
@Override
|
||||
public abstract boolean shouldGenerateCaves();
|
||||
|
||||
@Override
|
||||
public abstract boolean shouldGenerateDecorations();
|
||||
|
||||
@Override
|
||||
public abstract boolean shouldGenerateMobs();
|
||||
|
||||
@Override
|
||||
public abstract boolean shouldGenerateStructures();
|
||||
|
||||
@Override
|
||||
public TerrainTarget getTarget()
|
||||
{
|
||||
return target;
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.volmit.iris.gen.bindings;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||
|
||||
public interface TerrainProvider
|
||||
{
|
||||
public TerrainTarget getTarget();
|
||||
|
||||
public void generate(Random random, int x, int z, BiomeGrid biome, ChunkData data);
|
||||
|
||||
public boolean canSpawn(World world, int x, int z);
|
||||
|
||||
public List<BlockPopulator> getDefaultPopulators(World world);
|
||||
|
||||
public Location getFixedSpawnLocation(World world, Random random);
|
||||
|
||||
public boolean isParallelCapable();
|
||||
|
||||
public boolean shouldGenerateCaves();
|
||||
|
||||
public boolean shouldGenerateDecorations();
|
||||
|
||||
public boolean shouldGenerateMobs();
|
||||
|
||||
public boolean shouldGenerateStructures();
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.volmit.iris.gen.bindings;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class TerrainTarget
|
||||
{
|
||||
private long seed;
|
||||
private Environment environment;
|
||||
private String name;
|
||||
private File folder;
|
||||
|
||||
public static TerrainTarget from(World world)
|
||||
{
|
||||
//@builder
|
||||
return new TerrainTargetBuilder()
|
||||
.environment(world.getEnvironment())
|
||||
.seed(world.getSeed())
|
||||
.folder(world.getWorldFolder())
|
||||
.name(world.getName())
|
||||
.build();
|
||||
//@done
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user