1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-18 04:21:31 +02:00

Fix vanish

This commit is contained in:
ementalo
2012-06-18 12:52:36 +01:00
parent 8bdcec9072
commit 16f9163c45
4 changed files with 61 additions and 47 deletions

View File

@@ -270,8 +270,10 @@ public class Essentials extends JavaPlugin implements IEssentials
{
for (Player p : getServer().getOnlinePlayers())
{
if (getUser(p).isVanished())
IUser user = getUser(p);
if (user.isVanished())
{
user.toggleVanished();
p.sendMessage(_("unvanishedReload"));
}
}
@@ -385,17 +387,17 @@ public class Essentials extends JavaPlugin implements IEssentials
}
/*@Override
public IUser getUser(final Player player)
{
return userMap.getUser(player);
}
public IUser getUser(final Player player)
{
return userMap.getUser(player);
}
@Override
public IUser getUser(final String playerName)
{
return userMap.getUser(playerName);
}
*/
@Override
public IUser getUser(final String playerName)
{
return userMap.getUser(playerName);
}
*/
@Override
public World getWorld(final String name)
{

View File

@@ -11,25 +11,14 @@ public class Commandvanish extends EssentialsCommand
@Override
protected void run(IUser user, String commandLabel, String[] args) throws Exception
{
user.toggleVanished();
if (user.isVanished())
{
for (Player p : server.getOnlinePlayers())
{
p.showPlayer(user);
}
user.sendMessage(_("vanished"));
user.sendMessage(_("unvanished"));
}
else
{
for (Player p : server.getOnlinePlayers())
{
if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(p))
{
p.hidePlayer(user);
}
user.sendMessage(_("unvanished"));
}
user.sendMessage(_("unvanished"));
}
user.toggleVanished();
}
}

View File

@@ -131,6 +131,10 @@ public class EssentialsPlayerListener implements Listener
{
user.setGodModeEnabled(false);
}
if (user.isVanished())
{
user.toggleVanished();
}
if (user.getData().getInventory() != null)
{
user.getInventory().setContents(user.getData().getInventory().getBukkitInventory());

View File

@@ -29,7 +29,6 @@ import org.bukkit.inventory.ItemStack;
public class User extends UserBase implements IUser
{
private CommandSender replyTo = null;
@Getter
private transient IUser teleportRequester;
@@ -50,7 +49,7 @@ public class User extends UserBase implements IUser
private transient boolean vanished;
@Getter
@Setter
private boolean invSee = false;
private boolean invSee = false;
private transient Location afkPosition;
private static final Logger logger = Bukkit.getLogger();
private AtomicBoolean gotMailInfo = new AtomicBoolean(false);
@@ -61,7 +60,6 @@ public class User extends UserBase implements IUser
teleport = new Teleport(this, ess);
}
public User(final OfflinePlayer offlinePlayer, final IEssentials ess)
{
super(offlinePlayer, ess);
@@ -674,8 +672,10 @@ public class User extends UserBase implements IUser
spew = true;
}
}
else {
if (!overfilled.isEmpty()) {
else
{
if (!overfilled.isEmpty())
{
throw new ChargeException("Inventory full");
}
}
@@ -695,15 +695,19 @@ public class User extends UserBase implements IUser
}
return cost <= mon;
}
@Override
public void updateMoneyCache(double userMoney) {
if (super.getMoney() != userMoney) {
public void updateMoneyCache(double userMoney)
{
if (super.getMoney() != userMoney)
{
super.setMoney(userMoney);
}
}
@Override
public boolean canAfford(double amount, boolean b) {
public boolean canAfford(double amount, boolean b)
{
return true;
}
private transient long teleportInvulnerabilityTimestamp = 0;
@@ -711,7 +715,7 @@ public class User extends UserBase implements IUser
public void enableInvulnerabilityAfterTeleport()
{
@Cleanup
final ISettings settings = ess.getSettings();
final ISettings settings = ess.getSettings();
settings.acquireReadLock();
final long time = settings.getData().getGeneral().getTeleportInvulnerability();
@@ -730,6 +734,8 @@ public class User extends UserBase implements IUser
teleportInvulnerabilityTimestamp = 0;
}
}
@Override
public boolean hasInvulnerabilityAfterTeleport()
{
return teleportInvulnerabilityTimestamp != 0 && teleportInvulnerabilityTimestamp >= System.currentTimeMillis();
@@ -741,10 +747,23 @@ public class User extends UserBase implements IUser
vanished = !vanished;
if (vanished)
{
for (Player p : ess.getServer().getOnlinePlayers())
{
if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(ess.getUser(p)))
{
p.hidePlayer(getBase());
}
}
setHidden(true);
ess.getVanishedPlayers().add(getName());
}
else
{
for (Player p : ess.getServer().getOnlinePlayers())
{
p.showPlayer(getBase());
}
setHidden(false);
ess.getVanishedPlayers().remove(getName());
}
}