Change Java whitespace handling in .editorconfig (#425)

* Change whitespace handling in .editorconfig

* Reformat code

* fix format error

* Reformat code

---------

Co-authored-by: Zoë Gidiere <duplexsys@protonmail.com>
This commit is contained in:
Astrashh
2023-11-13 11:57:01 +11:00
committed by GitHub
parent a73fda7d04
commit defd775f13
793 changed files with 7579 additions and 7577 deletions

View File

@@ -14,37 +14,37 @@ import com.dfsek.terra.bukkit.config.VanillaBiomeProperties;
public class BukkitAddon implements BaseAddon {
private static final Version VERSION = Versions.getVersion(1, 0, 0);
private final PlatformImpl terraBukkitPlugin;
public BukkitAddon(PlatformImpl terraBukkitPlugin) {
this.terraBukkitPlugin = terraBukkitPlugin;
}
@Override
public void initialize() {
terraBukkitPlugin.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigPackPreLoadEvent.class)
.then(event -> event.getPack().getContext().put(event.loadTemplate(new PreLoadCompatibilityOptions())))
.global();
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigPackPreLoadEvent.class)
.then(event -> event.getPack().getContext().put(event.loadTemplate(new PreLoadCompatibilityOptions())))
.global();
terraBukkitPlugin.getEventManager()
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigurationLoadEvent.class)
.then(event -> {
if(event.is(Biome.class)) {
event.getLoadedObject(Biome.class).getContext().put(event.load(new VanillaBiomeProperties()));
}
})
.global();
.getHandler(FunctionalEventHandler.class)
.register(this, ConfigurationLoadEvent.class)
.then(event -> {
if(event.is(Biome.class)) {
event.getLoadedObject(Biome.class).getContext().put(event.load(new VanillaBiomeProperties()));
}
})
.global();
}
@Override
public Version getVersion() {
return VERSION;
}
@Override
public String getID() {
return "terra-bukkit";

View File

@@ -29,16 +29,16 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitCommandSender implements CommandSender {
private final org.bukkit.command.CommandSender delegate;
public BukkitCommandSender(org.bukkit.command.CommandSender delegate) {
this.delegate = delegate;
}
@Override
public void sendMessage(String message) {
delegate.sendMessage(ChatColor.translateAlternateColorCodes('&', message));
}
@Override
public Optional<Entity> getEntity() {
if(delegate instanceof org.bukkit.entity.Entity entity) {
@@ -46,7 +46,7 @@ public class BukkitCommandSender implements CommandSender {
}
return Optional.empty();
}
@Override
public Optional<Player> getPlayer() {
if(delegate instanceof org.bukkit.entity.Player player) {
@@ -54,7 +54,7 @@ public class BukkitCommandSender implements CommandSender {
}
return Optional.empty();
}
@Override
public org.bukkit.command.CommandSender getHandle() {
return delegate;

View File

@@ -17,44 +17,44 @@
package com.dfsek.terra.bukkit;
import io.papermc.lib.PaperLib;
import org.bukkit.Location;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import io.papermc.lib.PaperLib;
import org.bukkit.Location;
public class BukkitEntity implements Entity {
private final org.bukkit.entity.Entity entity;
public BukkitEntity(org.bukkit.entity.Entity entity) {
this.entity = entity;
}
@Override
public org.bukkit.entity.Entity getHandle() {
return entity;
}
@Override
public Vector3 position() {
return BukkitAdapter.adapt(entity.getLocation().toVector());
}
@Override
public void position(Vector3 location) {
PaperLib.teleportAsync(entity, BukkitAdapter.adapt(location).toLocation(entity.getWorld()));
}
@Override
public void world(ServerWorld world) {
Location newLoc = entity.getLocation().clone();
newLoc.setWorld(BukkitAdapter.adapt(world));
PaperLib.teleportAsync(entity, newLoc);
}
@Override
public ServerWorld world() {
return BukkitAdapter.adapt(entity.getWorld());

View File

@@ -28,34 +28,34 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitPlayer implements Player {
private final org.bukkit.entity.Player delegate;
public BukkitPlayer(org.bukkit.entity.Player delegate) {
this.delegate = delegate;
}
@Override
public org.bukkit.entity.Player getHandle() {
return delegate;
}
@Override
public Vector3 position() {
org.bukkit.Location bukkit = delegate.getLocation();
return Vector3.of(bukkit.getX(), bukkit.getY(), bukkit.getZ());
}
@Override
public void position(Vector3 location) {
PaperLib.teleportAsync(delegate, BukkitAdapter.adapt(location).toLocation(delegate.getWorld()));
}
@Override
public void world(ServerWorld world) {
Location newLoc = delegate.getLocation().clone();
newLoc.setWorld(BukkitAdapter.adapt(world));
PaperLib.teleportAsync(delegate, newLoc);
}
@Override
public ServerWorld world() {
return BukkitAdapter.adapt(delegate.getWorld());

View File

@@ -44,28 +44,28 @@ import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
public class PlatformImpl extends AbstractPlatform {
private static final Logger LOGGER = LoggerFactory.getLogger(PlatformImpl.class);
private final ItemHandle itemHandle = new BukkitItemHandle();
private final WorldHandle handle = new BukkitWorldHandle();
private final TerraBukkitPlugin plugin;
public PlatformImpl(TerraBukkitPlugin plugin) {
this.plugin = plugin;
load();
}
public TerraBukkitPlugin getPlugin() {
return plugin;
}
@Override
public boolean reload() {
getTerraConfig().load(this);
getRawConfigRegistry().clear();
boolean succeed = getRawConfigRegistry().loadAll(this);
Bukkit.getWorlds().forEach(world -> {
if(world.getGenerator() instanceof BukkitChunkGeneratorWrapper wrapper) {
getConfigRegistry().get(wrapper.getPack().getRegistryKey()).ifPresent(pack -> {
@@ -74,49 +74,49 @@ public class PlatformImpl extends AbstractPlatform {
});
}
});
return succeed;
}
@Override
public @NotNull String platformName() {
return "Bukkit";
}
@Override
public void runPossiblyUnsafeTask(@NotNull Runnable task) {
plugin.getFoliaLib().getImpl().runAsync(task);
}
@Override
protected Iterable<BaseAddon> platformAddon() {
return List.of(new BukkitAddon(this));
}
@Override
public @NotNull WorldHandle getWorldHandle() {
return handle;
}
@Override
public @NotNull File getDataFolder() {
return plugin.getDataFolder();
}
@Override
public @NotNull ItemHandle getItemHandle() {
return itemHandle;
}
@Override
public void register(TypeRegistry registry) {
super.register(registry);
registry.registerLoader(BlockState.class, (type, o, loader, depthTracker) -> handle.createBlockState((String) o))
.registerLoader(PlatformBiome.class, (type, o, loader, depthTracker) -> parseBiome((String) o, depthTracker))
.registerLoader(EntityType.class, (type, o, loader, depthTracker) -> EntityType.valueOf((String) o));
.registerLoader(PlatformBiome.class, (type, o, loader, depthTracker) -> parseBiome((String) o, depthTracker))
.registerLoader(EntityType.class, (type, o, loader, depthTracker) -> EntityType.valueOf((String) o));
}
private BukkitPlatformBiome parseBiome(String id, DepthTracker depthTracker) throws LoadException {
if(!id.startsWith("minecraft:")) throw new LoadException("Invalid biome identifier " + id, depthTracker);
return new BukkitPlatformBiome(org.bukkit.block.Biome.valueOf(id.toUpperCase(Locale.ROOT).substring(10)));

View File

@@ -47,26 +47,26 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class TerraBukkitPlugin extends JavaPlugin {
private static final Logger logger = LoggerFactory.getLogger(TerraBukkitPlugin.class);
private final PlatformImpl platform = new PlatformImpl(this);
private final Map<String, com.dfsek.terra.api.world.chunk.generation.ChunkGenerator> generatorMap = new HashMap<>();
private final FoliaLib foliaLib = new FoliaLib(this);
@Override
public void onEnable() {
if(!doVersionCheck()) {
return;
}
platform.getEventManager().callEvent(new PlatformInitializationEvent());
try {
PaperCommandManager<CommandSender> commandManager = getCommandSenderPaperCommandManager();
platform.getEventManager().callEvent(new CommandRegistrationEvent(commandManager));
} catch(Exception e) { // This should never happen.
logger.error("""
TERRA HAS BEEN DISABLED
@@ -77,19 +77,19 @@ public class TerraBukkitPlugin extends JavaPlugin {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
Bukkit.getPluginManager().registerEvents(new CommonListener(), this); // Register master event listener
PaperUtil.checkPaper(this);
Initializer.init(platform);
}
@NotNull
private PaperCommandManager<CommandSender> getCommandSenderPaperCommandManager() throws Exception {
PaperCommandManager<CommandSender> commandManager = new PaperCommandManager<>(this,
CommandExecutionCoordinator.simpleCoordinator(),
BukkitAdapter::adapt,
BukkitAdapter::adapt);
CommandExecutionCoordinator.simpleCoordinator(),
BukkitAdapter::adapt,
BukkitAdapter::adapt);
if(commandManager.hasCapability(CloudBukkitCapabilities.NATIVE_BRIGADIER)) {
commandManager.registerBrigadier();
final CloudBrigadierManager<?, ?> brigManager = commandManager.brigadierManager();
@@ -97,25 +97,25 @@ public class TerraBukkitPlugin extends JavaPlugin {
brigManager.setNativeNumberSuggestions(false);
}
}
if(commandManager.hasCapability(CloudBukkitCapabilities.ASYNCHRONOUS_COMPLETION)) {
commandManager.registerAsynchronousCompletions();
}
return commandManager;
}
public PlatformImpl getPlatform() {
return platform;
}
@SuppressWarnings({ "deprecation", "AccessOfSystemProperties" })
private boolean doVersionCheck() {
logger.info("Running on Minecraft version {} with server implementation {}.", VersionUtil.getMinecraftVersionInfo(),
Bukkit.getServer().getName());
Bukkit.getServer().getName());
if(!VersionUtil.getSpigotVersionInfo().isSpigot())
logger.error("YOU ARE RUNNING A CRAFTBUKKIT OR BUKKIT SERVER. PLEASE UPGRADE TO PAPER.");
if(VersionUtil.getSpigotVersionInfo().isMohist()) {
if(System.getProperty("IKnowMohistCausesLotsOfIssuesButIWillUseItAnyways") == null) {
Runnable runnable = () -> { // scary big block of text
@@ -176,17 +176,17 @@ public class TerraBukkitPlugin extends JavaPlugin {
}
return true;
}
@Override
public @Nullable
ChunkGenerator getDefaultWorldGenerator(@NotNull String worldName, String id) {
return new BukkitChunkGeneratorWrapper(generatorMap.computeIfAbsent(worldName, name -> {
ConfigPack pack = platform.getConfigRegistry().getByID(id).orElseThrow(
() -> new IllegalArgumentException("No such config pack \"" + id + "\""));
() -> new IllegalArgumentException("No such config pack \"" + id + "\""));
return pack.getGeneratorProvider().newInstance(pack);
}), platform.getRawConfigRegistry().getByID(id).orElseThrow(), platform.getWorldHandle().air());
}
public FoliaLib getFoliaLib() {
return foliaLib;
}

View File

@@ -29,31 +29,31 @@ public class PreLoadCompatibilityOptions implements ConfigTemplate, Properties {
@Value("minecraft.use-vanilla-biomes")
@Default
private boolean vanillaBiomes = false;
@Value("minecraft.beard.enable")
@Default
private boolean beard = true;
@Value("minecraft.beard.threshold")
@Default
private double beardThreshold = 0.5;
@Value("minecraft.beard.air-threshold")
@Default
private double airThreshold = -0.5;
public boolean useVanillaBiomes() {
return vanillaBiomes;
}
public boolean isBeard() {
return beard;
}
public double getBeardThreshold() {
return beardThreshold;
}
public double getAirThreshold() {
return airThreshold;
}

View File

@@ -11,47 +11,47 @@ public class VanillaBiomeProperties implements ConfigTemplate, Properties {
@Value("colors.grass")
@Default
private Integer grassColor = null;
@Value("colors.fog")
@Default
private Integer fogColor = null;
@Value("colors.water")
@Default
private Integer waterColor = null;
@Value("colors.water-fog")
@Default
private Integer waterFogColor = null;
@Value("colors.foliage")
@Default
private Integer foliageColor = null;
@Value("colors.sky")
@Default
private Integer skyColor = null;
public Integer getFogColor() {
return fogColor;
}
public Integer getFoliageColor() {
return foliageColor;
}
public Integer getGrassColor() {
return grassColor;
}
public Integer getWaterColor() {
return waterColor;
}
public Integer getWaterFogColor() {
return waterFogColor;
}
public Integer getSkyColor() {
return skyColor;
}

View File

@@ -14,22 +14,22 @@ import com.dfsek.terra.api.world.biome.Biome;
public class BukkitBiomeProvider extends BiomeProvider implements Handle {
private final com.dfsek.terra.api.world.biome.generation.BiomeProvider delegate;
public BukkitBiomeProvider(com.dfsek.terra.api.world.biome.generation.BiomeProvider delegate) { this.delegate = delegate; }
@Override
public @NotNull org.bukkit.block.Biome getBiome(@NotNull WorldInfo worldInfo, int x, int y, int z) {
Biome biome = delegate.getBiome(x, y, z, worldInfo.getSeed());
return (org.bukkit.block.Biome) biome.getPlatformBiome().getHandle();
}
@Override
public @NotNull List<org.bukkit.block.Biome> getBiomes(@NotNull WorldInfo worldInfo) {
return StreamSupport.stream(delegate.getBiomes().spliterator(), false)
.map(terraBiome -> (org.bukkit.block.Biome) terraBiome.getPlatformBiome().getHandle())
.collect(Collectors.toList());
.map(terraBiome -> (org.bukkit.block.Biome) terraBiome.getPlatformBiome().getHandle())
.collect(Collectors.toList());
}
@Override
public Object getHandle() {
return delegate;

View File

@@ -15,20 +15,20 @@ import com.dfsek.terra.bukkit.world.BukkitProtoWorld;
public class BukkitBlockPopulator extends BlockPopulator {
private final BlockState air;
private ConfigPack pack;
public BukkitBlockPopulator(ConfigPack pack, BlockState air) {
this.pack = pack;
this.air = air;
}
public void setPack(ConfigPack pack) {
this.pack = pack;
}
@Override
public void populate(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ,
@NotNull LimitedRegion limitedRegion) {
pack.getStages().forEach(
generationStage -> generationStage.populate(new BukkitProtoWorld(limitedRegion, air, pack.getBiomeProvider())));
generationStage -> generationStage.populate(new BukkitProtoWorld(limitedRegion, air, pack.getBiomeProvider())));
}
}

View File

@@ -43,71 +43,71 @@ public class BukkitChunkGeneratorWrapper extends org.bukkit.generator.ChunkGener
private final BukkitBlockPopulator blockPopulator;
private ChunkGenerator delegate;
private ConfigPack pack;
public BukkitChunkGeneratorWrapper(ChunkGenerator delegate, ConfigPack pack, BlockState air) {
this.delegate = delegate;
this.pack = pack;
this.air = air;
this.blockPopulator = new BukkitBlockPopulator(pack, air);
}
public void setDelegate(ChunkGenerator delegate) {
this.delegate = delegate;
}
@Override
public @Nullable BiomeProvider getDefaultBiomeProvider(@NotNull WorldInfo worldInfo) {
return new BukkitBiomeProvider(pack.getBiomeProvider());
}
@Override
public void generateNoise(@NotNull WorldInfo worldInfo, @NotNull Random random, int x, int z, @NotNull ChunkData chunkData) {
BukkitWorldProperties properties = new BukkitWorldProperties(worldInfo);
delegate.generateChunkData(new BukkitProtoChunk(chunkData), properties, pack.getBiomeProvider(), x, z);
}
@Override
public @NotNull List<BlockPopulator> getDefaultPopulators(@NotNull World world) {
return List.of(blockPopulator);
}
@Override
public boolean shouldGenerateCaves() {
return false;
//return pack.vanillaCaves();
}
@Override
public boolean shouldGenerateDecorations() {
return true;
}
@Override
public boolean shouldGenerateMobs() {
return true;
}
@Override
public boolean shouldGenerateStructures() {
return true;
}
public ConfigPack getPack() {
return pack;
}
public void setPack(ConfigPack pack) {
this.pack = pack;
setDelegate(pack.getGeneratorProvider().newInstance(pack));
}
@Override
public ChunkGenerator getHandle() {
return delegate;
}
private record SeededVector(int x, int z, WorldProperties worldProperties) {
@Override
public boolean equals(Object obj) {
@@ -116,7 +116,7 @@ public class BukkitChunkGeneratorWrapper extends org.bukkit.generator.ChunkGener
}
return false;
}
@Override
public int hashCode() {
int code = x;

View File

@@ -26,30 +26,30 @@ import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
public class BukkitProtoChunk implements ProtoChunk {
private final ChunkGenerator.ChunkData delegate;
public BukkitProtoChunk(ChunkGenerator.ChunkData delegate) {
this.delegate = delegate;
}
@Override
public ChunkGenerator.ChunkData getHandle() {
return delegate;
}
@Override
public int getMaxHeight() {
return delegate.getMaxHeight();
}
@Override
public void setBlock(int x, int y, int z, @NotNull BlockState blockState) {
delegate.setBlock(x, y, z, ((BukkitBlockState) blockState).getHandle());
}
@Override
public @NotNull BlockState getBlock(int x, int y, int z) {
return BukkitBlockState.newInstance(delegate.getBlockData(x, y, z));

View File

@@ -32,18 +32,18 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitItemHandle implements ItemHandle {
@Override
public Item createItem(String data) {
return BukkitAdapter.adapt(Material.matchMaterial(data));
}
@Override
public Enchantment getEnchantment(String id) {
return BukkitAdapter.adapt(
org.bukkit.enchantments.Enchantment.getByKey(NamespacedKey.minecraft(MinecraftUtils.stripMinecraftNamespace(id))));
org.bukkit.enchantments.Enchantment.getByKey(NamespacedKey.minecraft(MinecraftUtils.stripMinecraftNamespace(id))));
}
@Override
public Set<Enchantment> getEnchantments() {
return Arrays.stream(org.bukkit.enchantments.Enchantment.values()).map(BukkitAdapter::adapt).collect(Collectors.toSet());

View File

@@ -32,32 +32,32 @@ import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
public class BukkitWorldHandle implements WorldHandle {
private final BlockState air;
public BukkitWorldHandle() {
this.air = BukkitBlockState.newInstance(Material.AIR.createBlockData());
}
@Override
public synchronized @NotNull BlockState createBlockState(@NotNull String data) {
org.bukkit.block.data.BlockData bukkitData = Bukkit.createBlockData(
data); // somehow bukkit managed to make this not thread safe! :)
data); // somehow bukkit managed to make this not thread safe! :)
return BukkitBlockState.newInstance(bukkitData);
}
@Override
public @NotNull BlockState air() {
return air;
}
@Override
public @NotNull EntityType getEntity(@NotNull String id) {
if(!id.startsWith("minecraft:")) throw new IllegalArgumentException("Invalid entity identifier " + id);
String entityID = id.toUpperCase(Locale.ROOT).substring(10);
return new BukkitEntityType(switch(entityID) {
case "END_CRYSTAL" -> org.bukkit.entity.EntityType.ENDER_CRYSTAL;
case "ENDER_CRYSTAL" -> throw new IllegalArgumentException(
"Invalid entity identifier " + id); // make sure this issue can't happen the other way around.
"Invalid entity identifier " + id); // make sure this issue can't happen the other way around.
default -> org.bukkit.entity.EntityType.valueOf(entityID);
});
}

View File

@@ -39,11 +39,11 @@ import com.dfsek.terra.api.Platform;
public class SpigotListener implements Listener {
private static final Logger logger = LoggerFactory.getLogger(SpigotListener.class);
private final Platform platform;
public SpigotListener(Platform platform) {
this.platform = platform;
}
@EventHandler(priority = EventPriority.NORMAL)
public void onEnderEye(EntitySpawnEvent e) {
/*
@@ -68,7 +68,7 @@ public class SpigotListener implements Listener {
}
*/
}
@EventHandler
public void onCartographerChange(VillagerAcquireTradeEvent e) {
if(!(e.getEntity() instanceof Villager))
@@ -85,7 +85,7 @@ public class SpigotListener implements Listener {
e.setCancelled(true); // Cancel leveling if the villager is a Cartographer, to prevent crashing server.
}
}
@EventHandler
public void onCartographerLevel(VillagerCareerChangeEvent e) {
if(e.getProfession() == Villager.Profession.CARTOGRAPHER) {

View File

@@ -10,7 +10,7 @@ import com.dfsek.terra.bukkit.PlatformImpl;
public interface Initializer {
String NMS = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
String TERRA_PACKAGE = Initializer.class.getPackageName();
static void init(PlatformImpl platform) {
Logger logger = LoggerFactory.getLogger(Initializer.class);
try {
@@ -35,6 +35,6 @@ public interface Initializer {
logger.error("This is usually due to running Terra on an unsupported Minecraft version.");
}
}
void initialize(PlatformImpl plugin);
}

View File

@@ -12,12 +12,12 @@ import java.util.regex.Pattern;
public final class VersionUtil {
public static final SpigotVersionInfo SPIGOT_VERSION_INFO;
public static final MinecraftVersionInfo MINECRAFT_VERSION_INFO;
private static final Logger logger = LoggerFactory.getLogger(VersionUtil.class);
static {
SPIGOT_VERSION_INFO = new SpigotVersionInfo();
MinecraftVersionInfo mcVersionInfo;
try {
mcVersionInfo = new MinecraftVersionInfo();
@@ -27,28 +27,28 @@ public final class VersionUtil {
}
MINECRAFT_VERSION_INFO = mcVersionInfo;
}
public static MinecraftVersionInfo getMinecraftVersionInfo() {
return MINECRAFT_VERSION_INFO;
}
public static SpigotVersionInfo getSpigotVersionInfo() {
return SPIGOT_VERSION_INFO;
}
public static final class SpigotVersionInfo {
private final boolean spigot;
private final boolean paper;
private final boolean mohist;
public SpigotVersionInfo() {
logger.debug("Parsing spigot version info...");
paper = PaperLib.isPaper();
spigot = PaperLib.isSpigot();
boolean isMohist = false;
try {
Class.forName("com.mohistmc.MohistMC");
@@ -56,42 +56,42 @@ public final class VersionUtil {
isMohist = true;
} catch(ClassNotFoundException ignore) { }
this.mohist = isMohist;
logger.debug("Spigot version info parsed successfully.");
}
public boolean isPaper() {
return paper;
}
public boolean isMohist() {
return mohist;
}
public boolean isSpigot() {
return spigot;
}
}
public static final class MinecraftVersionInfo {
private static final Logger logger = LoggerFactory.getLogger(MinecraftVersionInfo.class);
private static final Pattern VERSION_PATTERN = Pattern.compile("v?(\\d+)_(\\d+)_R(\\d+)");
private final int major;
private final int minor;
private final int patch;
private MinecraftVersionInfo() {
this(Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]);
}
private MinecraftVersionInfo(int major, int minor, int patch) {
this.major = major;
this.minor = minor;
this.patch = patch;
}
private MinecraftVersionInfo(String versionString) {
Matcher versionMatcher = VERSION_PATTERN.matcher(versionString);
if(versionMatcher.find()) {
@@ -100,29 +100,29 @@ public final class VersionUtil {
patch = Integer.parseInt(versionMatcher.group(3));
} else {
logger.warn("Error while parsing minecraft version info. Continuing launch, but setting all versions to -1.");
major = -1;
minor = -1;
patch = -1;
}
}
@Override
public String toString() {
if(major == -1 && minor == -1 && patch == -1)
return "Unknown";
return String.format("v%d.%d.%d", major, minor, patch);
}
public int getMajor() {
return major;
}
public int getMinor() {
return minor;
}
public int getPatch() {
return patch;
}

View File

@@ -55,26 +55,26 @@ import com.dfsek.terra.transform.TransformerImpl;
*/
public final class BukkitAdapter {
public static TransformerImpl<TreeType, String> TREE_TRANSFORMER = new TransformerImpl.Builder<TreeType, String>()
.addTransform(new MapTransform<TreeType, String>()
.add(TreeType.COCOA_TREE, "JUNGLE_COCOA")
.add(TreeType.BIG_TREE, "LARGE_OAK")
.add(TreeType.TALL_REDWOOD, "LARGE_SPRUCE")
.add(TreeType.REDWOOD, "SPRUCE")
.add(TreeType.TREE, "OAK")
.add(TreeType.MEGA_REDWOOD, "MEGA_SPRUCE")
.add(TreeType.SWAMP, "SWAMP_OAK"))
.addTransform(TreeType::toString)
.build();
.addTransform(new MapTransform<TreeType, String>()
.add(TreeType.COCOA_TREE, "JUNGLE_COCOA")
.add(TreeType.BIG_TREE, "LARGE_OAK")
.add(TreeType.TALL_REDWOOD, "LARGE_SPRUCE")
.add(TreeType.REDWOOD, "SPRUCE")
.add(TreeType.TREE, "OAK")
.add(TreeType.MEGA_REDWOOD, "MEGA_SPRUCE")
.add(TreeType.SWAMP, "SWAMP_OAK"))
.addTransform(TreeType::toString)
.build();
public static BlockState adapt(org.bukkit.block.data.BlockData data) {
return BukkitBlockState.newInstance(data);
}
public static org.bukkit.block.data.BlockData adapt(BlockState data) {
return ((BukkitBlockState) data).getHandle();
}
public static Axis adapt(org.bukkit.Axis axis) {
return switch(axis) {
case X -> Axis.X;
@@ -82,22 +82,22 @@ public final class BukkitAdapter {
case Z -> Axis.Z;
};
}
public static WorldProperties adapt(WorldInfo worldInfo) {
return new BukkitWorldProperties(worldInfo);
}
public static WorldInfo adapt(WorldProperties properties) {
return (WorldInfo) properties.getHandle();
}
public static Half adapt(org.bukkit.block.data.Bisected.Half half) {
return switch(half) {
case BOTTOM -> Half.BOTTOM;
case TOP -> Half.TOP;
};
}
public static RedstoneConnection adapt(org.bukkit.block.data.type.RedstoneWire.Connection connection) {
return switch(connection) {
case NONE -> RedstoneConnection.NONE;
@@ -105,7 +105,7 @@ public final class BukkitAdapter {
case SIDE -> RedstoneConnection.SIDE;
};
}
public static org.bukkit.block.data.type.RedstoneWire.Connection adapt(RedstoneConnection connection) {
return switch(connection) {
case SIDE -> org.bukkit.block.data.type.RedstoneWire.Connection.SIDE;
@@ -113,7 +113,7 @@ public final class BukkitAdapter {
case NONE -> org.bukkit.block.data.type.RedstoneWire.Connection.NONE;
};
}
public static RailShape adapt(org.bukkit.block.data.Rail.Shape shape) {
return switch(shape) {
case SOUTH_WEST -> RailShape.SOUTH_WEST;
@@ -128,7 +128,7 @@ public final class BukkitAdapter {
case EAST_WEST -> RailShape.EAST_WEST;
};
}
public static org.bukkit.block.data.Rail.Shape adapt(RailShape shape) {
return switch(shape) {
case EAST_WEST -> org.bukkit.block.data.Rail.Shape.EAST_WEST;
@@ -143,8 +143,8 @@ public final class BukkitAdapter {
case SOUTH_WEST -> org.bukkit.block.data.Rail.Shape.SOUTH_WEST;
};
}
public static org.bukkit.block.data.Bisected.Half adapt(Half half) {
return switch(half) {
case TOP -> org.bukkit.block.data.Bisected.Half.TOP;
@@ -152,7 +152,7 @@ public final class BukkitAdapter {
default -> throw new IllegalStateException();
};
}
public static org.bukkit.Axis adapt(Axis axis) {
return switch(axis) {
case Z -> org.bukkit.Axis.Z;
@@ -160,75 +160,75 @@ public final class BukkitAdapter {
case X -> org.bukkit.Axis.X;
};
}
public static Vector3 adapt(Location location) {
return Vector3.of(location.getX(), location.getY(), location.getZ());
}
public static Vector adapt(Vector3 vector3) {
return new Vector(vector3.getX(), vector3.getY(), vector3.getZ());
}
public static Vector3 adapt(Vector vector) {
return Vector3.of(vector.getX(), vector.getY(), vector.getZ());
}
public static CommandSender adapt(org.bukkit.command.CommandSender sender) {
return new BukkitCommandSender(sender);
}
public static Entity adapt(org.bukkit.entity.Entity entity) {
return new BukkitEntity(entity);
}
public static org.bukkit.command.CommandSender adapt(CommandSender sender) {
return ((BukkitCommandSender) sender).getHandle();
}
public static ServerWorld adapt(org.bukkit.World world) {
return new BukkitServerWorld(world);
}
public static org.bukkit.World adapt(ServerWorld world) {
return (org.bukkit.World) world.getHandle();
}
public static Chunk adapt(org.bukkit.Chunk chunk) {
return new BukkitChunk(chunk);
}
public static org.bukkit.Chunk adapt(Chunk chunk) {
return (org.bukkit.Chunk) chunk.getHandle();
}
public static Enchantment adapt(org.bukkit.enchantments.Enchantment enchantment) {
return new BukkitEnchantment(enchantment);
}
public static org.bukkit.enchantments.Enchantment adapt(Enchantment enchantment) {
return ((BukkitEnchantment) enchantment).getHandle();
}
public static Player adapt(com.dfsek.terra.api.entity.Player player) {
return ((BukkitPlayer) player).getHandle();
}
public static com.dfsek.terra.api.entity.Player adapt(Player player) {
return new BukkitPlayer(player);
}
public static BukkitBlockTypeAndItem adapt(Material material) {
return new BukkitBlockTypeAndItem(material);
}
public static Material adapt(BlockType type) {
return ((BukkitBlockTypeAndItem) type).getHandle();
}
public static ItemStack adapt(org.bukkit.inventory.ItemStack in) {
return new BukkitItemStack(in);
}
public static org.bukkit.inventory.ItemStack adapt(ItemStack in) {
return ((BukkitItemStack) in).getHandle();
}

View File

@@ -26,41 +26,41 @@ import com.dfsek.terra.api.world.chunk.Chunk;
public class BukkitChunk implements Chunk {
private final org.bukkit.Chunk delegate;
public BukkitChunk(org.bukkit.Chunk delegate) {
this.delegate = delegate;
}
@Override
public org.bukkit.Chunk getHandle() {
return delegate;
}
@Override
public void setBlock(int x, int y, int z, BlockState data, boolean physics) {
delegate.getBlock(x, y, z).setBlockData(BukkitAdapter.adapt(data), physics);
}
@Override
public void setBlock(int x, int y, int z, @NotNull BlockState blockState) {
delegate.getBlock(x, y, z).setBlockData(BukkitAdapter.adapt(blockState));
}
@Override
public @NotNull BlockState getBlock(int x, int y, int z) {
return BukkitAdapter.adapt(delegate.getBlock(x, y, z).getBlockData());
}
@Override
public int getX() {
return delegate.getX();
}
@Override
public int getZ() {
return delegate.getZ();
}
@Override
public ServerWorld getWorld() {
return BukkitAdapter.adapt(delegate.getWorld());

View File

@@ -25,16 +25,16 @@ import com.dfsek.terra.api.world.biome.PlatformBiome;
public class BukkitPlatformBiome implements PlatformBiome, PropertyHolder {
private final org.bukkit.block.Biome biome;
private final Context context = new Context();
public BukkitPlatformBiome(org.bukkit.block.Biome biome) {
this.biome = biome;
}
@Override
public org.bukkit.block.Biome getHandle() {
return biome;
}
@Override
public Context getContext() {
return context;

View File

@@ -32,20 +32,20 @@ public class BukkitProtoWorld implements ProtoWorld {
private static final AtomicBoolean warn = new AtomicBoolean(true);
private final LimitedRegion delegate;
private final BlockState air;
private final BiomeProvider biomeProvider;
public BukkitProtoWorld(LimitedRegion delegate, BlockState air, BiomeProvider provider) {
this.delegate = delegate;
this.air = air;
this.biomeProvider = provider;
}
@Override
public LimitedRegion getHandle() {
return delegate;
}
@Override
public void setBlockState(int x, int y, int z, BlockState data, boolean physics) {
access(x, y, z, () -> {
@@ -60,91 +60,91 @@ public class BukkitProtoWorld implements ProtoWorld {
}
});
}
@Override
public long getSeed() {
return delegate.getWorld().getSeed();
}
@Override
public int getMaxHeight() {
return delegate.getWorld().getMaxHeight();
}
@Override
public BlockState getBlockState(int x, int y, int z) {
return access(x, y, z, () -> BukkitBlockState.newInstance(delegate.getBlockData(x, y, z))).orElse(air);
}
@Override
public BlockEntity getBlockEntity(int x, int y, int z) {
return access(x, y, z, () -> BukkitBlockEntity.newInstance(delegate.getBlockState(x, y, z))).orElse(null);
}
@Override
public int getMinHeight() {
return delegate.getWorld().getMinHeight();
}
@Override
public Entity spawnEntity(double x, double y, double z, EntityType entityType) {
return access((int) x, (int) y, (int) z, () -> new BukkitEntity(
delegate.spawnEntity(new Location(delegate.getWorld(), x, y, z), ((BukkitEntityType) entityType).getHandle()))).orElse(
null);
delegate.spawnEntity(new Location(delegate.getWorld(), x, y, z), ((BukkitEntityType) entityType).getHandle()))).orElse(
null);
}
@Override
public ChunkGenerator getGenerator() {
return ((BukkitChunkGeneratorWrapper) delegate.getWorld().getGenerator()).getHandle();
}
@Override
public BiomeProvider getBiomeProvider() {
return biomeProvider;
}
@Override
public ConfigPack getPack() {
return ((BukkitChunkGeneratorWrapper) delegate.getWorld().getGenerator()).getPack();
}
@Override
public int centerChunkX() {
return delegate.getCenterChunkX();
}
@Override
public int centerChunkZ() {
return delegate.getCenterChunkZ();
}
@Override
public ServerWorld getWorld() {
return new BukkitServerWorld(delegate.getWorld());
}
private <T> Optional<T> access(int x, int y, int z, Supplier<T> action) {
if(delegate.isInRegion(x, y, z)) {
return Optional.of(action.get());
} else if(warn.getAndSet(false)) {
LOGGER.warn("Detected world access at coordinates out of bounds: ({}, {}, {}) accessed for region [{}, {}]", x, y, z,
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
} else {
LOGGER.debug("Detected world access at coordinates out of bounds: ({}, {}, {}) accessed for region [{}, {}]", x, y, z,
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
}
return Optional.empty();
}
private void access(int x, int y, int z, Runnable action) {
if(delegate.isInRegion(x, y, z)) {
action.run();
} else if(warn.getAndSet(false)) {
LOGGER.warn("Detected world access at coordinates out of bounds: ({}, {}, {}) accessed for region [{}, {}]", x, y, z,
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
} else {
LOGGER.debug("Detected world access at coordinates out of bounds: ({}, {}, {}) accessed for region [{}, {}]", x, y, z,
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
delegate.getCenterChunkX(), delegate.getCenterChunkZ());
}
}
}

View File

@@ -36,83 +36,83 @@ import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
public class BukkitServerWorld implements ServerWorld {
private final org.bukkit.World delegate;
public BukkitServerWorld(org.bukkit.World delegate) {
this.delegate = delegate;
}
@Override
public Entity spawnEntity(double x, double y, double z, EntityType entityType) {
return new BukkitEntity(
delegate.spawnEntity(new Location(delegate, x, y, z), ((BukkitEntityType) entityType).getHandle()));
delegate.spawnEntity(new Location(delegate, x, y, z), ((BukkitEntityType) entityType).getHandle()));
}
@Override
public void setBlockState(int x, int y, int z, BlockState data, boolean physics) {
delegate.getBlockAt(x, y, z).setBlockData(BukkitAdapter.adapt(data), physics);
}
@Override
public long getSeed() {
return delegate.getSeed();
}
@Override
public int getMaxHeight() {
return delegate.getMaxHeight();
}
@Override
public Chunk getChunkAt(int x, int z) {
return BukkitAdapter.adapt(delegate.getChunkAt(x, z));
}
@Override
public BlockState getBlockState(int x, int y, int z) {
return BukkitAdapter.adapt(delegate.getBlockAt(x, y, z).getBlockData());
}
@Override
public BlockEntity getBlockEntity(int x, int y, int z) {
return BukkitBlockEntity.newInstance(delegate.getBlockAt(x, y, z).getState());
}
@Override
public int getMinHeight() {
return delegate.getMinHeight();
}
@Override
public ChunkGenerator getGenerator() {
return ((BukkitChunkGeneratorWrapper) delegate.getGenerator()).getHandle();
}
@Override
public BiomeProvider getBiomeProvider() {
return ((BukkitChunkGeneratorWrapper) delegate.getGenerator()).getPack().getBiomeProvider();
}
@Override
public ConfigPack getPack() {
return ((BukkitChunkGeneratorWrapper) delegate.getGenerator()).getPack();
}
@Override
public org.bukkit.World getHandle() {
return delegate;
}
@Override
public int hashCode() {
return delegate.hashCode();
}
@Override
public boolean equals(Object obj) {
if(!(obj instanceof BukkitServerWorld other)) return false;
return other.getHandle().equals(delegate);
}
@Override
public String toString() {
return delegate.toString();

View File

@@ -7,36 +7,36 @@ import com.dfsek.terra.api.world.info.WorldProperties;
public class BukkitWorldProperties implements WorldProperties {
private final WorldInfo delegate;
public BukkitWorldProperties(WorldInfo delegate) {
this.delegate = delegate;
}
@Override
public Object getHandle() {
return delegate;
}
@Override
public long getSeed() {
return delegate.getSeed();
}
@Override
public int getMaxHeight() {
return delegate.getMaxHeight();
}
@Override
public int getMinHeight() {
return delegate.getMinHeight();
}
@Override
public int hashCode() {
return delegate.hashCode();
}
@Override
public boolean equals(Object obj) {
if(obj instanceof WorldProperties that) {

View File

@@ -28,46 +28,46 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitBlockTypeAndItem implements BlockType, Item {
private final Material delegate;
public BukkitBlockTypeAndItem(Material delegate) {
this.delegate = delegate;
}
@Override
public Material getHandle() {
return delegate;
}
@Override
public BlockState getDefaultState() {
return BukkitAdapter.adapt(delegate.createBlockData());
}
@Override
public boolean isSolid() {
return delegate.isOccluding();
}
@Override
public boolean isWater() {
return delegate == Material.WATER;
}
@Override
public ItemStack newItemStack(int amount) {
return BukkitAdapter.adapt(new org.bukkit.inventory.ItemStack(delegate, amount));
}
@Override
public double getMaxDurability() {
return delegate.getMaxDurability();
}
@Override
public int hashCode() {
return delegate.hashCode();
}
@Override
public boolean equals(Object obj) {
if(!(obj instanceof BukkitBlockTypeAndItem)) return false;

View File

@@ -25,51 +25,51 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitBlockState implements BlockState {
private final org.bukkit.block.data.BlockData delegate;
protected BukkitBlockState(org.bukkit.block.data.BlockData delegate) {
this.delegate = delegate;
}
public static BlockState newInstance(org.bukkit.block.data.BlockData bukkitData) {
return new BukkitBlockState(bukkitData);
}
@Override
public org.bukkit.block.data.BlockData getHandle() {
return delegate;
}
@Override
public boolean matches(BlockState data) {
return delegate.getMaterial() == ((BukkitBlockState) data).getHandle().getMaterial();
}
@Override
public <T extends Comparable<T>> boolean has(Property<T> property) {
return false;
}
@Override
public <T extends Comparable<T>> T get(Property<T> property) {
return null;
}
@Override
public <T extends Comparable<T>> BlockState set(Property<T> property, T value) {
return null;
}
@Override
public BlockType getBlockType() {
return BukkitAdapter.adapt(delegate.getMaterial());
}
@Override
public String getAsString(boolean properties) {
return delegate.getAsString(!properties);
}
@Override
public boolean isAir() {
return delegate.getMaterial().isAir();

View File

@@ -30,48 +30,48 @@ import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
public class BukkitBlockEntity implements BlockEntity {
private final org.bukkit.block.BlockState delegate;
protected BukkitBlockEntity(org.bukkit.block.BlockState block) {
this.delegate = block;
}
public static BukkitBlockEntity newInstance(org.bukkit.block.BlockState block) {
if(block instanceof Container) return new BukkitContainer((Container) block);
if(block instanceof Sign) return new BukkitSign((Sign) block);
if(block instanceof CreatureSpawner) return new BukkitMobSpawner((CreatureSpawner) block);
return new BukkitBlockEntity(block);
}
@Override
public org.bukkit.block.BlockState getHandle() {
return delegate;
}
@Override
public boolean update(boolean applyPhysics) {
return delegate.update(true, applyPhysics);
}
@Override
public Vector3 getPosition() {
return BukkitAdapter.adapt(delegate.getBlock().getLocation().toVector());
}
@Override
public int getX() {
return delegate.getX();
}
@Override
public int getY() {
return delegate.getY();
}
@Override
public int getZ() {
return delegate.getZ();
}
@Override
public BlockState getBlockState() {
return BukkitBlockState.newInstance(delegate.getBlockData());

View File

@@ -23,16 +23,16 @@ import com.dfsek.terra.bukkit.world.inventory.BukkitInventory;
public class BukkitContainer extends BukkitBlockEntity implements Container {
protected BukkitContainer(org.bukkit.block.Container block) {
super(block);
}
@Override
public Inventory getInventory() {
return new BukkitInventory(((org.bukkit.block.Container) getHandle()).getInventory());
}
@Override
public boolean update(boolean applyPhysics) {
return false; // This clears the inventory. we don't want that.

View File

@@ -30,87 +30,87 @@ public class BukkitMobSpawner extends BukkitBlockEntity implements MobSpawner {
protected BukkitMobSpawner(CreatureSpawner block) {
super(block);
}
@Override
public EntityType getSpawnedType() {
return new BukkitEntityType(((CreatureSpawner) getHandle()).getSpawnedType());
}
@Override
public void setSpawnedType(@NotNull EntityType creatureType) {
((CreatureSpawner) getHandle()).setSpawnedType(((BukkitEntityType) creatureType).getHandle());
}
@Override
public int getDelay() {
return ((CreatureSpawner) getHandle()).getDelay();
}
@Override
public void setDelay(int delay) {
((CreatureSpawner) getHandle()).setDelay(delay);
}
@Override
public int getMinSpawnDelay() {
return ((CreatureSpawner) getHandle()).getMinSpawnDelay();
}
@Override
public void setMinSpawnDelay(int delay) {
((CreatureSpawner) getHandle()).setMinSpawnDelay(delay);
}
@Override
public int getMaxSpawnDelay() {
return ((CreatureSpawner) getHandle()).getMaxSpawnDelay();
}
@Override
public void setMaxSpawnDelay(int delay) {
((CreatureSpawner) getHandle()).setMaxSpawnDelay(delay);
}
@Override
public int getSpawnCount() {
return ((CreatureSpawner) getHandle()).getSpawnCount();
}
@Override
public void setSpawnCount(int spawnCount) {
((CreatureSpawner) getHandle()).setSpawnCount(spawnCount);
}
@Override
public int getMaxNearbyEntities() {
return ((CreatureSpawner) getHandle()).getMaxNearbyEntities();
}
@Override
public void setMaxNearbyEntities(int maxNearbyEntities) {
((CreatureSpawner) getHandle()).setMaxNearbyEntities(maxNearbyEntities);
}
@Override
public int getRequiredPlayerRange() {
return ((CreatureSpawner) getHandle()).getRequiredPlayerRange();
}
@Override
public void setRequiredPlayerRange(int requiredPlayerRange) {
((CreatureSpawner) getHandle()).setRequiredPlayerRange(requiredPlayerRange);
}
@Override
public int getSpawnRange() {
return ((CreatureSpawner) getHandle()).getSpawnRange();
}
@Override
public void setSpawnRange(int spawnRange) {
((CreatureSpawner) getHandle()).setSpawnRange(spawnRange);
}
@Override
public void applyState(String state) {
SerialState.parse(state).forEach((k, v) -> {

View File

@@ -28,22 +28,22 @@ public class BukkitSign extends BukkitBlockEntity implements Sign {
protected BukkitSign(org.bukkit.block.Sign block) {
super(block);
}
@Override
public void setLine(int index, @NotNull String line) throws IndexOutOfBoundsException {
((org.bukkit.block.Sign) getHandle()).setLine(index, line);
}
@Override
public @NotNull String[] getLines() {
return ((org.bukkit.block.Sign) getHandle()).getLines();
}
@Override
public @NotNull String getLine(int index) throws IndexOutOfBoundsException {
return ((org.bukkit.block.Sign) getHandle()).getLine(index);
}
@Override
public void applyState(String state) {
SerialState.parse(state).forEach((k, v) -> {

View File

@@ -22,11 +22,11 @@ import com.dfsek.terra.api.entity.EntityType;
public class BukkitEntityType implements EntityType {
private final org.bukkit.entity.EntityType delegate;
public BukkitEntityType(org.bukkit.entity.EntityType delegate) {
this.delegate = delegate;
}
@Override
public org.bukkit.entity.EntityType getHandle() {
return delegate;

View File

@@ -23,27 +23,27 @@ import com.dfsek.terra.api.inventory.ItemStack;
public class BukkitInventory implements Inventory {
private final org.bukkit.inventory.Inventory delegate;
public BukkitInventory(org.bukkit.inventory.Inventory delegate) {
this.delegate = delegate;
}
@Override
public void setItem(int slot, ItemStack newStack) {
delegate.setItem(slot, ((BukkitItemStack) newStack).getHandle());
}
@Override
public int getSize() {
return delegate.getSize();
}
@Override
public ItemStack getItem(int slot) {
org.bukkit.inventory.ItemStack itemStack = delegate.getItem(slot);
return itemStack == null ? null : new BukkitItemStack(itemStack);
}
@Override
public org.bukkit.inventory.Inventory getHandle() {
return delegate;

View File

@@ -31,26 +31,26 @@ import com.dfsek.terra.bukkit.world.inventory.meta.BukkitEnchantment;
public class BukkitItemMeta implements ItemMeta {
private final org.bukkit.inventory.meta.ItemMeta delegate;
protected BukkitItemMeta(org.bukkit.inventory.meta.ItemMeta delegate) {
this.delegate = delegate;
}
public static BukkitItemMeta newInstance(org.bukkit.inventory.meta.ItemMeta delegate) {
if(delegate instanceof Damageable) return new BukkitDamageable((Damageable) delegate);
return new BukkitItemMeta(delegate);
}
@Override
public org.bukkit.inventory.meta.ItemMeta getHandle() {
return delegate;
}
@Override
public void addEnchantment(Enchantment enchantment, int level) {
delegate.addEnchant(((BukkitEnchantment) enchantment).getHandle(), level, true);
}
@Override
public Map<Enchantment, Integer> getEnchantments() {
Map<Enchantment, Integer> map = new HashMap<>();

View File

@@ -25,36 +25,36 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class BukkitItemStack implements ItemStack {
private final org.bukkit.inventory.ItemStack delegate;
public BukkitItemStack(org.bukkit.inventory.ItemStack delegate) {
this.delegate = delegate;
}
@Override
public int getAmount() {
return delegate.getAmount();
}
@Override
public void setAmount(int i) {
delegate.setAmount(i);
}
@Override
public Item getType() {
return BukkitAdapter.adapt(delegate.getType());
}
@Override
public ItemMeta getItemMeta() {
return BukkitItemMeta.newInstance(delegate.getItemMeta());
}
@Override
public void setItemMeta(ItemMeta meta) {
delegate.setItemMeta(((BukkitItemMeta) meta).getHandle());
}
@Override
public org.bukkit.inventory.ItemStack getHandle() {
return delegate;

View File

@@ -25,17 +25,17 @@ public class BukkitDamageable extends BukkitItemMeta implements Damageable {
public BukkitDamageable(org.bukkit.inventory.meta.Damageable delegate) {
super(delegate);
}
@Override
public int getDamage() {
return ((org.bukkit.inventory.meta.Damageable) getHandle()).getDamage();
}
@Override
public void setDamage(int damage) {
((org.bukkit.inventory.meta.Damageable) getHandle()).setDamage(damage);
}
@Override
public boolean hasDamage() {
return ((org.bukkit.inventory.meta.Damageable) getHandle()).hasDamage();

View File

@@ -24,31 +24,31 @@ import com.dfsek.terra.bukkit.world.inventory.BukkitItemStack;
public class BukkitEnchantment implements Enchantment {
private final org.bukkit.enchantments.Enchantment delegate;
public BukkitEnchantment(org.bukkit.enchantments.Enchantment delegate) {
this.delegate = delegate;
}
@Override
public org.bukkit.enchantments.Enchantment getHandle() {
return delegate;
}
@Override
public boolean canEnchantItem(ItemStack itemStack) {
return delegate.canEnchantItem(((BukkitItemStack) itemStack).getHandle());
}
@Override
public boolean conflictsWith(Enchantment other) {
return delegate.conflictsWith(((BukkitEnchantment) other).getHandle());
}
@Override
public String getID() {
return delegate.getKey().toString();
}
@Override
public int getMaxLevel() {
return delegate.getMaxLevel();