Few more states in EssentialsUpdate

This commit is contained in:
KHobbits 2011-10-26 16:26:26 +01:00
parent d064c68875
commit 38b6d79f49
6 changed files with 135 additions and 3 deletions

View File

@ -11,7 +11,7 @@ public class EssentialsChat extends AbstractYesNoState
{
public EssentialsChat(final StateMap states)
{
super(states, EssentialsProtect.class);
super(states, EssentialsChatSettings.class, EssentialsSpawn.class);
}
@Override
@ -30,7 +30,8 @@ public class EssentialsChat extends AbstractYesNoState
public void askQuestion(final Player sender)
{
sender.sendMessage("Do you want to install EssentialsChat? (yes/no)");
sender.sendMessage("Short descriptive text about what EssentialsChat does.");
sender.sendMessage("EssentialsChat is a simple chat formatting plugin");
sender.sendMessage("It allows you to make user prefixes and coloured text.");
}
@Override

View File

@ -0,0 +1,34 @@
package com.earth2me.essentials.update.states;
import com.earth2me.essentials.update.WorkListener;
import com.earth2me.essentials.update.tasks.InstallModule;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public class EssentialsChatSettings extends AbstractYesNoState
{
public EssentialsChatSettings(final StateMap states)
{
super(states, EssentialsSpawn.class);
}
@Override
public void askQuestion(final Player sender)
{
sender.sendMessage("Would you like to configure EssentialsChat to prefix ingame messages with their group?");
}
@Override
public void doWork(final WorkListener listener)
{
if (getAnswer())
{
//TODO: Configure plugin
return;
}
listener.onWorkDone();
}
}

View File

@ -0,0 +1,47 @@
package com.earth2me.essentials.update.states;
import com.earth2me.essentials.update.WorkListener;
import com.earth2me.essentials.update.tasks.InstallModule;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public class EssentialsGeoIP extends AbstractYesNoState
{
public EssentialsGeoIP(final StateMap states)
{
super(states, null);
}
@Override
public boolean guessAnswer()
{
final Plugin plugin = Bukkit.getPluginManager().getPlugin("EssentialsGeoIP");
if (plugin != null)
{
setAnswer(true);
return true;
}
return false;
}
@Override
public void askQuestion(final Player sender)
{
sender.sendMessage("Do you want to install EssentialsGeoIP? (yes/no)");
sender.sendMessage("EssentialsGeoIP performs a IP lookup on joining players");
sender.sendMessage("It allows you get a rough idea of where a player is from.");
}
@Override
public void doWork(final WorkListener listener)
{
if (getAnswer())
{
new InstallModule(listener, "EssentialsGeoIP").start();
return;
}
listener.onWorkDone();
}
}

View File

@ -30,7 +30,8 @@ public class EssentialsProtect extends AbstractYesNoState
public void askQuestion(final Player sender)
{
sender.sendMessage("Do you want to install EssentialsProtect? (yes/no)");
sender.sendMessage("Short descriptive text about what EssentialsProtect does.");
sender.sendMessage("EssentialsProtect is a basic world protection system");
sender.sendMessage("It allows you to set server wide rules, such as disabling creeper explosions, and preventing fire spread.");
}
@Override

View File

@ -0,0 +1,47 @@
package com.earth2me.essentials.update.states;
import com.earth2me.essentials.update.WorkListener;
import com.earth2me.essentials.update.tasks.InstallModule;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public class EssentialsSpawn extends AbstractYesNoState
{
public EssentialsSpawn(final StateMap states)
{
super(states, null);
}
@Override
public boolean guessAnswer()
{
final Plugin plugin = Bukkit.getPluginManager().getPlugin("EssentialsSpawn");
if (plugin != null)
{
setAnswer(true);
return true;
}
return false;
}
@Override
public void askQuestion(final Player sender)
{
sender.sendMessage("Do you want to install EssentialsSpawn? (yes/no)");
sender.sendMessage("EssentialsSpawn lets you control player spawning");
sender.sendMessage("It allows you to set different places where players spawn on death, new players join and allows players to return to spawn.");
}
@Override
public void doWork(final WorkListener listener)
{
if (getAnswer())
{
new InstallModule(listener, "EssentialsSpawn").start();
return;
}
listener.onWorkDone();
}
}

View File

@ -24,7 +24,9 @@ public class StateMachine extends WorkListener
this.player = player;
states.clear();
states.add(new EssentialsChat(states));
states.add(new EssentialsSpawn(states));
states.add(new EssentialsProtect(states));
states.add(new EssentialsGeoIP(states));
current = states.values().iterator().next();
}