infinity-craft/src/main/java/anvil/infinity/snap/SnapResult.java

61 lines
1.8 KiB
Java

package anvil.infinity.snap;
import anvil.infinity.config.ConfigHandler;
import anvil.infinity.config.ModConfig;
public enum SnapResult {
KILLHALF,
DESTROYSTONES,
BRINGBACK,
RECREATE,
KILLEVIL,
CREATIVE;
final static String KILLHALFID = "Kill half";
final static String DESTROYSTONESID = "Destroy the Stones";
final static String BRINGBACKID = "Bring back the dusted (WIP)";
final static String RECREATEID = "Recreate the Universe (WIP)";
final static String KILLEVILID = "Kill evil entities";
final static String CREATIVEID = "Change to Creative";
public SnapResult next() {
switch(this) {
case KILLHALF: return DESTROYSTONES;
case DESTROYSTONES: return BRINGBACK;
case BRINGBACK: return RECREATE;
case RECREATE: return KILLEVIL;
case KILLEVIL: if (ModConfig.General.snapCreative) {return CREATIVE;} else {return KILLHALF;}
case CREATIVE: return KILLHALF;
}
return KILLHALF;
}
@Override
public String toString() {
switch (this) {
case KILLHALF: return KILLHALFID;
case DESTROYSTONES: return DESTROYSTONESID;
case BRINGBACK: return BRINGBACKID;
case RECREATE: return RECREATEID;
case KILLEVIL: return KILLEVILID;
case CREATIVE: return CREATIVEID;
}
return "Kill half";
}
public static SnapResult fromString(String s) {
switch (s) {
case KILLHALFID: return KILLHALF;
case DESTROYSTONESID: return DESTROYSTONES;
case BRINGBACKID: return BRINGBACK;
case RECREATEID: return RECREATE;
case KILLEVILID: return KILLEVIL;
case CREATIVEID: return CREATIVE;
}
return KILLHALF;
}
}