diff --git a/build.gradle b/build.gradle index c9e8dddb..9310bed1 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ allprojects { apply plugin: 'java' group = 'us.dynmap' - version = '3.1-beta-3' + version = '3.1-SNAPSHOT' } diff --git a/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/DynmapPlugin.java b/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/DynmapPlugin.java index 17fe8268..8be8b61d 100644 --- a/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/DynmapPlugin.java +++ b/forge-1.13.2/src/main/java/org/dynmap/forge_1_13_2/DynmapPlugin.java @@ -455,7 +455,7 @@ public class DynmapPlugin private boolean hasPerm(EntityPlayer psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.has(psender, permission); @@ -463,7 +463,7 @@ public class DynmapPlugin private boolean hasPermNode(EntityPlayer psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.hasPermissionNode(psender, permission); @@ -1594,8 +1594,12 @@ public class DynmapPlugin { dsender = new ForgeCommandSender(sender); } - - core.processCommand(dsender, cmd, cmd, args); + try { + core.processCommand(dsender, cmd, cmd, args); + } catch (Exception x) { + dsender.sendMessage("Command internal error: " + x.getMessage()); + Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x); + } } private DynmapLocation toLoc(World worldObj, double x, double y, double z) diff --git a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java index 637ff8d1..b988af72 100644 --- a/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java +++ b/forge-1.14.4/src/main/java/org/dynmap/forge_1_14_4/DynmapPlugin.java @@ -481,7 +481,7 @@ public class DynmapPlugin private boolean hasPerm(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.has(psender, permission); @@ -489,7 +489,7 @@ public class DynmapPlugin private boolean hasPermNode(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.hasPermissionNode(psender, permission); @@ -1620,8 +1620,12 @@ public class DynmapPlugin { dsender = new ForgeCommandSender(sender); } - - core.processCommand(dsender, cmd, cmd, args); + try { + core.processCommand(dsender, cmd, cmd, args); + } catch (Exception x) { + dsender.sendMessage("Command internal error: " + x.getMessage()); + Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x); + } } private DynmapLocation toLoc(World worldObj, double x, double y, double z) diff --git a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java index 902fb52f..055a6fcb 100644 --- a/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java +++ b/forge-1.15.2/src/main/java/org/dynmap/forge_1_15_2/DynmapPlugin.java @@ -482,7 +482,7 @@ public class DynmapPlugin private boolean hasPerm(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.has(psender, permission); @@ -490,7 +490,7 @@ public class DynmapPlugin private boolean hasPermNode(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { + if((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.hasPermissionNode(psender, permission); @@ -1620,8 +1620,12 @@ public class DynmapPlugin { dsender = new ForgeCommandSender(sender); } - - core.processCommand(dsender, cmd, cmd, args); + try { + core.processCommand(dsender, cmd, cmd, args); + } catch (Exception x) { + dsender.sendMessage("Command internal error: " + x.getMessage()); + Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x); + } } private DynmapLocation toLoc(World worldObj, double x, double y, double z) diff --git a/forge-1.16.1/src/main/java/org/dynmap/forge_1_16_1/DynmapPlugin.java b/forge-1.16.1/src/main/java/org/dynmap/forge_1_16_1/DynmapPlugin.java index da384e29..240fb2f6 100644 --- a/forge-1.16.1/src/main/java/org/dynmap/forge_1_16_1/DynmapPlugin.java +++ b/forge-1.16.1/src/main/java/org/dynmap/forge_1_16_1/DynmapPlugin.java @@ -479,7 +479,7 @@ public class DynmapPlugin private boolean hasPerm(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { + if ((psender != null) && (ph != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.has(psender, permission); @@ -487,7 +487,7 @@ public class DynmapPlugin private boolean hasPermNode(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { + if ((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { return true; } return permissions.hasPermissionNode(psender, permission); @@ -1617,8 +1617,12 @@ public class DynmapPlugin { dsender = new ForgeCommandSender(sender); } - - core.processCommand(dsender, cmd, cmd, args); + try { + core.processCommand(dsender, cmd, cmd, args); + } catch (Exception x) { + dsender.sendMessage("Command internal error: " + x.getMessage()); + Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x); + } } private DynmapLocation toLoc(World worldObj, double x, double y, double z) diff --git a/forge-1.16.2/src/main/java/org/dynmap/forge_1_16_2/DynmapPlugin.java b/forge-1.16.2/src/main/java/org/dynmap/forge_1_16_2/DynmapPlugin.java index 3456573d..3b361c21 100644 --- a/forge-1.16.2/src/main/java/org/dynmap/forge_1_16_2/DynmapPlugin.java +++ b/forge-1.16.2/src/main/java/org/dynmap/forge_1_16_2/DynmapPlugin.java @@ -489,7 +489,7 @@ public class DynmapPlugin private boolean hasPerm(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) { + if ((psender != null) && (ph != null) && ph.hasPermission(psender.getName().getString(), permission)) { return true; } return permissions.has(psender, permission); @@ -497,7 +497,7 @@ public class DynmapPlugin private boolean hasPermNode(PlayerEntity psender, String permission) { PermissionsHandler ph = PermissionsHandler.getHandler(); - if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) { + if ((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getName().getString(), permission)) { return true; } return permissions.hasPermissionNode(psender, permission); @@ -1627,8 +1627,12 @@ public class DynmapPlugin { dsender = new ForgeCommandSender(sender); } - - core.processCommand(dsender, cmd, cmd, args); + try { + core.processCommand(dsender, cmd, cmd, args); + } catch (Exception x) { + dsender.sendMessage("Command internal error: " + x.getMessage()); + Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x); + } } private DynmapLocation toLoc(World worldObj, double x, double y, double z)