remove methods only used for cursed Bukkit stuff from common World interface.

This commit is contained in:
dfsek 2021-05-01 19:07:19 -07:00
parent c8c3a33912
commit e2a52afb67
13 changed files with 8 additions and 155 deletions

View File

@ -19,18 +19,12 @@ public interface World extends Handle {
String getName(); String getName();
UUID getUID();
boolean isChunkGenerated(int x, int z);
Chunk getChunkAt(int x, int z); Chunk getChunkAt(int x, int z);
default Chunk getChunkAt(Location location) { default Chunk getChunkAt(Location location) {
return getChunkAt(location.getBlockX() >> 4, location.getBlockZ() >> 4); return getChunkAt(location.getBlockX() >> 4, location.getBlockZ() >> 4);
} }
File getWorldFolder();
Block getBlockAt(int x, int y, int z); Block getBlockAt(int x, int y, int z);
default Block getBlockAt(Location l) { default Block getBlockAt(Location l) {

View File

@ -9,9 +9,6 @@ import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import java.io.File;
import java.util.UUID;
public class DummyWorld implements World { public class DummyWorld implements World {
@Override @Override
public Object getHandle() { public Object getHandle() {
@ -38,26 +35,11 @@ public class DummyWorld implements World {
return "DUMMY"; return "DUMMY";
} }
@Override
public UUID getUID() {
return UUID.randomUUID();
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
throw new UnsupportedOperationException("Cannot get chunk in DummyWorld"); throw new UnsupportedOperationException("Cannot get chunk in DummyWorld");
} }
@Override
public File getWorldFolder() {
throw new UnsupportedOperationException("Cannot get folder of DummyWorld");
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
throw new UnsupportedOperationException("Cannot get block in DummyWorld"); throw new UnsupportedOperationException("Cannot get block in DummyWorld");

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.population;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.bukkit.world.BukkitWorld;
import java.io.Serializable; import java.io.Serializable;
import java.util.UUID; import java.util.UUID;
@ -21,7 +22,7 @@ public class ChunkCoordinate implements Serializable {
public ChunkCoordinate(Chunk c) { public ChunkCoordinate(Chunk c) {
this.x = c.getX(); this.x = c.getX();
this.z = c.getZ(); this.z = c.getZ();
this.worldID = c.getWorld().getUID(); this.worldID = ((BukkitWorld) c.getWorld()).getUID();
} }
public UUID getWorldID() { public UUID getWorldID() {

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.population;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.bukkit.world.BukkitWorld;
import java.io.File; import java.io.File;
@ -9,7 +10,7 @@ public class Gaea {
private static boolean debug; private static boolean debug;
public static File getGaeaFolder(World w) { public static File getGaeaFolder(World w) {
File f = new File(w.getWorldFolder(), "gaea"); File f = new File(((BukkitWorld) w).getWorldFolder(), "gaea");
f.mkdirs(); f.mkdirs();
return f; return f;
} }

View File

@ -8,6 +8,7 @@ import com.dfsek.terra.api.world.generation.Chunkified;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitWorld;
import com.dfsek.terra.profiler.ProfileFrame; import com.dfsek.terra.profiler.ProfileFrame;
import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.BlockPopulator;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -45,8 +46,9 @@ public class PopulationManager extends BlockPopulator {
// Synchronize to prevent chunks from being queued for population multiple times. // Synchronize to prevent chunks from being queued for population multiple times.
public synchronized void checkNeighbors(int x, int z, World w) { public synchronized void checkNeighbors(int x, int z, World world) {
ChunkCoordinate c = new ChunkCoordinate(x, z, w.getUID()); BukkitWorld w = (BukkitWorld) world;
ChunkCoordinate c = new ChunkCoordinate(x, z, (w).getUID());
if(w.isChunkGenerated(x + 1, z) if(w.isChunkGenerated(x + 1, z)
&& w.isChunkGenerated(x - 1, z) && w.isChunkGenerated(x - 1, z)
&& w.isChunkGenerated(x, z + 1) && w.isChunkGenerated(x, z + 1)

View File

@ -42,12 +42,10 @@ public class BukkitWorld implements World {
return delegate.getName(); return delegate.getName();
} }
@Override
public UUID getUID() { public UUID getUID() {
return delegate.getUID(); return delegate.getUID();
} }
@Override
public boolean isChunkGenerated(int x, int z) { public boolean isChunkGenerated(int x, int z) {
return delegate.isChunkGenerated(x, z); return delegate.isChunkGenerated(x, z);
} }
@ -57,7 +55,6 @@ public class BukkitWorld implements World {
return BukkitAdapter.adapt(delegate.getChunkAt(x, z)); return BukkitAdapter.adapt(delegate.getChunkAt(x, z));
} }
@Override
public File getWorldFolder() { public File getWorldFolder() {
return delegate.getWorldFolder(); return delegate.getWorldFolder();
} }

View File

@ -17,9 +17,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.ServerWorldAccess;
import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldAccess;
import java.io.File;
import java.util.UUID;
public class FabricWorld implements World, FabricWorldHandle { public class FabricWorld implements World, FabricWorldHandle {
private final Handle delegate; private final Handle delegate;
@ -48,26 +45,11 @@ public class FabricWorld implements World, FabricWorldHandle {
return delegate.world.worldProperties.getLevelName(); return delegate.world.worldProperties.getLevelName();
} }
@Override
public UUID getUID() {
return null;
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return new FabricChunk(delegate.world.getChunk(x, z)); return new FabricChunk(delegate.world.getChunk(x, z));
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -16,9 +16,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.ServerWorldAccess;
import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldAccess;
import java.io.File;
import java.util.UUID;
public class FabricSeededWorldAccess implements World, FabricWorldHandle { public class FabricSeededWorldAccess implements World, FabricWorldHandle {
private final Handle handle; private final Handle handle;
@ -47,26 +44,11 @@ public class FabricSeededWorldAccess implements World, FabricWorldHandle {
return handle.toString(); // TODO: implementation return handle.toString(); // TODO: implementation
} }
@Override
public UUID getUID() {
return UUID.randomUUID(); // TODO: implementation
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return null; return null;
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -16,9 +16,6 @@ import net.minecraft.world.ServerWorldAccess;
import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldAccess;
import java.io.File;
import java.util.UUID;
public class FabricWorldAccess implements World, FabricWorldHandle { public class FabricWorldAccess implements World, FabricWorldHandle {
private final WorldAccess delegate; private final WorldAccess delegate;
@ -46,26 +43,11 @@ public class FabricWorldAccess implements World, FabricWorldHandle {
return ((ServerWorldAccess) delegate).toServerWorld().worldProperties.getLevelName(); return ((ServerWorldAccess) delegate).toServerWorld().worldProperties.getLevelName();
} }
@Override
public UUID getUID() {
return null;
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return null; return null;
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -16,9 +16,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IServerWorld; import net.minecraft.world.IServerWorld;
import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.ServerWorld;
import java.io.File;
import java.util.UUID;
public class ForgeWorld implements World, ForgeWorldHandle { public class ForgeWorld implements World, ForgeWorldHandle {
private final Handle delegate; private final Handle delegate;
@ -47,26 +44,11 @@ public class ForgeWorld implements World, ForgeWorldHandle {
return delegate.world.toString(); return delegate.world.toString();
} }
@Override
public UUID getUID() {
return null;
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return new ForgeChunk(delegate.world.getChunk(x, z)); return new ForgeChunk(delegate.world.getChunk(x, z));
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -16,9 +16,6 @@ import net.minecraft.world.IServerWorld;
import net.minecraft.world.IWorld; import net.minecraft.world.IWorld;
import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.ServerWorld;
import java.io.File;
import java.util.UUID;
public class ForgeSeededWorldAccess implements World, ForgeWorldHandle { public class ForgeSeededWorldAccess implements World, ForgeWorldHandle {
private final Handle handle; private final Handle handle;
@ -47,26 +44,11 @@ public class ForgeSeededWorldAccess implements World, ForgeWorldHandle {
return handle.toString(); // TODO: implementation return handle.toString(); // TODO: implementation
} }
@Override
public UUID getUID() {
return UUID.randomUUID(); // TODO: implementation
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return null; return null;
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -16,9 +16,6 @@ import net.minecraft.world.ISeedReader;
import net.minecraft.world.IServerWorld; import net.minecraft.world.IServerWorld;
import net.minecraft.world.IWorld; import net.minecraft.world.IWorld;
import java.io.File;
import java.util.UUID;
public class ForgeWorldAccess implements World, ForgeWorldHandle { public class ForgeWorldAccess implements World, ForgeWorldHandle {
private final IWorld delegate; private final IWorld delegate;
@ -46,26 +43,11 @@ public class ForgeWorldAccess implements World, ForgeWorldHandle {
return ((IServerWorld) delegate).getLevel().toString(); return ((IServerWorld) delegate).getLevel().toString();
} }
@Override
public UUID getUID() {
return null;
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
return null; return null;
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
BlockPos pos = new BlockPos(x, y, z); BlockPos pos = new BlockPos(x, y, z);

View File

@ -19,7 +19,6 @@ import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID;
public class DirectWorld implements World { public class DirectWorld implements World {
private final long seed; private final long seed;
@ -51,16 +50,6 @@ public class DirectWorld implements World {
return null; return null;
} }
@Override
public UUID getUID() {
return null;
}
@Override
public boolean isChunkGenerated(int x, int z) {
return false;
}
@Override @Override
public Chunk getChunkAt(int x, int z) { public Chunk getChunkAt(int x, int z) {
MCAFile file = compute(x, z); MCAFile file = compute(x, z);
@ -72,11 +61,6 @@ public class DirectWorld implements World {
return new DirectChunkData(chunk, this, x, z); return new DirectChunkData(chunk, this, x, z);
} }
@Override
public File getWorldFolder() {
return null;
}
@Override @Override
public Block getBlockAt(int x, int y, int z) { public Block getBlockAt(int x, int y, int z) {
return new DirectBlock(this, new Vector3(x, y, z)); return new DirectBlock(this, new Vector3(x, y, z));