Merge branch 'master' of github.com:essentials/Essentials

This commit is contained in:
KHobbits 2012-04-14 15:58:12 +01:00
commit b3847270fa
7 changed files with 44 additions and 31 deletions

View file

@ -232,8 +232,11 @@ public class Essentials extends JavaPlugin implements IEssentials
pm.registerEvents(worldListener, this); pm.registerEvents(worldListener, this);
//TODO: Check if this should be here, and not above before reload() //TODO: Check if this should be here, and not above before reload()
jails = new Jails(this); if (settings.isJailsEnabled())
confList.add(jails); {
jails = new Jails(this);
confList.add(jails);
}
pm.registerEvents(tntListener, this); pm.registerEvents(tntListener, this);
@ -428,9 +431,16 @@ public class Essentials extends JavaPlugin implements IEssentials
} }
@Override @Override
public IJails getJails() public IJails getJails() throws UnsupportedOperationException
{ {
return jails; if (jails == null)
{
throw new UnsupportedOperationException("Jails are not enabled in your configuration");
}
else
{
return jails;
}
} }
@Override @Override

View file

@ -31,13 +31,11 @@ import org.bukkit.inventory.ItemStack;
public class EssentialsPlayerListener implements Listener public class EssentialsPlayerListener implements Listener
{ {
private static final Logger LOGGER = Logger.getLogger("Minecraft"); private static final Logger LOGGER = Logger.getLogger("Minecraft");
private final transient Server server;
private final transient IEssentials ess; private final transient IEssentials ess;
public EssentialsPlayerListener(final IEssentials parent) public EssentialsPlayerListener(final IEssentials parent)
{ {
this.ess = parent; this.ess = parent;
this.server = parent.getServer();
} }
@EventHandler(priority = EventPriority.NORMAL) @EventHandler(priority = EventPriority.NORMAL)
@ -218,7 +216,7 @@ public class EssentialsPlayerListener implements Listener
return; return;
} }
User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
if (user.isNPC()) if (user.isNPC())
{ {
user.setNPC(false); user.setNPC(false);
@ -247,8 +245,8 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onPlayerTeleport(final PlayerTeleportEvent event) public void onPlayerTeleport(final PlayerTeleportEvent event)
{ {
boolean backListener = ess.getSettings().registerBackInListener(); final boolean backListener = ess.getSettings().registerBackInListener();
boolean teleportInvulnerability = ess.getSettings().isTeleportInvulnerability(); final boolean teleportInvulnerability = ess.getSettings().isTeleportInvulnerability();
if (backListener || teleportInvulnerability) if (backListener || teleportInvulnerability)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
@ -320,19 +318,16 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerChangedWorld(final PlayerChangedWorldEvent event) public void onPlayerChangedWorld(final PlayerChangedWorldEvent event)
{ {
final User user = ess.getUser(event.getPlayer()); final User user = ess.getUser(event.getPlayer());
final String newWorld = event.getPlayer().getLocation().getWorld().getName(); final String newWorld = event.getPlayer().getLocation().getWorld().getName();
user.setDisplayNick(); user.setDisplayNick();
updateCompass(user); updateCompass(user);
if (ess.getSettings().getNoGodWorlds().contains(newWorld)) if (ess.getSettings().getNoGodWorlds().contains(newWorld) && user.isGodModeEnabledRaw())
{ {
if (user.isGodModeEnabledRaw()) user.sendMessage(_("noGodWorldWarning"));
{
user.sendMessage(_("noGodWorldWarning"));
}
} }
if(!event.getPlayer().getWorld().getName().equals(newWorld)) if (!event.getPlayer().getWorld().getName().equals(newWorld))
{ {
user.sendMessage(_("currentWorld", newWorld)); user.sendMessage(_("currentWorld", newWorld));
} }
@ -344,11 +339,7 @@ public class EssentialsPlayerListener implements Listener
switch (event.getAction()) switch (event.getAction())
{ {
case RIGHT_CLICK_BLOCK: case RIGHT_CLICK_BLOCK:
if (event.isCancelled()) if (!event.isCancelled() && event.getClickedBlock().getTypeId() == Material.BED_BLOCK.getId() && ess.getSettings().getUpdateBedAtDaytime())
{
return;
}
if (event.getClickedBlock().getTypeId() == Material.BED_BLOCK.getId() && ess.getSettings().getUpdateBedAtDaytime())
{ {
event.getPlayer().setBedSpawnLocation(event.getClickedBlock().getLocation()); event.getPlayer().setBedSpawnLocation(event.getClickedBlock().getLocation());
} }
@ -409,14 +400,12 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onPlayerPickupItem(final PlayerPickupItemEvent event) public void onPlayerPickupItem(final PlayerPickupItemEvent event)
{ {
if (!ess.getSettings().getDisableItemPickupWhileAfk()) if (ess.getSettings().getDisableItemPickupWhileAfk())
{ {
return; if (ess.getUser(event.getPlayer()).isAfk())
} {
final User user = ess.getUser(event.getPlayer()); event.setCancelled(true);
if (user.isAfk()) }
{
event.setCancelled(true);
} }
} }

View file

@ -37,7 +37,7 @@ public interface IEssentials extends Plugin
BukkitScheduler getScheduler(); BukkitScheduler getScheduler();
IJails getJails(); IJails getJails() throws UnsupportedOperationException;
Warps getWarps(); Warps getWarps();

View file

@ -173,4 +173,6 @@ public interface ISettings extends IConf
long getTeleportInvulnerability(); long getTeleportInvulnerability();
boolean isTeleportInvulnerability(); boolean isTeleportInvulnerability();
boolean isJailsEnabled();
} }

View file

@ -780,4 +780,10 @@ public class Settings implements ISettings
{ {
return teleportInvulnerability; return teleportInvulnerability;
} }
@Override
public boolean isJailsEnabled()
{
return config.getBoolean("enable-jails", true);
}
} }

View file

@ -171,6 +171,9 @@ public class MetricsStarter implements Runnable
metrics.start(); metrics.start();
}
catch (UnsupportedOperationException ex)
{
} }
catch (Exception ex) catch (Exception ex)
{ {

View file

@ -44,6 +44,9 @@ change-displayname: true
# Don't forget to remove the # infront of the line # Don't forget to remove the # infront of the line
#add-prefix-suffix: false #add-prefix-suffix: false
# Whether or not jails are activated
enable-jails: true
# The delay, in seconds, required between /home, /tp, etc. # The delay, in seconds, required between /home, /tp, etc.
teleport-cooldown: 0 teleport-cooldown: 0
@ -584,7 +587,7 @@ newbies:
# When we spawn for the first time, which spawnpoint do we use? # When we spawn for the first time, which spawnpoint do we use?
# Set to "none" if you want to use the spawn point of the world. # Set to "none" if you want to use the spawn point of the world.
spawnpoint: newbies spawnpoint: newbies
# Do we want to give users anything on first join? Set to '' to disable # Do we want to give users anything on first join? Set to '' to disable
# This kit will be given reguardless of cost, and permissions. # This kit will be given reguardless of cost, and permissions.
#kit: '' #kit: ''