mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-11 20:13:55 +00:00
Merge current FAWE master (227d6d91
) into new-vector-system
Signed-off-by: Byron Marohn <combustible@live.com>
This commit is contained in:
@ -91,7 +91,7 @@ public class FaweBukkit implements IFawe, Listener {
|
||||
}
|
||||
if (Bukkit.getVersion().contains("git-Spigot")) {
|
||||
debug("====== USE PAPER ======");
|
||||
debug("DOWNLOAD: https://ci.destroystokyo.com/job/PaperSpigot/");
|
||||
debug("DOWNLOAD: https://ci.destroystokyo.com/job/Paper-1.13/");
|
||||
debug("GUIDE: https://www.spigotmc.org/threads/21726/");
|
||||
debug(" - This is only a recommendation");
|
||||
debug("==============================");
|
||||
@ -124,13 +124,13 @@ public class FaweBukkit implements IFawe, Listener {
|
||||
new ChunkListener_9();
|
||||
}
|
||||
|
||||
try {
|
||||
/*try {
|
||||
Class.forName("com.destroystokyo.paper.event.server.AsyncTabCompleteEvent");
|
||||
new AsyncTabCompleteListener(WorldEditPlugin.getInstance());
|
||||
} catch (Throwable ignore)
|
||||
{
|
||||
Bukkit.getPluginManager().registerEvents(new SyncTabCompleteListener(WorldEditPlugin.getInstance()), plugin);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -419,7 +419,7 @@ public final class Spigot_v1_13_R2 extends CachedBukkitAdapter implements Bukkit
|
||||
} else if (foreign instanceof NBTTagDouble) {
|
||||
return new DoubleTag(((NBTTagDouble) foreign).asDouble()); // getDouble
|
||||
} else if (foreign instanceof NBTTagFloat) {
|
||||
return new FloatTag(((NBTTagFloat) foreign).asByte()); // getFloat
|
||||
return new FloatTag(((NBTTagFloat) foreign).asFloat()); // getFloat
|
||||
} else if (foreign instanceof NBTTagInt) {
|
||||
return new IntTag(((NBTTagInt) foreign).asInt()); // getInt
|
||||
} else if (foreign instanceof NBTTagIntArray) {
|
||||
|
@ -38,4 +38,5 @@ public class FallbackRegistrationListener implements Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,16 +19,16 @@
|
||||
|
||||
package com.sk89q.wepif;
|
||||
|
||||
import com.sk89q.util.yaml.YAMLNode;
|
||||
import com.sk89q.util.yaml.YAMLProcessor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sk89q.util.yaml.YAMLNode;
|
||||
import com.sk89q.util.yaml.YAMLProcessor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
|
||||
public class ConfigurationPermissionsResolver implements PermissionsResolver {
|
||||
private YAMLProcessor config;
|
||||
private Map<String, Set<String>> userPermissionsCache;
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
package com.sk89q.wepif;
|
||||
|
||||
import com.nijikokun.bukkit.Permissions.Permissions;
|
||||
import com.sk89q.util.yaml.YAMLProcessor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@ -27,7 +28,6 @@ import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import com.nijikokun.bukkit.Permissions.Permissions;
|
||||
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
@ -21,7 +21,6 @@ package com.sk89q.wepif;
|
||||
|
||||
import com.sk89q.util.yaml.YAMLFormat;
|
||||
import com.sk89q.util.yaml.YAMLProcessor;
|
||||
import com.sk89q.worldedit.world.registry.LegacyMapper;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -103,6 +102,7 @@ public class PermissionsResolverManager implements PermissionsResolver {
|
||||
protected PermissionsResolverManager(Plugin plugin) {
|
||||
this.server = plugin.getServer();
|
||||
(new ServerListener()).register(plugin); // Register the events
|
||||
|
||||
loadConfig(new File("wepif.yml"));
|
||||
findResolver();
|
||||
}
|
||||
|
@ -25,11 +25,12 @@ import com.sk89q.worldedit.world.biome.BiomeData;
|
||||
import com.sk89q.worldedit.world.registry.BiomeRegistry;
|
||||
import org.bukkit.block.Biome;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* A biome registry for Bukkit.
|
||||
*/
|
||||
|
@ -19,6 +19,8 @@
|
||||
|
||||
package com.sk89q.worldedit.bukkit;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.sk89q.bukkit.util.CommandInspector;
|
||||
import com.sk89q.minecraft.util.commands.CommandLocals;
|
||||
import com.sk89q.worldedit.extension.platform.Actor;
|
||||
@ -30,8 +32,6 @@ import org.bukkit.command.CommandSender;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
class BukkitCommandInspector implements CommandInspector {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(BukkitCommandInspector.class.getCanonicalName());
|
||||
|
@ -19,6 +19,8 @@
|
||||
|
||||
package com.sk89q.worldedit.bukkit;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter;
|
||||
import com.sk89q.worldedit.entity.BaseEntity;
|
||||
import com.sk89q.worldedit.entity.Entity;
|
||||
@ -28,10 +30,9 @@ import com.sk89q.worldedit.extent.Extent;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.NullWorld;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* An adapter to adapt a Bukkit entity into a WorldEdit one.
|
||||
|
@ -19,6 +19,8 @@
|
||||
|
||||
package com.sk89q.worldedit.bukkit;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.sk89q.worldedit.entity.metadata.EntityProperties;
|
||||
import org.bukkit.entity.Ambient;
|
||||
import org.bukkit.entity.Animals;
|
||||
@ -42,8 +44,6 @@ import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
class BukkitEntityProperties implements EntityProperties {
|
||||
|
||||
private final Entity entity;
|
||||
|
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* WorldEdit, a Minecraft world manipulation toolkit
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.bukkit;
|
||||
|
||||
/**
|
||||
* Adds methods to test if different API methods are possible based on implementation.
|
||||
*/
|
||||
public class BukkitImplementationTester {
|
||||
|
||||
private BukkitImplementationTester() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Known Bukkit implementations
|
||||
*/
|
||||
public enum BukkitImplementation {
|
||||
CRAFTBUKKIT,
|
||||
SPIGOT,
|
||||
PAPER,
|
||||
}
|
||||
|
||||
private static final String implementationMessage = "************************************************" +
|
||||
"* Note: PaperMC (https://papermc.io/) is *" +
|
||||
"* recommended for optimal performance with *" +
|
||||
"* WorldEdit, WorldGuard, or CraftBook. *" +
|
||||
"************************************************";
|
||||
|
||||
private static BukkitImplementation implementation;
|
||||
|
||||
/**
|
||||
* Gets the implementation currently in use on the server.
|
||||
*
|
||||
* @return The server implementation
|
||||
*/
|
||||
public static BukkitImplementation getImplementation() {
|
||||
if (implementation == null) {
|
||||
try {
|
||||
Class.forName("com.destroystokyo.paper.PaperConfig");
|
||||
implementation = BukkitImplementation.PAPER;
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Class.forName("org.spigotmc.SpigotConfig");
|
||||
implementation = BukkitImplementation.SPIGOT;
|
||||
} catch (Exception e2) {
|
||||
implementation = BukkitImplementation.CRAFTBUKKIT;
|
||||
}
|
||||
}
|
||||
|
||||
if (implementation != BukkitImplementation.PAPER) {
|
||||
// Bukkit.getServer().getConsoleSender().sendMessage(implementationMessage); // TODO Decide if good idea.
|
||||
}
|
||||
}
|
||||
|
||||
return implementation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this implementation is compatible with Spigot APIs
|
||||
*
|
||||
* @return If compatible with Spigot APIs
|
||||
*/
|
||||
public static boolean isSpigotCompatible() {
|
||||
return getImplementation() == BukkitImplementation.SPIGOT || getImplementation() == BukkitImplementation.PAPER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this implementation is compatible with Paper APIs
|
||||
*
|
||||
* @return If compatible with Paper APIs
|
||||
*/
|
||||
public static boolean isPaperCompatible() {
|
||||
return getImplementation() == BukkitImplementation.PAPER;
|
||||
}
|
||||
}
|
@ -21,7 +21,11 @@ package com.sk89q.worldedit.bukkit;
|
||||
|
||||
import com.sk89q.worldedit.blocks.BaseItem;
|
||||
import com.sk89q.worldedit.blocks.BaseItemStack;
|
||||
import com.sk89q.worldedit.extent.inventory.*;
|
||||
import com.sk89q.worldedit.extent.inventory.BlockBag;
|
||||
import com.sk89q.worldedit.extent.inventory.BlockBagException;
|
||||
import com.sk89q.worldedit.extent.inventory.OutOfBlocksException;
|
||||
import com.sk89q.worldedit.extent.inventory.OutOfSpaceException;
|
||||
import com.sk89q.worldedit.extent.inventory.SlottableBlockBag;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -177,6 +177,9 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter
|
||||
// platforms to be worried about... at the current time of writing
|
||||
WorldEdit.getInstance().getEventBus().post(new PlatformReadyEvent());
|
||||
|
||||
// Setup the BukkitImplementationTester.
|
||||
BukkitImplementationTester.getImplementation();
|
||||
|
||||
{ // Register 1.13 Material ids with LegacyMapper
|
||||
LegacyMapper legacyMapper = LegacyMapper.getInstance();
|
||||
for (Material m : Material.values()) {
|
||||
|
@ -98,7 +98,7 @@ public interface BukkitImplAdapter<T> extends IBukkitAdapter {
|
||||
Entity createEntity(Location location, BaseEntity state);
|
||||
|
||||
/**
|
||||
* Get a map of string -> properties
|
||||
* Get a map of {@code string -> property}.
|
||||
*
|
||||
* @param blockType The block type
|
||||
* @return The properties map
|
||||
|
Reference in New Issue
Block a user