diff --git a/lib/Factions 2.7.5.jar b/lib/Factions 2.7.5.jar
deleted file mode 100644
index 6c5b798f..00000000
Binary files a/lib/Factions 2.7.5.jar and /dev/null differ
diff --git a/lib/FactionsFramework1.2.0.jar b/lib/FactionsFramework1.2.0.jar
new file mode 100644
index 00000000..c9b6f855
Binary files /dev/null and b/lib/FactionsFramework1.2.0.jar differ
diff --git a/lib/GLib.jar b/lib/GLib.jar
deleted file mode 100644
index ffffb0ee..00000000
Binary files a/lib/GLib.jar and /dev/null differ
diff --git a/lib/GriefPrevention.jar b/lib/GriefPrevention.jar
deleted file mode 100644
index b19c83d1..00000000
Binary files a/lib/GriefPrevention.jar and /dev/null differ
diff --git a/lib/MassiveCore 2.7.5.jar b/lib/MassiveCore 2.7.5.jar
deleted file mode 100644
index e23d12b6..00000000
Binary files a/lib/MassiveCore 2.7.5.jar and /dev/null differ
diff --git a/lib/Modern-LWC-2.1.1.jar b/lib/Modern-LWC-2.1.2.jar
similarity index 58%
rename from lib/Modern-LWC-2.1.1.jar
rename to lib/Modern-LWC-2.1.2.jar
index ff56f8f3..063ac3bc 100644
Binary files a/lib/Modern-LWC-2.1.1.jar and b/lib/Modern-LWC-2.1.2.jar differ
diff --git a/lib/NoCheatPlus.jar b/lib/NoCheatPlus.jar
deleted file mode 100644
index 853ec54c..00000000
Binary files a/lib/NoCheatPlus.jar and /dev/null differ
diff --git a/lib/Residence4.8.2.0.jar b/lib/Residence4.8.2.0.jar
deleted file mode 100644
index fd2a864a..00000000
Binary files a/lib/Residence4.8.2.0.jar and /dev/null differ
diff --git a/lib/Residence4.8.3.1.jar b/lib/Residence4.8.3.1.jar
new file mode 100644
index 00000000..dfa92702
Binary files /dev/null and b/lib/Residence4.8.3.1.jar differ
diff --git a/lib/guava-18.0.jar b/lib/guava-18.0.jar
deleted file mode 100644
index 8f89e490..00000000
Binary files a/lib/guava-18.0.jar and /dev/null differ
diff --git a/lib/spigot-1.13.1.jar b/lib/spigot-1.13.1.jar
deleted file mode 100644
index 526fe59a..00000000
Binary files a/lib/spigot-1.13.1.jar and /dev/null differ
diff --git a/lib/worldguard-6.1.jar b/lib/worldguard-6.1.jar
deleted file mode 100644
index 7824963f..00000000
Binary files a/lib/worldguard-6.1.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
index 2b94039a..e872547f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,40 +5,48 @@
com.projectkorra
projectkorra
1.8.7
- jar
ProjectKorra
+
- spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+ sk89q-repo
+ http://maven.sk89q.com/repo/
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+ md_5-snapshots
+ https://repo.md-5.net/content/repositories/snapshots/
-
-
- org.spigotmc
- Spigot-Server
- LATEST
- system
- ${project.basedir}/lib/spigot-1.13.1.jar
+
+
+ org.spigotmc
+ spigot
+ 1.13.2-R0.1-SNAPSHOT
+ provided
- com.massivecraft
- factions
- LATEST
+ me.markeh
+ factionsframework
+ 1.2.0
system
- ${project.basedir}/lib/Factions 2.7.5.jar
+ ${project.basedir}/lib/FactionsFramework1.2.0.jar
- me.ryanhamshire
+ com.github.TechFortress
GriefPrevention
- LATEST
- system
- ${project.basedir}/lib/GriefPrevention.jar
+ 16.7.1
+ provided
@@ -46,25 +54,17 @@
lwc
LATEST
system
- ${project.basedir}/lib/Modern-LWC-2.1.1.jar
-
-
-
- com.massivecraft
- massivecore
- LATEST
- system
- ${project.basedir}/lib/MassiveCore 2.7.5.jar
+ ${project.basedir}/lib/Modern-LWC-2.1.2.jar
fr.neatmonster
nocheatplus
- LATEST
- system
- ${project.basedir}/lib/NoCheatPlus.jar
+ 3.16.1-SNAPSHOT
+ provided
+
com.bekvon.bukkit
residence
LATEST
system
- ${project.basedir}/lib/Residence4.8.2.0.jar
+ ${project.basedir}/lib/Residence4.8.3.1.jar
- com.plamergames.bukkit
+ com.palmergames
Towny
- LATEST
+ 0.93.0.0
system
${project.basedir}/lib/Towny.jar
-
- com.sk89q
- worldguard
- LATEST
- system
- ${project.basedir}/lib/worldguard-6.1.jar
+ com.sk89q.worldedit
+ worldedit-core
+ 7.0.0-SNAPSHOT
+ provided
+
+
+ com.sk89q.worldguard
+ worldguard-core
+ 7.0.0-beta-02
+ provided
+
+
+ com.sk89q.worldedit
+ worldedit-bukkit
+ 7.0.0-SNAPSHOT
+ provided
+
+
+ com.sk89q.worldguard
+ worldguard-legacy
+ 7.0.0-beta-02
+ provided
@@ -104,14 +121,6 @@
system
${project.basedir}/lib/Kingdoms.jar
-
-
- org.generallib
- GLib
- LATEST
- system
- ${project.basedir}/lib/GLib.jar
-
@@ -132,25 +141,12 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.1
+ 3.8.0
1.8
1.8
-
- maven-shade-plugin
- 2.3
-
-
- package
-
- shade
-
-
-
-
-
diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java
index 2fdae6d5..56868880 100644
--- a/src/com/projectkorra/projectkorra/GeneralMethods.java
+++ b/src/com/projectkorra/projectkorra/GeneralMethods.java
@@ -1,56 +1,63 @@
package com.projectkorra.projectkorra;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Color;
-import org.bukkit.GameMode;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.World;
+import com.bekvon.bukkit.residence.Residence;
+import com.bekvon.bukkit.residence.api.ResidenceInterface;
+import com.bekvon.bukkit.residence.protection.ClaimedResidence;
+import com.bekvon.bukkit.residence.protection.ResidencePermissions;
+import com.google.common.reflect.ClassPath;
+import com.griefcraft.lwc.LWC;
+import com.griefcraft.lwc.LWCPlugin;
+import com.griefcraft.model.Protection;
+import com.palmergames.bukkit.towny.Towny;
+import com.palmergames.bukkit.towny.TownyMessaging;
+import com.palmergames.bukkit.towny.TownySettings;
+import com.palmergames.bukkit.towny.object.*;
+import com.palmergames.bukkit.towny.object.PlayerCache.TownBlockStatus;
+import com.palmergames.bukkit.towny.utils.PlayerCacheUtil;
+import com.palmergames.bukkit.towny.war.flagwar.TownyWar;
+import com.palmergames.bukkit.towny.war.flagwar.TownyWarConfig;
+import com.projectkorra.projectkorra.Element.SubElement;
+import com.projectkorra.projectkorra.ability.*;
+import com.projectkorra.projectkorra.ability.util.*;
+import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation;
+import com.projectkorra.projectkorra.airbending.*;
+import com.projectkorra.projectkorra.configuration.ConfigManager;
+import com.projectkorra.projectkorra.earthbending.EarthBlast;
+import com.projectkorra.projectkorra.earthbending.passive.EarthPassive;
+import com.projectkorra.projectkorra.event.BendingPlayerCreationEvent;
+import com.projectkorra.projectkorra.event.BendingReloadEvent;
+import com.projectkorra.projectkorra.event.PlayerBindChangeEvent;
+import com.projectkorra.projectkorra.firebending.FireBlast;
+import com.projectkorra.projectkorra.firebending.FireShield;
+import com.projectkorra.projectkorra.firebending.combustion.Combustion;
+import com.projectkorra.projectkorra.object.Preset;
+import com.projectkorra.projectkorra.storage.DBConnection;
+import com.projectkorra.projectkorra.util.*;
+import com.projectkorra.projectkorra.util.ReflectionHandler.PackageType;
+import com.projectkorra.projectkorra.waterbending.WaterManipulation;
+import com.projectkorra.projectkorra.waterbending.WaterSpout;
+import com.sk89q.worldedit.bukkit.BukkitAdapter;
+import com.sk89q.worldguard.WorldGuard;
+import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
+import com.sk89q.worldguard.protection.flags.Flags;
+import me.markeh.factionsframework.entities.FPlayer;
+import me.markeh.factionsframework.entities.FPlayers;
+import me.markeh.factionsframework.entities.Faction;
+import me.markeh.factionsframework.entities.Factions;
+import me.ryanhamshire.GriefPrevention.Claim;
+import me.ryanhamshire.GriefPrevention.GriefPrevention;
+import net.md_5.bungee.api.chat.ClickEvent;
+import net.md_5.bungee.api.chat.ComponentBuilder;
+import net.md_5.bungee.api.chat.HoverEvent;
+import net.md_5.bungee.api.chat.TextComponent;
+import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Levelled;
import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.FallingBlock;
-import org.bukkit.entity.LivingEntity;
-import org.bukkit.entity.Player;
-import org.bukkit.entity.TNTPrimed;
+import org.bukkit.entity.*;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
@@ -65,84 +72,16 @@ import org.kingdoms.constants.land.SimpleLocation;
import org.kingdoms.constants.player.KingdomPlayer;
import org.kingdoms.manager.game.GameManagement;
-import com.bekvon.bukkit.residence.Residence;
-import com.bekvon.bukkit.residence.api.ResidenceInterface;
-import com.bekvon.bukkit.residence.protection.ClaimedResidence;
-import com.bekvon.bukkit.residence.protection.ResidencePermissions;
-import com.google.common.reflect.ClassPath;
-import com.griefcraft.lwc.LWC;
-import com.griefcraft.lwc.LWCPlugin;
-import com.griefcraft.model.Protection;
-import com.massivecraft.factions.engine.EngineMain;
-import com.massivecraft.massivecore.ps.PS;
-import com.palmergames.bukkit.towny.Towny;
-import com.palmergames.bukkit.towny.TownyMessaging;
-import com.palmergames.bukkit.towny.TownySettings;
-import com.palmergames.bukkit.towny.object.Coord;
-import com.palmergames.bukkit.towny.object.PlayerCache;
-import com.palmergames.bukkit.towny.object.PlayerCache.TownBlockStatus;
-import com.palmergames.bukkit.towny.object.TownyPermission;
-import com.palmergames.bukkit.towny.object.TownyUniverse;
-import com.palmergames.bukkit.towny.object.TownyWorld;
-import com.palmergames.bukkit.towny.object.WorldCoord;
-import com.palmergames.bukkit.towny.utils.PlayerCacheUtil;
-import com.palmergames.bukkit.towny.war.flagwar.TownyWar;
-import com.palmergames.bukkit.towny.war.flagwar.TownyWarConfig;
-import com.projectkorra.projectkorra.Element.SubElement;
-import com.projectkorra.projectkorra.ability.Ability;
-import com.projectkorra.projectkorra.ability.AddonAbility;
-import com.projectkorra.projectkorra.ability.CoreAbility;
-import com.projectkorra.projectkorra.ability.EarthAbility;
-import com.projectkorra.projectkorra.ability.ElementalAbility;
-import com.projectkorra.projectkorra.ability.FireAbility;
-import com.projectkorra.projectkorra.ability.PassiveAbility;
-import com.projectkorra.projectkorra.ability.WaterAbility;
-import com.projectkorra.projectkorra.ability.util.Collision;
-import com.projectkorra.projectkorra.ability.util.CollisionInitializer;
-import com.projectkorra.projectkorra.ability.util.CollisionManager;
-import com.projectkorra.projectkorra.ability.util.ComboManager;
-import com.projectkorra.projectkorra.ability.util.ComboManager.AbilityInformation;
-import com.projectkorra.projectkorra.ability.util.MultiAbilityManager;
-import com.projectkorra.projectkorra.ability.util.PassiveManager;
-import com.projectkorra.projectkorra.airbending.AirBlast;
-import com.projectkorra.projectkorra.airbending.AirShield;
-import com.projectkorra.projectkorra.airbending.AirSpout;
-import com.projectkorra.projectkorra.airbending.AirSuction;
-import com.projectkorra.projectkorra.airbending.AirSwipe;
-import com.projectkorra.projectkorra.configuration.ConfigManager;
-import com.projectkorra.projectkorra.earthbending.EarthBlast;
-import com.projectkorra.projectkorra.earthbending.passive.EarthPassive;
-import com.projectkorra.projectkorra.event.BendingPlayerCreationEvent;
-import com.projectkorra.projectkorra.event.BendingReloadEvent;
-import com.projectkorra.projectkorra.event.PlayerBindChangeEvent;
-import com.projectkorra.projectkorra.firebending.FireBlast;
-import com.projectkorra.projectkorra.firebending.FireShield;
-import com.projectkorra.projectkorra.firebending.combustion.Combustion;
-import com.projectkorra.projectkorra.object.Preset;
-import com.projectkorra.projectkorra.storage.DBConnection;
-import com.projectkorra.projectkorra.util.ActionBar;
-import com.projectkorra.projectkorra.util.BlockCacheElement;
-import com.projectkorra.projectkorra.util.ColoredParticle;
-import com.projectkorra.projectkorra.util.MovementHandler;
-import com.projectkorra.projectkorra.util.ParticleEffect;
-import com.projectkorra.projectkorra.util.ReflectionHandler;
-import com.projectkorra.projectkorra.util.ReflectionHandler.PackageType;
-import com.projectkorra.projectkorra.util.TempArmor;
-import com.projectkorra.projectkorra.util.TempArmorStand;
-import com.projectkorra.projectkorra.util.TempBlock;
-import com.projectkorra.projectkorra.waterbending.WaterManipulation;
-import com.projectkorra.projectkorra.waterbending.WaterSpout;
-import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
-import com.sk89q.worldguard.protection.flags.DefaultFlag;
-
-import me.ryanhamshire.GriefPrevention.Claim;
-import me.ryanhamshire.GriefPrevention.GriefPrevention;
-import net.md_5.bungee.api.chat.ClickEvent;
-import net.md_5.bungee.api.chat.ComponentBuilder;
-import net.md_5.bungee.api.chat.HoverEvent;
-import net.md_5.bungee.api.chat.TextComponent;
-import net.sacredlabyrinth.Phaed.PreciousStones.PreciousStones;
-import net.sacredlabyrinth.Phaed.PreciousStones.field.FieldFlag;
+import java.io.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
public class GeneralMethods {
@@ -549,7 +488,7 @@ public class GeneralMethods {
if (readFile.exists()) {
try (DataInputStream input = new DataInputStream(new FileInputStream(readFile)); BufferedReader reader = new BufferedReader(new InputStreamReader(input));
- DataOutputStream output = new DataOutputStream(new FileOutputStream(writeFile)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output))) {
+ DataOutputStream output = new DataOutputStream(new FileOutputStream(writeFile)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output))) {
String line;
while ((line = reader.readLine()) != null) {
@@ -563,7 +502,7 @@ public class GeneralMethods {
}
}
}
-
+
@Deprecated
public static void displayColoredParticle(final Location loc, ParticleEffect type, final String hexVal, final float xOffset, final float yOffset, final float zOffset) {
int r = 0;
@@ -593,7 +532,7 @@ public class GeneralMethods {
}
type.display(loc, 0, red, green, blue);
}
-
+
@Deprecated
public static void displayColoredParticle(final Location loc, final String hexVal) {
displayColoredParticle(loc, ParticleEffect.RED_DUST, hexVal, 0, 0, 0);
@@ -608,11 +547,11 @@ public class GeneralMethods {
int r = 0;
int g = 0;
int b = 0;
-
+
if (hexVal.startsWith("#")) {
hexVal = hexVal.substring(1);
}
-
+
if (hexVal.length() <= 6) {
r = Integer.valueOf(hexVal.substring(0, 2), 16).intValue();
g = Integer.valueOf(hexVal.substring(2, 4), 16).intValue();
@@ -1107,7 +1046,7 @@ public class GeneralMethods {
}
return null;
}
-
+
public static BlockData getLavaData(int level) {
BlockData data = Material.LAVA.createBlockData();
if (data instanceof Levelled) {
@@ -1115,7 +1054,7 @@ public class GeneralMethods {
}
return data;
}
-
+
public static BlockData getWaterData(int level) {
BlockData data = Material.WATER.createBlockData();
if (data instanceof Levelled) {
@@ -1279,7 +1218,7 @@ public class GeneralMethods {
public static boolean hasSpirits() {
return Bukkit.getServer().getPluginManager().getPlugin("ProjectKorraSpirits") != null;
}
-
+
public static boolean isAdjacentToThreeOrMoreSources(final Block block) {
return isAdjacentToThreeOrMoreSources(block, false);
}
@@ -1301,7 +1240,7 @@ public class GeneralMethods {
continue;
}
}
-
+
//At this point it should either be water or lava
if (blocki.getBlockData() instanceof Levelled) {
Levelled level = (Levelled) blocki.getBlockData();
@@ -1322,7 +1261,7 @@ public class GeneralMethods {
public static boolean isInteractable(final Block block) {
return isInteractable(block.getType());
}
-
+
public static boolean isInteractable(final Material material) {
return material.isInteractable();
}
@@ -1420,10 +1359,9 @@ public class GeneralMethods {
final Plugin wgp = pm.getPlugin("WorldGuard");
final Plugin psp = pm.getPlugin("PreciousStones");
- final Plugin fcp = pm.getPlugin("Factions");
+ final Plugin facsfw = pm.getPlugin("FactionsFramework ");
final Plugin twnp = pm.getPlugin("Towny");
final Plugin gpp = pm.getPlugin("GriefPrevention");
- final Plugin massivecore = pm.getPlugin("MassiveCore");
final Plugin lwc = pm.getPlugin("LWC");
final Plugin residence = pm.getPlugin("Residence");
final Plugin kingdoms = pm.getPlugin("Kingdoms");
@@ -1442,32 +1380,33 @@ public class GeneralMethods {
}
}
if (wgp != null && respectWorldGuard && !player.hasPermission("worldguard.region.bypass." + world.getName())) {
- final WorldGuardPlugin wg = (WorldGuardPlugin) Bukkit.getPluginManager().getPlugin("WorldGuard");
+ final WorldGuard wg = WorldGuard.getInstance();
if (!player.isOnline()) {
return true;
}
-
if (isIgnite) {
- if (!wg.hasPermission(player, "worldguard.override.lighter")) {
- if (wg.getGlobalStateManager().get(world).blockLighter) {
+ if (!player.hasPermission("worldguard.override.lighter")) {
+ if (wg.getPlatform().getGlobalStateManager().get(BukkitAdapter.adapt(world)).blockLighter) {
return true;
}
}
}
+
if (isExplosive) {
- if (wg.getGlobalStateManager().get(location.getWorld()).blockTNTExplosions) {
+ if (wg.getPlatform().getGlobalStateManager().get(BukkitAdapter.adapt(location.getWorld())).blockTNTExplosions) {
return true;
}
- if (!wg.getRegionContainer().createQuery().testBuild(location, player, DefaultFlag.TNT)) {
+ if (!wg.getPlatform().getRegionContainer().createQuery().testState(BukkitAdapter.adapt(location), WorldGuardPlugin.inst().wrapPlayer(player), Flags.TNT)) {
return true;
}
}
- if (!wg.canBuild(player, location.getBlock())) {
+ if (!wg.getPlatform().getRegionContainer().createQuery().testState(BukkitAdapter.adapt(location), WorldGuardPlugin.inst().wrapPlayer(player), Flags.BUILD)) {
return true;
}
}
+ /* outdated plugin
if (psp != null && respectPreciousStones) {
final PreciousStones ps = (PreciousStones) psp;
@@ -1486,11 +1425,13 @@ public class GeneralMethods {
return true;
}
}
+ */
- if (fcp != null && massivecore != null && respectFactions) {
- if (!EngineMain.canPlayerBuildAt(player, PS.valueOf(loc.getBlock()), false)) {
- return true;
- }
+ if (facsfw != null && respectFactions) {
+ FPlayer fPlayer = FPlayers.getBySender(player);
+ Faction faction = Factions.getFactionAt(location);
+
+ return !(faction.isNone() || fPlayer.getFaction().equals(faction));
}
if (twnp != null && respectTowny) {
@@ -1594,15 +1535,15 @@ public class GeneralMethods {
public static boolean isSolid(final Block block) {
return isSolid(block.getType());
}
-
+
public static boolean isSolid(final Material material) {
return material.isSolid();
}
-
+
public static boolean isTransparent(final Block block) {
return isTransparent(block.getType());
}
-
+
public static boolean isTransparent(final Material material) {
return !material.isOccluding() && !material.isSolid();
}
@@ -2235,4 +2176,4 @@ public class GeneralMethods {
e.printStackTrace();
}
}
-}
+}
\ No newline at end of file