mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-11 20:13:55 +00:00
Use a proper registry for biomes
This commit is contained in:
@ -26,6 +26,8 @@ import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldedit.math.Vector3;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.World;
|
||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||
import com.sk89q.worldedit.world.biome.BiomeTypes;
|
||||
import org.spongepowered.api.Sponge;
|
||||
import org.spongepowered.api.entity.living.player.Player;
|
||||
|
||||
@ -103,6 +105,14 @@ public class SpongeAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
public static BiomeType adapt(org.spongepowered.api.world.biome.BiomeType biomeType) {
|
||||
return BiomeTypes.get(biomeType.getId());
|
||||
}
|
||||
|
||||
public static org.spongepowered.api.world.biome.BiomeType adapt(BiomeType biomeType) {
|
||||
return Sponge.getRegistry().getType(org.spongepowered.api.world.biome.BiomeType.class, biomeType.getId()).orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a WorldEdit location from a Sponge location.
|
||||
*
|
||||
|
@ -19,15 +19,10 @@
|
||||
|
||||
package com.sk89q.worldedit.sponge;
|
||||
|
||||
import com.sk89q.worldedit.world.biome.BaseBiome;
|
||||
import com.sk89q.worldedit.world.biome.BiomeData;
|
||||
import com.sk89q.worldedit.world.registry.BiomeRegistry;
|
||||
import org.spongepowered.api.Sponge;
|
||||
import org.spongepowered.api.world.biome.BiomeType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
@ -37,23 +32,8 @@ class SpongeBiomeRegistry implements BiomeRegistry {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BaseBiome createFromId(int id) {
|
||||
return new BaseBiome(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BaseBiome> getBiomes() {
|
||||
List<BaseBiome> list = new ArrayList<>();
|
||||
for (BiomeType biome : Sponge.getGame().getRegistry().getAllOf(BiomeType.class)) {
|
||||
list.add(new BaseBiome(SpongeWorldEdit.inst().getAdapter().resolve(biome)));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public BiomeData getData(BaseBiome biome) {
|
||||
return new SpongeBiomeData(SpongeWorldEdit.inst().getAdapter().resolveBiome(biome.getId()));
|
||||
public BiomeData getData(com.sk89q.worldedit.world.biome.BiomeType biome) {
|
||||
return new SpongeBiomeData(SpongeAdapter.adapt(biome));
|
||||
}
|
||||
|
||||
private static class SpongeBiomeData implements BiomeData {
|
||||
|
@ -35,7 +35,7 @@ import com.sk89q.worldedit.regions.Region;
|
||||
import com.sk89q.worldedit.registry.state.Property;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.AbstractWorld;
|
||||
import com.sk89q.worldedit.world.biome.BaseBiome;
|
||||
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.item.ItemTypes;
|
||||
@ -192,17 +192,17 @@ public abstract class SpongeWorld extends AbstractWorld {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseBiome getBiome(BlockVector2 position) {
|
||||
public BiomeType getBiome(BlockVector2 position) {
|
||||
checkNotNull(position);
|
||||
return new BaseBiome(SpongeWorldEdit.inst().getAdapter().resolve(getWorld().getBiome(position.getBlockX(), 0, position.getBlockZ())));
|
||||
return SpongeAdapter.adapt(getWorld().getBiome(position.getBlockX(), 0, position.getBlockZ()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setBiome(BlockVector2 position, BaseBiome biome) {
|
||||
public boolean setBiome(BlockVector2 position, BiomeType biome) {
|
||||
checkNotNull(position);
|
||||
checkNotNull(biome);
|
||||
|
||||
getWorld().setBiome(position.getBlockX(), 0, position.getBlockZ(), SpongeWorldEdit.inst().getAdapter().resolveBiome(biome.getId()));
|
||||
getWorld().setBiome(position.getBlockX(), 0, position.getBlockZ(), SpongeAdapter.adapt(biome));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -36,16 +36,6 @@ import org.spongepowered.api.world.biome.BiomeType;
|
||||
*/
|
||||
public interface SpongeImplAdapter {
|
||||
|
||||
/**
|
||||
* Resolves the numerical ID from this {@link BiomeType}
|
||||
*
|
||||
* @param type The biometype
|
||||
* @return The numerical ID
|
||||
*/
|
||||
int resolve(BiomeType type);
|
||||
|
||||
BiomeType resolveBiome(int intID);
|
||||
|
||||
BaseEntity createBaseEntity(Entity entity);
|
||||
|
||||
ItemStack makeSpongeStack(BaseItemStack itemStack);
|
||||
|
Reference in New Issue
Block a user