2015-10-19 17:43:46 +00:00
|
|
|
package me.totalfreedom.totalfreedommod.world;
|
2013-08-22 00:07:14 +00:00
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
import lombok.Getter;
|
|
|
|
import me.totalfreedom.totalfreedommod.util.FLog;
|
|
|
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
|
|
|
import net.pravian.aero.component.PluginComponent;
|
2013-08-22 00:07:14 +00:00
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.World;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public abstract class TFM_CustomWorld extends PluginComponent<TotalFreedomMod>
|
2013-08-22 00:07:14 +00:00
|
|
|
{
|
2015-10-19 17:43:46 +00:00
|
|
|
@Getter
|
|
|
|
private final String name;
|
|
|
|
//
|
2013-08-22 00:07:14 +00:00
|
|
|
private World world;
|
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public TFM_CustomWorld(String name)
|
2013-08-22 00:07:14 +00:00
|
|
|
{
|
2015-10-19 17:43:46 +00:00
|
|
|
this.name = name;
|
2013-08-22 00:07:14 +00:00
|
|
|
}
|
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public final World getWorld()
|
2013-08-22 00:07:14 +00:00
|
|
|
{
|
|
|
|
if (world == null || !Bukkit.getWorlds().contains(world))
|
|
|
|
{
|
|
|
|
world = generateWorld();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (world == null)
|
|
|
|
{
|
2015-10-19 17:43:46 +00:00
|
|
|
FLog.warning("Could not load world: " + name);
|
2013-08-22 00:07:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return world;
|
|
|
|
}
|
2015-10-19 17:43:46 +00:00
|
|
|
|
|
|
|
public void sendToWorld(Player player)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
player.teleport(getWorld().getSpawnLocation());
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
player.sendMessage(ex.getMessage());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected abstract World generateWorld();
|
2013-08-22 00:07:14 +00:00
|
|
|
}
|