Compare commits

..

1 Commits

Author SHA1 Message Date
fb914734ce Proof of concept implementation
Implemented based on what https://forum.totalfreedom.me/d/2882-town-hall-thingy-results says.
2021-10-03 08:26:22 -06:00
5 changed files with 79 additions and 17 deletions

View File

@ -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;
}
}

View File

@ -34,19 +34,7 @@ public class DiscordToMinecraftListener extends ListenerAdapter
{ {
message.append(" ").append(tag); message.append(" ").append(tag);
} }
message.append(" ").append(ChatColor.RED).append(ChatColor.stripColor(member.getEffectiveName())).append(ChatColor.DARK_GRAY).append(":").append(ChatColor.RESET);
message.append(" ").append(ChatColor.RED).append(ChatColor.stripColor(member.getEffectiveName())).append(ChatColor.DARK_GRAY).append(":");
Message repliedTo = msg.getReferencedMessage();
if (repliedTo != null)
{
message.append(ChatColor.DARK_GRAY + ChatColor.ITALIC +"[" + ChatColor.GRAY + "Replying to " + ChatColor.BOLD + repliedTo.getAuthor().getName() + ChatColor.RESET + ChatColor.DARK_GRAY+ "]" + ChatColor.RESET);
} else
{
message.append(ChatColor.RESET + " ");
}
ComponentBuilder builder = new ComponentBuilder(message.toString()); ComponentBuilder builder = new ComponentBuilder(message.toString());
if (!msg.getContentDisplay().isEmpty()) if (!msg.getContentDisplay().isEmpty())
{ {
@ -122,4 +110,4 @@ public class DiscordToMinecraftListener extends ListenerAdapter
return null; return null;
} }
} }
} }

View File

@ -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
materials[y++] = Material.BEDROCK;
if (generateBedrock)
{
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];
materials[0] = Material.BEDROCK;
if (generateBedrock)
{
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];
materials[0] = Material.BEDROCK;
if (generateBedrock)
{
materials[0] = Material.BEDROCK;
}
Arrays.fill(materials, 1, 65, Material.STONE); Arrays.fill(materials, 1, 65, Material.STONE);
} }
} }

View File

@ -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;
}
}

View File

@ -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())