2015-10-19 17:43:46 +00:00
|
|
|
package me.totalfreedom.totalfreedommod.world;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.List;
|
2019-07-28 06:04:16 +00:00
|
|
|
import org.apache.commons.lang.StringUtils;
|
2015-10-19 17:43:46 +00:00
|
|
|
import org.bukkit.World;
|
|
|
|
|
|
|
|
public enum WorldTime
|
|
|
|
{
|
2015-11-22 18:26:47 +00:00
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
INHERIT(),
|
|
|
|
SUNRISE("sunrise,morning", 0),
|
|
|
|
NOON("noon,midday,day", 6000),
|
|
|
|
SUNSET("sunset,evening", 12000),
|
|
|
|
MIDNIGHT("midnight,night", 18000);
|
|
|
|
//
|
|
|
|
private final int timeTicks;
|
|
|
|
private final List<String> aliases;
|
|
|
|
|
2020-12-04 00:28:53 +00:00
|
|
|
WorldTime()
|
2015-10-19 17:43:46 +00:00
|
|
|
{
|
|
|
|
this.timeTicks = 0;
|
|
|
|
this.aliases = null;
|
|
|
|
}
|
|
|
|
|
2020-12-04 00:28:53 +00:00
|
|
|
WorldTime(String aliases, int timeTicks)
|
2015-10-19 17:43:46 +00:00
|
|
|
{
|
|
|
|
this.timeTicks = timeTicks;
|
|
|
|
this.aliases = Arrays.asList(StringUtils.split(aliases, ","));
|
|
|
|
}
|
|
|
|
|
|
|
|
public static WorldTime getByAlias(String needle)
|
|
|
|
{
|
|
|
|
needle = needle.toLowerCase();
|
|
|
|
for (WorldTime time : values())
|
|
|
|
{
|
|
|
|
if (time.aliases != null && time.aliases.contains(needle))
|
|
|
|
{
|
|
|
|
return time;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
2020-12-25 19:46:43 +00:00
|
|
|
|
|
|
|
public int getTimeTicks()
|
|
|
|
{
|
|
|
|
return timeTicks;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setWorldToTime(World world)
|
|
|
|
{
|
|
|
|
long time = world.getTime();
|
|
|
|
time -= time % 24000;
|
|
|
|
world.setTime(time + 24000 + getTimeTicks());
|
|
|
|
}
|
2020-12-04 00:28:53 +00:00
|
|
|
}
|