mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-11 20:13:55 +00:00
Merge remote-tracking branch 'upstream/master' into breaking
This commit is contained in:
@ -63,6 +63,7 @@ task copyFiles {
|
||||
shadowJar {
|
||||
dependencies {
|
||||
include(dependency(':worldedit-core'))
|
||||
include(dependency('org.bstats:bstats-sponge:1.4'))
|
||||
}
|
||||
archiveName = "${parent.name}-${project.name.replaceAll("worldedit-", "")}-${parent.version}.jar"
|
||||
destinationDir = file '../target'
|
||||
|
@ -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 {
|
||||
|
@ -25,7 +25,6 @@ import com.flowpowered.math.vector.Vector3d;
|
||||
import com.flowpowered.math.vector.Vector3i;
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.blocks.BaseItemStack;
|
||||
import com.sk89q.worldedit.entity.BaseEntity;
|
||||
import com.sk89q.worldedit.entity.Entity;
|
||||
@ -36,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;
|
||||
@ -193,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;
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,6 @@ import com.sk89q.worldedit.sponge.adapter.AdapterLoadException;
|
||||
import com.sk89q.worldedit.sponge.adapter.SpongeImplAdapter;
|
||||
import com.sk89q.worldedit.sponge.adapter.SpongeImplLoader;
|
||||
import com.sk89q.worldedit.sponge.config.SpongeConfiguration;
|
||||
import com.sk89q.worldedit.world.item.ItemTypes;
|
||||
import org.bstats.sponge.Metrics2;
|
||||
import org.slf4j.Logger;
|
||||
import org.spongepowered.api.Sponge;
|
||||
@ -141,14 +140,14 @@ public class SpongeWorldEdit {
|
||||
// TODO Handle blockstate stuff
|
||||
String id = blockType.getId();
|
||||
if (!com.sk89q.worldedit.world.block.BlockType.REGISTRY.keySet().contains(id)) {
|
||||
com.sk89q.worldedit.world.block.BlockTypes.register(new com.sk89q.worldedit.world.block.BlockType(id));
|
||||
com.sk89q.worldedit.world.block.BlockType.REGISTRY.register(id, new com.sk89q.worldedit.world.block.BlockType(id));
|
||||
}
|
||||
}
|
||||
|
||||
for (ItemType itemType : Sponge.getRegistry().getAllOf(ItemType.class)) {
|
||||
String id = itemType.getId();
|
||||
if (!com.sk89q.worldedit.world.item.ItemType.REGISTRY.keySet().contains(id)) {
|
||||
ItemTypes.register(new com.sk89q.worldedit.world.item.ItemType(id));
|
||||
com.sk89q.worldedit.world.item.ItemType.REGISTRY.register(id, new com.sk89q.worldedit.world.item.ItemType(id));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -21,6 +21,8 @@ package com.sk89q.worldedit.sponge.adapter;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.sk89q.worldedit.util.io.Closer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -30,15 +32,13 @@ import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* Loads Sponge implementation adapters.
|
||||
*/
|
||||
public class SpongeImplLoader {
|
||||
|
||||
private static final Logger log = Logger.getLogger(SpongeImplLoader.class.getCanonicalName());
|
||||
private static final Logger log = LoggerFactory.getLogger(SpongeImplLoader.class);
|
||||
private final List<String> adapterCandidates = new ArrayList<>();
|
||||
private String customCandidate;
|
||||
|
||||
@ -71,7 +71,7 @@ public class SpongeImplLoader {
|
||||
if (className != null) {
|
||||
customCandidate = className;
|
||||
adapterCandidates.add(className);
|
||||
log.log(Level.INFO, "-Dworldedit.sponge.adapter used to add " + className + " to the list of available Sponge adapters");
|
||||
log.info("-Dworldedit.sponge.adapter used to add " + className + " to the list of available Sponge adapters");
|
||||
}
|
||||
}
|
||||
|
||||
@ -157,18 +157,18 @@ public class SpongeImplLoader {
|
||||
if (SpongeImplAdapter.class.isAssignableFrom(cls)) {
|
||||
suitableAdapters.add((SpongeImplAdapter) cls.newInstance());
|
||||
} else {
|
||||
log.log(Level.WARNING, "Failed to load the Sponge adapter class '" + className +
|
||||
log.warn("Failed to load the Sponge adapter class '" + className +
|
||||
"' because it does not implement " + SpongeImplAdapter.class.getCanonicalName());
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
log.log(Level.WARNING, "Failed to load the Sponge adapter class '" + className +
|
||||
log.warn("Failed to load the Sponge adapter class '" + className +
|
||||
"' that is not supposed to be missing", e);
|
||||
} catch (IllegalAccessException e) {
|
||||
log.log(Level.WARNING, "Failed to load the Sponge adapter class '" + className +
|
||||
log.warn("Failed to load the Sponge adapter class '" + className +
|
||||
"' that is not supposed to be raising this error", e);
|
||||
} catch (Throwable e) {
|
||||
if (className.equals(customCandidate)) {
|
||||
log.log(Level.WARNING, "Failed to load the Sponge adapter class '" + className + "'", e);
|
||||
log.warn("Failed to load the Sponge adapter class '" + className + "'", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,6 +59,7 @@ public class ConfigurateConfiguration extends LocalConfiguration {
|
||||
}
|
||||
|
||||
profile = node.getNode("debug").getBoolean(profile);
|
||||
traceUnflushedSessions = node.getNode("debugging", "trace-unflushed-sessions").getBoolean(traceUnflushedSessions);
|
||||
wandItem = node.getNode("wand-item").getString(wandItem);
|
||||
try {
|
||||
wandItem = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(wandItem)).getId();
|
||||
|
Reference in New Issue
Block a user