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>
|
<version>1.16.1-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bukkit.craftbukkit</groupId>
|
<groupId>org.bukkit.craftbukkit</groupId>
|
||||||
<artifactId>cb-1.16.2</artifactId>
|
<artifactId>cb-1.16.2</artifactId>
|
||||||
<version>1.16.2</version>
|
<version>1.16.2</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- Utilities -->
|
<!-- Utilities -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bstats</groupId>
|
<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