mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-19 13:01:20 +02:00
Fix vanish
This commit is contained in:
@@ -270,8 +270,10 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
{
|
{
|
||||||
for (Player p : getServer().getOnlinePlayers())
|
for (Player p : getServer().getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (getUser(p).isVanished())
|
IUser user = getUser(p);
|
||||||
|
if (user.isVanished())
|
||||||
{
|
{
|
||||||
|
user.toggleVanished();
|
||||||
p.sendMessage(_("unvanishedReload"));
|
p.sendMessage(_("unvanishedReload"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -385,17 +387,17 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*@Override
|
/*@Override
|
||||||
public IUser getUser(final Player player)
|
public IUser getUser(final Player player)
|
||||||
{
|
{
|
||||||
return userMap.getUser(player);
|
return userMap.getUser(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IUser getUser(final String playerName)
|
public IUser getUser(final String playerName)
|
||||||
{
|
{
|
||||||
return userMap.getUser(playerName);
|
return userMap.getUser(playerName);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public World getWorld(final String name)
|
public World getWorld(final String name)
|
||||||
{
|
{
|
||||||
|
@@ -11,25 +11,14 @@ public class Commandvanish extends EssentialsCommand
|
|||||||
@Override
|
@Override
|
||||||
protected void run(IUser user, String commandLabel, String[] args) throws Exception
|
protected void run(IUser user, String commandLabel, String[] args) throws Exception
|
||||||
{
|
{
|
||||||
|
user.toggleVanished();
|
||||||
if (user.isVanished())
|
if (user.isVanished())
|
||||||
{
|
{
|
||||||
for (Player p : server.getOnlinePlayers())
|
user.sendMessage(_("unvanished"));
|
||||||
{
|
|
||||||
p.showPlayer(user);
|
|
||||||
}
|
|
||||||
user.sendMessage(_("vanished"));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (Player p : server.getOnlinePlayers())
|
user.sendMessage(_("unvanished"));
|
||||||
{
|
|
||||||
if (!Permissions.VANISH_SEE_OTHERS.isAuthorized(p))
|
|
||||||
{
|
|
||||||
p.hidePlayer(user);
|
|
||||||
}
|
|
||||||
user.sendMessage(_("unvanished"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
user.toggleVanished();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -131,6 +131,10 @@ public class EssentialsPlayerListener implements Listener
|
|||||||
{
|
{
|
||||||
user.setGodModeEnabled(false);
|
user.setGodModeEnabled(false);
|
||||||
}
|
}
|
||||||
|
if (user.isVanished())
|
||||||
|
{
|
||||||
|
user.toggleVanished();
|
||||||
|
}
|
||||||
if (user.getData().getInventory() != null)
|
if (user.getData().getInventory() != null)
|
||||||
{
|
{
|
||||||
user.getInventory().setContents(user.getData().getInventory().getBukkitInventory());
|
user.getInventory().setContents(user.getData().getInventory().getBukkitInventory());
|
||||||
|
@@ -29,7 +29,6 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
|
|
||||||
public class User extends UserBase implements IUser
|
public class User extends UserBase implements IUser
|
||||||
{
|
{
|
||||||
|
|
||||||
private CommandSender replyTo = null;
|
private CommandSender replyTo = null;
|
||||||
@Getter
|
@Getter
|
||||||
private transient IUser teleportRequester;
|
private transient IUser teleportRequester;
|
||||||
@@ -50,7 +49,7 @@ public class User extends UserBase implements IUser
|
|||||||
private transient boolean vanished;
|
private transient boolean vanished;
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
private boolean invSee = false;
|
private boolean invSee = false;
|
||||||
private transient Location afkPosition;
|
private transient Location afkPosition;
|
||||||
private static final Logger logger = Bukkit.getLogger();
|
private static final Logger logger = Bukkit.getLogger();
|
||||||
private AtomicBoolean gotMailInfo = new AtomicBoolean(false);
|
private AtomicBoolean gotMailInfo = new AtomicBoolean(false);
|
||||||
@@ -61,7 +60,6 @@ public class User extends UserBase implements IUser
|
|||||||
teleport = new Teleport(this, ess);
|
teleport = new Teleport(this, ess);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public User(final OfflinePlayer offlinePlayer, final IEssentials ess)
|
public User(final OfflinePlayer offlinePlayer, final IEssentials ess)
|
||||||
{
|
{
|
||||||
super(offlinePlayer, ess);
|
super(offlinePlayer, ess);
|
||||||
@@ -674,8 +672,10 @@ public class User extends UserBase implements IUser
|
|||||||
spew = true;
|
spew = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
if (!overfilled.isEmpty()) {
|
{
|
||||||
|
if (!overfilled.isEmpty())
|
||||||
|
{
|
||||||
throw new ChargeException("Inventory full");
|
throw new ChargeException("Inventory full");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -695,15 +695,19 @@ public class User extends UserBase implements IUser
|
|||||||
}
|
}
|
||||||
return cost <= mon;
|
return cost <= mon;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMoneyCache(double userMoney) {
|
public void updateMoneyCache(double userMoney)
|
||||||
if (super.getMoney() != userMoney) {
|
{
|
||||||
|
if (super.getMoney() != userMoney)
|
||||||
|
{
|
||||||
super.setMoney(userMoney);
|
super.setMoney(userMoney);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canAfford(double amount, boolean b) {
|
public boolean canAfford(double amount, boolean b)
|
||||||
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
private transient long teleportInvulnerabilityTimestamp = 0;
|
private transient long teleportInvulnerabilityTimestamp = 0;
|
||||||
@@ -711,7 +715,7 @@ public class User extends UserBase implements IUser
|
|||||||
public void enableInvulnerabilityAfterTeleport()
|
public void enableInvulnerabilityAfterTeleport()
|
||||||
{
|
{
|
||||||
@Cleanup
|
@Cleanup
|
||||||
final ISettings settings = ess.getSettings();
|
final ISettings settings = ess.getSettings();
|
||||||
settings.acquireReadLock();
|
settings.acquireReadLock();
|
||||||
|
|
||||||
final long time = settings.getData().getGeneral().getTeleportInvulnerability();
|
final long time = settings.getData().getGeneral().getTeleportInvulnerability();
|
||||||
@@ -730,6 +734,8 @@ public class User extends UserBase implements IUser
|
|||||||
teleportInvulnerabilityTimestamp = 0;
|
teleportInvulnerabilityTimestamp = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean hasInvulnerabilityAfterTeleport()
|
public boolean hasInvulnerabilityAfterTeleport()
|
||||||
{
|
{
|
||||||
return teleportInvulnerabilityTimestamp != 0 && teleportInvulnerabilityTimestamp >= System.currentTimeMillis();
|
return teleportInvulnerabilityTimestamp != 0 && teleportInvulnerabilityTimestamp >= System.currentTimeMillis();
|
||||||
@@ -741,10 +747,23 @@ public class User extends UserBase implements IUser
|
|||||||
vanished = !vanished;
|
vanished = !vanished;
|
||||||
if (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());
|
ess.getVanishedPlayers().add(getName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
for (Player p : ess.getServer().getOnlinePlayers())
|
||||||
|
{
|
||||||
|
p.showPlayer(getBase());
|
||||||
|
}
|
||||||
|
setHidden(false);
|
||||||
ess.getVanishedPlayers().remove(getName());
|
ess.getVanishedPlayers().remove(getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user