mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-11 13:33:54 +00:00
Master Builder world
This commit is contained in:
@ -0,0 +1,110 @@
|
||||
package me.totalfreedom.totalfreedommod.world;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||
import me.totalfreedom.totalfreedommod.util.FLog;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
import org.bukkit.WorldType;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public final class MasterBuilderWorld extends CustomWorld
|
||||
{
|
||||
|
||||
private static final String GENERATION_PARAMETERS = ConfigEntry.FLATLANDS_GENERATE_PARAMS.getString();;
|
||||
//
|
||||
private WorldWeather weather = WorldWeather.OFF;
|
||||
private WorldTime time = WorldTime.INHERIT;
|
||||
|
||||
public MasterBuilderWorld()
|
||||
{
|
||||
super("masterbuilderworld");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendToWorld(Player player)
|
||||
{
|
||||
super.sendToWorld(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected World generateWorld()
|
||||
{
|
||||
final WorldCreator worldCreator = new WorldCreator(getName());
|
||||
worldCreator.generateStructures(false);
|
||||
worldCreator.type(WorldType.NORMAL);
|
||||
worldCreator.environment(World.Environment.NORMAL);
|
||||
worldCreator.generator(new CleanroomChunkGenerator(GENERATION_PARAMETERS));
|
||||
|
||||
final World world = server.createWorld(worldCreator);
|
||||
|
||||
world.setSpawnFlags(false, false);
|
||||
world.setSpawnLocation(0, 50, 0);
|
||||
|
||||
final Block welcomeSignBlock = world.getBlockAt(0, 50, 0);
|
||||
welcomeSignBlock.setType(Material.SIGN_POST);
|
||||
org.bukkit.block.Sign welcomeSign = (org.bukkit.block.Sign) welcomeSignBlock.getState();
|
||||
|
||||
org.bukkit.material.Sign signData = (org.bukkit.material.Sign) welcomeSign.getData();
|
||||
signData.setFacingDirection(BlockFace.NORTH);
|
||||
|
||||
welcomeSign.setLine(0, ChatColor.GREEN + "MB World");
|
||||
welcomeSign.setLine(1, ChatColor.DARK_GRAY + "---");
|
||||
welcomeSign.setLine(2, ChatColor.YELLOW + "Spawn Point");
|
||||
welcomeSign.setLine(3, ChatColor.DARK_GRAY + "---");
|
||||
welcomeSign.update();
|
||||
|
||||
plugin.gr.commitGameRules();
|
||||
return world;
|
||||
}
|
||||
|
||||
public WorldWeather getWeatherMode()
|
||||
{
|
||||
return weather;
|
||||
}
|
||||
|
||||
public void setWeatherMode(final WorldWeather weatherMode)
|
||||
{
|
||||
this.weather = weatherMode;
|
||||
|
||||
try
|
||||
{
|
||||
weatherMode.setWorldToWeather(getWorld());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public WorldTime getTimeOfDay()
|
||||
{
|
||||
return time;
|
||||
}
|
||||
|
||||
public void setTimeOfDay(final WorldTime timeOfDay)
|
||||
{
|
||||
this.time = timeOfDay;
|
||||
|
||||
try
|
||||
{
|
||||
timeOfDay.setWorldToTime(getWorld());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -22,6 +22,7 @@ public class WorldManager extends FreedomService
|
||||
|
||||
public Flatlands flatlands;
|
||||
public AdminWorld adminworld;
|
||||
public MasterBuilderWorld masterBuilderWorld;
|
||||
|
||||
public WorldManager(TotalFreedomMod plugin)
|
||||
{
|
||||
@ -29,6 +30,7 @@ public class WorldManager extends FreedomService
|
||||
|
||||
this.flatlands = new Flatlands();
|
||||
this.adminworld = new AdminWorld();
|
||||
this.masterBuilderWorld = new MasterBuilderWorld();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -36,6 +38,7 @@ public class WorldManager extends FreedomService
|
||||
{
|
||||
flatlands.getWorld();
|
||||
adminworld.getWorld();
|
||||
masterBuilderWorld.getWorld();
|
||||
|
||||
// Disable weather
|
||||
if (ConfigEntry.DISABLE_WEATHER.getBoolean())
|
||||
@ -55,6 +58,7 @@ public class WorldManager extends FreedomService
|
||||
{
|
||||
flatlands.getWorld().save();
|
||||
adminworld.getWorld().save();
|
||||
masterBuilderWorld.getWorld().save();
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
@ -101,6 +105,10 @@ public class WorldManager extends FreedomService
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (event.getWorld().equals(masterBuilderWorld.getWorld()) && masterBuilderWorld.getWeatherMode() != WorldWeather.OFF)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -121,6 +129,10 @@ public class WorldManager extends FreedomService
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (event.getWorld().equals(masterBuilderWorld.getWorld()) && masterBuilderWorld.getWeatherMode() != WorldWeather.OFF)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
Reference in New Issue
Block a user