diff options
Diffstat (limited to 'EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java')
-rw-r--r-- | EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java b/EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java index b217ebd4b..22fadc0de 100644 --- a/EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java +++ b/EssentialsUpdate/src/com/earth2me/essentials/update/states/AbstractState.java @@ -7,6 +7,17 @@ import org.bukkit.entity.Player; public abstract class AbstractState { private transient boolean abortion = false; + private final transient StateMap stateMap; + + public AbstractState(final StateMap stateMap) + { + this.stateMap = stateMap; + } + + public AbstractState getState(final Class<? extends AbstractState> stateClass) + { + return stateMap.get(stateClass); + } public abstract AbstractState getNextState(); @@ -40,7 +51,7 @@ public abstract class AbstractState || trimmedAnswer.equalsIgnoreCase("bye") || trimmedAnswer.equalsIgnoreCase("abort")) { - abortion = true; + abort(); return null; } final boolean found = reactOnAnswer(trimmedAnswer); @@ -64,4 +75,9 @@ public abstract class AbstractState { return abortion; } + + protected void abort() + { + abortion = true; + } } |