[Version 0.7.6.5]
- Resolve issue with buttons on glass gates falling off - /sg reload can now be used ingame (stargate.admin.reload permission)
This commit is contained in:
parent
9b81b6191b
commit
cfd059d24c
4
README
4
README
@ -49,6 +49,7 @@ stargate.free -- Allow free use/creation/destruction of gates
|
|||||||
stargate.admin -- Allow all admin features (Hidden/Private only so far)
|
stargate.admin -- Allow all admin features (Hidden/Private only so far)
|
||||||
stargate.admin.private -- Allow use of Private gates not owned by user
|
stargate.admin.private -- Allow use of Private gates not owned by user
|
||||||
stargate.admin.hidden -- Allow access to Hidden gates not ownerd by user
|
stargate.admin.hidden -- Allow access to Hidden gates not ownerd by user
|
||||||
|
stargate.admin.reload -- Allow use of /sg reload
|
||||||
|
|
||||||
=============
|
=============
|
||||||
Default Permissions
|
Default Permissions
|
||||||
@ -204,6 +205,9 @@ createConflict=Gate conflicts with existing gate
|
|||||||
=============
|
=============
|
||||||
Changes
|
Changes
|
||||||
=============
|
=============
|
||||||
|
[Version 0.7.6.5]
|
||||||
|
- Resolve issue with buttons on glass gates falling off
|
||||||
|
- /sg reload can now be used ingame (stargate.admin.reload permission)
|
||||||
[Version 0.7.6.4]
|
[Version 0.7.6.4]
|
||||||
- Move blockBreak to HIGHEST priority, this resolves issues with region protection plugins
|
- Move blockBreak to HIGHEST priority, this resolves issues with region protection plugins
|
||||||
[Version 0.7.6.3]
|
[Version 0.7.6.3]
|
||||||
|
@ -57,6 +57,7 @@ public class Portal {
|
|||||||
// Static variables used to store portal lists
|
// Static variables used to store portal lists
|
||||||
private static final HashMap<Blox, Portal> lookupBlocks = new HashMap<Blox, Portal>();
|
private static final HashMap<Blox, Portal> lookupBlocks = new HashMap<Blox, Portal>();
|
||||||
private static final HashMap<Blox, Portal> lookupEntrances = new HashMap<Blox, Portal>();
|
private static final HashMap<Blox, Portal> lookupEntrances = new HashMap<Blox, Portal>();
|
||||||
|
private static final HashMap<Blox, Portal> lookupControls = new HashMap<Blox, Portal>();
|
||||||
private static final ArrayList<Portal> allPortals = new ArrayList<Portal>();
|
private static final ArrayList<Portal> allPortals = new ArrayList<Portal>();
|
||||||
private static final HashMap<String, ArrayList<String>> allPortalsNet = new HashMap<String, ArrayList<String>>();
|
private static final HashMap<String, ArrayList<String>> allPortalsNet = new HashMap<String, ArrayList<String>>();
|
||||||
private static final HashMap<String, HashMap<String, Portal>> lookupNamesNet = new HashMap<String, HashMap<String, Portal>>();
|
private static final HashMap<String, HashMap<String, Portal>> lookupNamesNet = new HashMap<String, HashMap<String, Portal>>();
|
||||||
@ -717,10 +718,14 @@ public class Portal {
|
|||||||
lookupBlocks.remove(block);
|
lookupBlocks.remove(block);
|
||||||
}
|
}
|
||||||
// Include the sign and button
|
// Include the sign and button
|
||||||
lookupBlocks.remove(new Blox(id.getBlock()));
|
lookupBlocks.remove(id);
|
||||||
if (button != null) {
|
if (button != null) {
|
||||||
lookupBlocks.remove(button);
|
lookupBlocks.remove(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lookupControls.remove(id);
|
||||||
|
if (button != null)
|
||||||
|
lookupControls.remove(button);
|
||||||
|
|
||||||
for (Blox entrance : getEntrances()) {
|
for (Blox entrance : getEntrances()) {
|
||||||
lookupEntrances.remove(entrance);
|
lookupEntrances.remove(entrance);
|
||||||
@ -768,10 +773,14 @@ public class Portal {
|
|||||||
lookupBlocks.put(block, this);
|
lookupBlocks.put(block, this);
|
||||||
}
|
}
|
||||||
// Include the sign and button
|
// Include the sign and button
|
||||||
lookupBlocks.put(new Blox(id.getBlock()), this);
|
lookupBlocks.put(id, this);
|
||||||
if (button != null) {
|
if (button != null) {
|
||||||
lookupBlocks.put(button, this);
|
lookupBlocks.put(button, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lookupControls.put(id, this);
|
||||||
|
if (button != null)
|
||||||
|
lookupControls.put(button, this);
|
||||||
|
|
||||||
for (Blox entrance : getEntrances()) {
|
for (Blox entrance : getEntrances()) {
|
||||||
lookupEntrances.put(entrance, this);
|
lookupEntrances.put(entrance, this);
|
||||||
@ -1058,6 +1067,10 @@ public class Portal {
|
|||||||
public static Portal getByEntrance(Block block) {
|
public static Portal getByEntrance(Block block) {
|
||||||
return lookupEntrances.get(new Blox(block));
|
return lookupEntrances.get(new Blox(block));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Portal getByControl(Block block) {
|
||||||
|
return lookupControls.get(new Blox(block));
|
||||||
|
}
|
||||||
|
|
||||||
public static Portal getByBlock(Block block) {
|
public static Portal getByBlock(Block block) {
|
||||||
return lookupBlocks.get(new Blox(block));
|
return lookupBlocks.get(new Blox(block));
|
||||||
@ -1128,6 +1141,7 @@ public class Portal {
|
|||||||
lookupBlocks.clear();
|
lookupBlocks.clear();
|
||||||
lookupNamesNet.clear();
|
lookupNamesNet.clear();
|
||||||
lookupEntrances.clear();
|
lookupEntrances.clear();
|
||||||
|
lookupControls.clear();
|
||||||
allPortals.clear();
|
allPortals.clear();
|
||||||
allPortalsNet.clear();
|
allPortalsNet.clear();
|
||||||
}
|
}
|
||||||
|
@ -259,11 +259,11 @@ public class Stargate extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendMessage(Player player, String message) {
|
public static void sendMessage(CommandSender player, String message) {
|
||||||
sendMessage(player, message, true);
|
sendMessage(player, message, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendMessage(Player player, String message, boolean error) {
|
public static void sendMessage(CommandSender player, String message, boolean error) {
|
||||||
if (message.isEmpty()) return;
|
if (message.isEmpty()) return;
|
||||||
message = message.replaceAll("(&([a-f0-9]))", "\u00A7$2");
|
message = message.replaceAll("(&([a-f0-9]))", "\u00A7$2");
|
||||||
if (error)
|
if (error)
|
||||||
@ -976,6 +976,8 @@ public class Stargate extends JavaPlugin {
|
|||||||
Block block = event.getBlock();
|
Block block = event.getBlock();
|
||||||
Portal portal = Portal.getByEntrance(block);
|
Portal portal = Portal.getByEntrance(block);
|
||||||
if (portal != null) event.setCancelled(true);
|
if (portal != null) event.setCancelled(true);
|
||||||
|
portal = Portal.getByControl(block);
|
||||||
|
if (portal != null) event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -1200,8 +1202,11 @@ public class Stargate extends JavaPlugin {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
Stargate.sendMessage((Player)sender, "Permission Denied");
|
Player p = (Player)sender;
|
||||||
return true;
|
if (!hasPerm(p, "stargate.admin") && !hasPerm(p, "stargate.admin.reload")) {
|
||||||
|
sendMessage(sender, "Permission Denied");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String cmd = command.getName();
|
String cmd = command.getName();
|
||||||
if (cmd.equalsIgnoreCase("sg")) {
|
if (cmd.equalsIgnoreCase("sg")) {
|
||||||
@ -1241,6 +1246,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
iConomyHandler.register = null;
|
iConomyHandler.register = null;
|
||||||
iConomyHandler.economy = null;
|
iConomyHandler.economy = null;
|
||||||
}
|
}
|
||||||
|
sendMessage(sender, "Stargate reloaded");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user