mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 20:00:46 +00:00
Advanced mode
This commit is contained in:
parent
102570958e
commit
7f825750f0
3 changed files with 37 additions and 19 deletions
|
@ -14,7 +14,7 @@ public abstract class AbstractState
|
|||
this.stateMap = stateMap;
|
||||
}
|
||||
|
||||
public AbstractState getState(final Class<? extends AbstractState> stateClass)
|
||||
public <T extends AbstractState> T getState(final Class<? extends T> stateClass)
|
||||
{
|
||||
if (!stateMap.containsKey(stateClass))
|
||||
{
|
||||
|
@ -33,7 +33,7 @@ public abstract class AbstractState
|
|||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
return stateMap.get(stateClass);
|
||||
return (T)stateMap.get(stateClass);
|
||||
}
|
||||
|
||||
public abstract AbstractState getNextState();
|
||||
|
@ -86,7 +86,10 @@ public abstract class AbstractState
|
|||
/**
|
||||
* Do something based on the answer, that the user gave.
|
||||
*/
|
||||
public abstract void doWork(WorkListener workListener);
|
||||
public void doWork(final WorkListener listener)
|
||||
{
|
||||
listener.onWorkDone();
|
||||
}
|
||||
|
||||
public boolean isAbortion()
|
||||
{
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package com.earth2me.essentials.update.states;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
||||
public class AdvancedMode extends AbstractYesNoState
|
||||
{
|
||||
public AdvancedMode(final StateMap states)
|
||||
{
|
||||
super(states, EssentialsChat.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void askQuestion(final Player sender)
|
||||
{
|
||||
sender.sendMessage("This installation mode has a lot of options.");
|
||||
sender.sendMessage("Do you want use the advanced mode to see all questions?");
|
||||
sender.sendMessage("Otherwise the default values will be used.");
|
||||
}
|
||||
}
|
|
@ -1,10 +1,6 @@
|
|||
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
|
||||
|
@ -14,21 +10,20 @@ public class EssentialsChatSettings extends AbstractYesNoState
|
|||
super(states, EssentialsSpawn.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean guessAnswer()
|
||||
{
|
||||
if (getState(AdvancedMode.class).getAnswer())
|
||||
{
|
||||
setAnswer(false);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue