WIP merge (i'll finish this later)

This commit is contained in:
Jesse Boyd
2019-04-05 01:24:47 +11:00
parent 1beea3cd22
commit 33f5322fda
25 changed files with 845 additions and 530 deletions

View File

@ -33,6 +33,7 @@ import com.sk89q.worldedit.internal.Constants;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.registry.state.*;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.*;
import com.sk89q.worldedit.world.registry.BlockMaterial;
@ -188,18 +189,6 @@ public final class Spigot_v1_13_R2 extends CachedBukkitAdapter implements Bukkit
// Code that is less likely to break
// ------------------------------------------------------------------------
@Override
public BiomeType getBiomeId(Biome biome) {
BiomeBase mcBiome = CraftBlock.biomeToBiomeBase(biome);
return mcBiome != null ? IRegistry.BIOME.a(mcBiome) : 0;
}
@Override
public Biome getBiome(int id) {
BiomeBase mcBiome = IRegistry.BIOME.fromId(id);
return CraftBlock.biomeBaseToBiome(mcBiome); // Defaults to ocean if it's an invalid ID
}
@SuppressWarnings("deprecation")
@Override
public BaseBlock getBlock(Location location) {

View File

@ -23,6 +23,7 @@ import java.util.Set;
import java.util.UUID;
import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import com.sk89q.worldedit.world.block.BlockType;
@ -170,17 +171,16 @@ public class BukkitChunk_All extends IntFaweChunk<Chunk, BukkitQueue_All> {
}
// Biomes
final byte[] biomes = getBiomeArray();
final BiomeType[] biomes = getBiomeArray();
if (biomes != null) {
int index = 0;
for (int z = 0; z < 16; z++) {
int zz = bz + z;
for (int x = 0; x < 16; x++, index++) {
int xx = bx + x;
int biome = biomes[index] & 0xFF;
if (biome == 0) continue;
if (biome == 255) biome = 0;
Biome bukkitBiome = adapter.getBiome(biome);
BiomeType biome = biomes[index];
if (biome == null) continue;
Biome bukkitBiome = adapter.adapt(biome);
if (bukkitBiome != null) {
world.setBiome(xx, zz, bukkitBiome);
}

View File

@ -9,6 +9,7 @@ import java.util.Collection;
import java.util.List;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.world.biome.BiomeType;
import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.block.BlockTypes;
@ -232,13 +233,13 @@ public class AsyncBlock implements Block {
@Override
public Biome getBiome() {
return world.getAdapter().getBiome(queue.getBiomeType(x, z));
return world.getAdapter().adapt(queue.getBiomeType(x, z));
}
@Override
public void setBiome(Biome bio) {
int id = world.getAdapter().getBiomeId(bio);
queue.setBiome(x, z, FaweCache.getBiome(id));
BiomeType biome = world.getAdapter().adapt(bio);
queue.setBiome(x, z, biome);
}
@Override

View File

@ -858,13 +858,13 @@ public class AsyncWorld extends DelegateFaweQueue implements World, HasFaweQueue
@Override
public Biome getBiome(int x, int z) {
return adapter.getBiome(queue.getBiomeType(x, z));
return adapter.adapt(queue.getBiomeType(x, z));
}
@Override
public void setBiome(int x, int z, Biome bio) {
int id = adapter.getBiomeId(bio);
queue.setBiome(x, z, new BiomeType(id));
BiomeType biome = adapter.adapt(bio);
queue.setBiome(x, z, biome);
}
@Override