mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2024-07-04 11:43:47 +00:00
Fix cleanup to not hold Users in memory.
This commit is contained in:
parent
ebc6b14284
commit
555a300378
|
@ -351,8 +351,10 @@ public class EssentialsConf extends YamlConfiguration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final FileOutputStream fos = new FileOutputStream(configFile);
|
||||||
final OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(configFile), UTF8);
|
try
|
||||||
|
{
|
||||||
|
final OutputStreamWriter writer = new OutputStreamWriter(fos, UTF8);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -363,6 +365,11 @@ public class EssentialsConf extends YamlConfiguration
|
||||||
writer.close();
|
writer.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
fos.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
catch (IOException e)
|
catch (IOException e)
|
||||||
{
|
{
|
||||||
LOGGER.log(Level.SEVERE, e.getMessage(), e);
|
LOGGER.log(Level.SEVERE, e.getMessage(), e);
|
||||||
|
@ -753,4 +760,5 @@ public class EssentialsConf extends YamlConfiguration
|
||||||
{
|
{
|
||||||
super.set(path, value);
|
super.set(path, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ import org.bukkit.potion.PotionEffectType;
|
||||||
public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||||
{
|
{
|
||||||
private CommandSender replyTo = null;
|
private CommandSender replyTo = null;
|
||||||
private transient User teleportRequester;
|
private transient String teleportRequester;
|
||||||
private transient boolean teleportRequestHere;
|
private transient boolean teleportRequestHere;
|
||||||
private transient boolean vanished;
|
private transient boolean vanished;
|
||||||
private transient final Teleport teleport;
|
private transient final Teleport teleport;
|
||||||
|
@ -263,11 +263,11 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||||
public void requestTeleport(final User player, final boolean here)
|
public void requestTeleport(final User player, final boolean here)
|
||||||
{
|
{
|
||||||
teleportRequestTime = System.currentTimeMillis();
|
teleportRequestTime = System.currentTimeMillis();
|
||||||
teleportRequester = player;
|
teleportRequester = player.getName();
|
||||||
teleportRequestHere = here;
|
teleportRequestHere = here;
|
||||||
}
|
}
|
||||||
|
|
||||||
public User getTeleportRequest()
|
public String getTeleportRequest()
|
||||||
{
|
{
|
||||||
return teleportRequester;
|
return teleportRequester;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import org.bukkit.inventory.ItemStack;
|
||||||
public abstract class UserData extends PlayerExtension implements IConf
|
public abstract class UserData extends PlayerExtension implements IConf
|
||||||
{
|
{
|
||||||
protected final transient IEssentials ess;
|
protected final transient IEssentials ess;
|
||||||
private EssentialsConf config;
|
private final EssentialsConf config;
|
||||||
private final File folder;
|
private final File folder;
|
||||||
|
|
||||||
protected UserData(Player base, IEssentials ess)
|
protected UserData(Player base, IEssentials ess)
|
||||||
|
@ -31,8 +31,7 @@ public abstract class UserData extends PlayerExtension implements IConf
|
||||||
public final void reset()
|
public final void reset()
|
||||||
{
|
{
|
||||||
config.getFile().delete();
|
config.getFile().delete();
|
||||||
config = new EssentialsConf(new File(folder, Util.sanitizeFileName(base.getName()) + ".yml"));
|
ess.getUserMap().removeUser(this.getName());
|
||||||
reloadConfig();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class Commandtpaccept extends EssentialsCommand
|
||||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
|
|
||||||
final User target = user.getTeleportRequest();
|
final User target = ess.getUser(user.getTeleportRequest());
|
||||||
|
|
||||||
if (target == null || !target.isOnline())
|
if (target == null || !target.isOnline())
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,7 @@ public class Commandtpdeny extends EssentialsCommand
|
||||||
@Override
|
@Override
|
||||||
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
final User player = user.getTeleportRequest();
|
final User player = ess.getUser(user.getTeleportRequest());
|
||||||
if (player == null)
|
if (player == null)
|
||||||
{
|
{
|
||||||
throw new Exception(_("noPendingRequest"));
|
throw new Exception(_("noPendingRequest"));
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IConf
|
||||||
private static final Logger logger = Logger.getLogger("Minecraft");
|
private static final Logger logger = Logger.getLogger("Minecraft");
|
||||||
File databaseFile;
|
File databaseFile;
|
||||||
File dataFolder;
|
File dataFolder;
|
||||||
EssentialsConf config;
|
final EssentialsConf config;
|
||||||
private final transient IEssentials ess;
|
private final transient IEssentials ess;
|
||||||
|
|
||||||
public EssentialsGeoIPPlayerListener(File dataFolder, IEssentials ess)
|
public EssentialsGeoIPPlayerListener(File dataFolder, IEssentials ess)
|
||||||
|
|
Loading…
Reference in a new issue