mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-11 20:13:55 +00:00
INDEV -- Pushed for in-house testing and development
This commit is contained in:
@ -8,7 +8,6 @@ import com.boydti.fawe.wrappers.PlayerWrapper;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.intellectualcrafters.plot.config.C;
|
||||
import com.sk89q.worldedit.WorldEdit;
|
||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.boydti.fawe.bukkit.filter;
|
||||
|
||||
import com.boydti.fawe.object.RunnableVal;
|
||||
import com.boydti.fawe.regions.general.CuboidRegionFilter;
|
||||
import com.intellectualcrafters.plot.object.RunnableVal;
|
||||
import com.intellectualcrafters.plot.util.TaskManager;
|
||||
import com.boydti.fawe.util.TaskManager;
|
||||
import com.sk89q.worldedit.math.BlockVector2;
|
||||
|
||||
import java.util.ArrayDeque;
|
||||
|
@ -23,6 +23,7 @@ import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.metadata.MetadataValue;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
import org.bukkit.util.RayTraceResult;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
@ -358,4 +359,9 @@ public class AsyncBlock implements Block {
|
||||
public RayTraceResult rayTrace(Location arg0, Vector arg1, double arg2, FluidCollisionMode arg3) {
|
||||
return this.getUnsafeBlock().rayTrace(arg0, arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BoundingBox getBoundingBox() {
|
||||
return this.getUnsafeBlock().getBoundingBox();
|
||||
}
|
||||
}
|
||||
|
@ -1278,4 +1278,14 @@ public class AsyncWorld extends DelegateFaweQueue implements World, HasFaweQueue
|
||||
parent.spawnParticle(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setChunkForceLoaded(int x, int z, boolean forced) {
|
||||
parent.setChunkForceLoaded(x, z, forced);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Chunk> getForceLoadedChunks() {
|
||||
return parent.getForceLoadedChunks();
|
||||
}
|
||||
}
|
||||
|
@ -79,42 +79,42 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter
|
||||
private BukkitConfiguration config;
|
||||
|
||||
private static Map<String, Plugin> lookupNames;
|
||||
static {
|
||||
{ // Disable AWE as otherwise both fail to load
|
||||
PluginManager manager = Bukkit.getPluginManager();
|
||||
try {
|
||||
Field pluginsField = manager.getClass().getDeclaredField("plugins");
|
||||
Field lookupNamesField = manager.getClass().getDeclaredField("lookupNames");
|
||||
pluginsField.setAccessible(true);
|
||||
lookupNamesField.setAccessible(true);
|
||||
List<Plugin> plugins = (List<Plugin>) pluginsField.get(manager);
|
||||
lookupNames = (Map<String, Plugin>) lookupNamesField.get(manager);
|
||||
pluginsField.set(manager, plugins = new ArrayList<Plugin>(plugins) {
|
||||
@Override
|
||||
public boolean add(Plugin plugin) {
|
||||
if (plugin.getName().startsWith("AsyncWorldEdit")) {
|
||||
Fawe.debug("Disabling `" + plugin.getName() + "` as it is incompatible");
|
||||
} else if (plugin.getName().startsWith("BetterShutdown")) {
|
||||
Fawe.debug("Disabling `" + plugin.getName() + "` as it is incompatible (Improperly shaded classes from com.sk89q.minecraft.util.commands)");
|
||||
} else {
|
||||
return super.add(plugin);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
lookupNamesField.set(manager, lookupNames = new ConcurrentHashMap<String, Plugin>(lookupNames) {
|
||||
@Override
|
||||
public Plugin put(String key, Plugin plugin) {
|
||||
if (plugin.getName().startsWith("AsyncWorldEdit") || plugin.getName().startsWith("BetterShutdown")) {
|
||||
return null;
|
||||
}
|
||||
return super.put(key, plugin);
|
||||
}
|
||||
});
|
||||
} catch (Throwable ignore) {}
|
||||
}
|
||||
}
|
||||
|
||||
// static {
|
||||
// { // Disable AWE as otherwise both fail to load
|
||||
// PluginManager manager = Bukkit.getPluginManager();
|
||||
// try {
|
||||
// Field pluginsField = manager.getClass().getDeclaredField("plugins");
|
||||
// Field lookupNamesField = manager.getClass().getDeclaredField("lookupNames");
|
||||
// pluginsField.setAccessible(true);
|
||||
// lookupNamesField.setAccessible(true);
|
||||
// List<Plugin> plugins = (List<Plugin>) pluginsField.get(manager);
|
||||
// lookupNames = (Map<String, Plugin>) lookupNamesField.get(manager);
|
||||
// pluginsField.set(manager, plugins = new ArrayList<Plugin>(plugins) {
|
||||
// @Override
|
||||
// public boolean add(Plugin plugin) {
|
||||
// if (plugin.getName().startsWith("AsyncWorldEdit")) {
|
||||
// Fawe.debug("Disabling `" + plugin.getName() + "` as it is incompatible");
|
||||
// } else if (plugin.getName().startsWith("BetterShutdown")) {
|
||||
// Fawe.debug("Disabling `" + plugin.getName() + "` as it is incompatible (Improperly shaded classes from com.sk89q.minecraft.util.commands)");
|
||||
// } else {
|
||||
// return super.add(plugin);
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
// lookupNamesField.set(manager, lookupNames = new ConcurrentHashMap<String, Plugin>(lookupNames) {
|
||||
// @Override
|
||||
// public Plugin put(String key, Plugin plugin) {
|
||||
// if (plugin.getName().startsWith("AsyncWorldEdit") || plugin.getName().startsWith("BetterShutdown")) {
|
||||
// return null;
|
||||
// }
|
||||
// return super.put(key, plugin);
|
||||
// }
|
||||
// });
|
||||
// } catch (Throwable ignore) {}
|
||||
// }
|
||||
// }
|
||||
//
|
||||
public WorldEditPlugin() {
|
||||
init();
|
||||
}
|
||||
@ -145,6 +145,7 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter
|
||||
@SuppressWarnings("AccessStaticViaInstance")
|
||||
@Override
|
||||
public void onEnable() {
|
||||
rename();
|
||||
this.INSTANCE = this;
|
||||
FaweBukkit imp = new FaweBukkit(this);
|
||||
|
||||
@ -188,6 +189,7 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("finished enable");
|
||||
}
|
||||
|
||||
private void rename() {
|
||||
|
Reference in New Issue
Block a user