mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-06-17 14:21:33 +00:00
@@ -1,11 +1,17 @@
|
|||||||
package com.volmit.iris.core.link;
|
package com.volmit.iris.core.link;
|
||||||
|
|
||||||
import com.volmit.iris.util.data.Cuboid;
|
import com.volmit.iris.util.data.Cuboid;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class WorldEditLink {
|
public class WorldEditLink {
|
||||||
|
private static Boolean enabled = null;
|
||||||
|
|
||||||
public static Cuboid getSelection(Player p) {
|
public static Cuboid getSelection(Player p) {
|
||||||
|
if (!hasWorldEdit())
|
||||||
|
return null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object instance = Class.forName("com.sk89q.worldedit.WorldEdit").getDeclaredMethod("getInstance").invoke(null);
|
Object instance = Class.forName("com.sk89q.worldedit.WorldEdit").getDeclaredMethod("getInstance").invoke(null);
|
||||||
Object sessionManager = instance.getClass().getDeclaredMethod("getSessionManager").invoke(instance);
|
Object sessionManager = instance.getClass().getDeclaredMethod("getSessionManager").invoke(instance);
|
||||||
@@ -28,4 +34,10 @@ public class WorldEditLink {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean hasWorldEdit() {
|
||||||
|
if (enabled == null)
|
||||||
|
enabled = Bukkit.getPluginManager().isPluginEnabled("WorldEdit");
|
||||||
|
return enabled;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import java.util.Objects;
|
|||||||
|
|
||||||
public class WandSVC implements IrisService {
|
public class WandSVC implements IrisService {
|
||||||
private static ItemStack dust;
|
private static ItemStack dust;
|
||||||
|
private static ItemStack wand;
|
||||||
|
|
||||||
public static void pasteSchematic(IrisObject s, Location at) {
|
public static void pasteSchematic(IrisObject s, Location at) {
|
||||||
s.place(at);
|
s.place(at);
|
||||||
@@ -226,17 +227,19 @@ public class WandSVC implements IrisService {
|
|||||||
return getCuboidFromItem(p.getInventory().getItemInMainHand());
|
return getCuboidFromItem(p.getInventory().getItemInMainHand());
|
||||||
}
|
}
|
||||||
|
|
||||||
Cuboid c = WorldEditLink.getSelection(p);
|
if (IrisSettings.get().getWorld().worldEditWandCUI) {
|
||||||
|
Cuboid c = WorldEditLink.getSelection(p);
|
||||||
|
|
||||||
if (c != null) {
|
if (c != null) {
|
||||||
return new Location[]{c.getLowerNE(), c.getUpperSW()};
|
return new Location[]{c.getLowerNE(), c.getUpperSW()};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isHoldingWand(Player p) {
|
public static boolean isHoldingWand(Player p) {
|
||||||
return isHoldingIrisWand(p) || WorldEditLink.getSelection(p) != null;
|
return isHoldingIrisWand(p) || (IrisSettings.get().getWorld().worldEditWandCUI && WorldEditLink.getSelection(p) != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isHoldingIrisWand(Player p) {
|
public static boolean isHoldingIrisWand(Player p) {
|
||||||
@@ -251,7 +254,6 @@ public class WandSVC implements IrisService {
|
|||||||
* @return True if it is
|
* @return True if it is
|
||||||
*/
|
*/
|
||||||
public static boolean isWand(ItemStack is) {
|
public static boolean isWand(ItemStack is) {
|
||||||
ItemStack wand = createWand();
|
|
||||||
if (is.getItemMeta() == null) return false;
|
if (is.getItemMeta() == null) return false;
|
||||||
return is.getType().equals(wand.getType()) &&
|
return is.getType().equals(wand.getType()) &&
|
||||||
is.getItemMeta().getDisplayName().equals(wand.getItemMeta().getDisplayName()) &&
|
is.getItemMeta().getDisplayName().equals(wand.getItemMeta().getDisplayName()) &&
|
||||||
@@ -261,7 +263,7 @@ public class WandSVC implements IrisService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
ItemStack wand = createWand();
|
wand = createWand();
|
||||||
dust = createDust();
|
dust = createDust();
|
||||||
|
|
||||||
J.ar(() -> {
|
J.ar(() -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user