mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-26 17:05:01 +00:00
Proof of concept implementation
Implemented based on what https://forum.totalfreedom.me/d/2882-town-hall-thingy-results says.
This commit is contained in:
parent
a598c933ec
commit
fb914734ce
@ -0,0 +1,19 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.command;
|
||||||
|
|
||||||
|
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = Rank.NON_OP, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Go to the Floatlands (not to be confused with the Flatlands).", usage = "/<command>", aliases = "void")
|
||||||
|
public class Command_floatlands extends FreedomCommand
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
plugin.wm.floatlands.sendToWorld(playerSender);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -40,6 +40,11 @@ public class CleanroomChunkGenerator extends ChunkGenerator
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CleanroomChunkGenerator(String id)
|
public CleanroomChunkGenerator(String id)
|
||||||
|
{
|
||||||
|
this(id, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CleanroomChunkGenerator(String id, boolean generateBedrock)
|
||||||
{
|
{
|
||||||
if (id != null)
|
if (id != null)
|
||||||
{
|
{
|
||||||
@ -48,7 +53,11 @@ public class CleanroomChunkGenerator extends ChunkGenerator
|
|||||||
int y = 0;
|
int y = 0;
|
||||||
|
|
||||||
materials = new Material[128]; // Default to 128, will be resized later if required
|
materials = new Material[128]; // Default to 128, will be resized later if required
|
||||||
|
|
||||||
|
if (generateBedrock)
|
||||||
|
{
|
||||||
materials[y++] = Material.BEDROCK;
|
materials[y++] = Material.BEDROCK;
|
||||||
|
}
|
||||||
|
|
||||||
if (id.length() > 0)
|
if (id.length() > 0)
|
||||||
{
|
{
|
||||||
@ -115,14 +124,24 @@ public class CleanroomChunkGenerator extends ChunkGenerator
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
||||||
materials = new Material[65];
|
materials = new Material[65];
|
||||||
|
|
||||||
|
if (generateBedrock)
|
||||||
|
{
|
||||||
materials[0] = Material.BEDROCK;
|
materials[0] = Material.BEDROCK;
|
||||||
|
}
|
||||||
|
|
||||||
Arrays.fill(materials, 1, 65, Material.STONE);
|
Arrays.fill(materials, 1, 65, Material.STONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
materials = new Material[65];
|
materials = new Material[65];
|
||||||
|
|
||||||
|
if (generateBedrock)
|
||||||
|
{
|
||||||
materials[0] = Material.BEDROCK;
|
materials[0] = Material.BEDROCK;
|
||||||
|
}
|
||||||
|
|
||||||
Arrays.fill(materials, 1, 65, Material.STONE);
|
Arrays.fill(materials, 1, 65, Material.STONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
package me.totalfreedom.totalfreedommod.world;
|
||||||
|
|
||||||
|
import org.bukkit.*;
|
||||||
|
|
||||||
|
public class Floatlands extends CustomWorld
|
||||||
|
{
|
||||||
|
|
||||||
|
public Floatlands()
|
||||||
|
{
|
||||||
|
super("floatlands");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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("", false));
|
||||||
|
|
||||||
|
final World world = Bukkit.getServer().createWorld(worldCreator);
|
||||||
|
|
||||||
|
assert world != null;
|
||||||
|
world.setSpawnFlags(false, false);
|
||||||
|
world.setSpawnLocation(0, 50, 0);
|
||||||
|
|
||||||
|
plugin.gr.commitGameRules();
|
||||||
|
|
||||||
|
return world;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -20,12 +20,14 @@ public class WorldManager extends FreedomService
|
|||||||
public Flatlands flatlands;
|
public Flatlands flatlands;
|
||||||
public AdminWorld adminworld;
|
public AdminWorld adminworld;
|
||||||
public MasterBuilderWorld masterBuilderWorld;
|
public MasterBuilderWorld masterBuilderWorld;
|
||||||
|
public Floatlands floatlands;
|
||||||
|
|
||||||
public WorldManager()
|
public WorldManager()
|
||||||
{
|
{
|
||||||
this.flatlands = new Flatlands();
|
this.flatlands = new Flatlands();
|
||||||
this.adminworld = new AdminWorld();
|
this.adminworld = new AdminWorld();
|
||||||
this.masterBuilderWorld = new MasterBuilderWorld();
|
this.masterBuilderWorld = new MasterBuilderWorld();
|
||||||
|
this.floatlands = new Floatlands();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -34,6 +36,7 @@ public class WorldManager extends FreedomService
|
|||||||
flatlands.getWorld();
|
flatlands.getWorld();
|
||||||
adminworld.getWorld();
|
adminworld.getWorld();
|
||||||
masterBuilderWorld.getWorld();
|
masterBuilderWorld.getWorld();
|
||||||
|
floatlands.getWorld();
|
||||||
|
|
||||||
// Disable weather
|
// Disable weather
|
||||||
if (ConfigEntry.DISABLE_WEATHER.getBoolean())
|
if (ConfigEntry.DISABLE_WEATHER.getBoolean())
|
||||||
|
Loading…
Reference in New Issue
Block a user