mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-19 06:58:17 +00:00
The work process is done async to the server loop.
This commit is contained in:
parent
5641b1173c
commit
36fa05f3a6
1 changed files with 16 additions and 8 deletions
|
@ -8,7 +8,7 @@ import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
|
||||||
public class StateMachine extends WorkListener
|
public class StateMachine extends WorkListener implements Runnable
|
||||||
{
|
{
|
||||||
public enum MachineResult
|
public enum MachineResult
|
||||||
{
|
{
|
||||||
|
@ -92,18 +92,26 @@ public class StateMachine extends WorkListener
|
||||||
public void startWork()
|
public void startWork()
|
||||||
{
|
{
|
||||||
iterator = states.values().iterator();
|
iterator = states.values().iterator();
|
||||||
callStateWork();
|
Bukkit.getScheduler().scheduleAsyncDelayedTask(getPlugin(), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void callStateWork()
|
@Override
|
||||||
|
public void run()
|
||||||
{
|
{
|
||||||
if (!iterator.hasNext())
|
if (!iterator.hasNext())
|
||||||
{
|
{
|
||||||
if (player.isOnline())
|
Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), new Runnable()
|
||||||
{
|
{
|
||||||
player.sendMessage("Installation done.");
|
@Override
|
||||||
}
|
public void run()
|
||||||
finish();
|
{
|
||||||
|
if (StateMachine.this.player.isOnline())
|
||||||
|
{
|
||||||
|
StateMachine.this.player.sendMessage("Installation done.");
|
||||||
|
}
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final AbstractState state = iterator.next();
|
final AbstractState state = iterator.next();
|
||||||
|
@ -139,7 +147,7 @@ public class StateMachine extends WorkListener
|
||||||
{
|
{
|
||||||
StateMachine.this.player.sendMessage(message);
|
StateMachine.this.player.sendMessage(message);
|
||||||
}
|
}
|
||||||
StateMachine.this.callStateWork();
|
Bukkit.getScheduler().scheduleAsyncDelayedTask(getPlugin(), StateMachine.this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue