init project
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.alttd.cometskyblock;
|
||||
|
||||
import com.alttd.cometskyblock.listeners.PlayerJoinListener;
|
||||
import com.alttd.cometskyblock.worldgenerator.IslandGenerator;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class CometSkyBlockPlugin extends JavaPlugin implements CometSkyBlockAPI {
|
||||
|
||||
private static CometSkyBlockPlugin instance;
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
CometSkyBlockAPI.Provider.register(instance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
String island = "Island";
|
||||
World world = Bukkit.getWorld(island);
|
||||
if (world == null) {
|
||||
new IslandGenerator(instance).create(island);
|
||||
}
|
||||
|
||||
final PluginManager pm = getServer().getPluginManager();
|
||||
pm.registerEvents(new PlayerJoinListener(this), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.alttd.cometskyblock.listeners;
|
||||
|
||||
import com.alttd.cometskyblock.CometSkyBlockPlugin;
|
||||
import com.alttd.cometskyblock.worldgenerator.IslandGenerator;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class PlayerJoinListener implements Listener {
|
||||
|
||||
private final CometSkyBlockPlugin plugin;
|
||||
public PlayerJoinListener(CometSkyBlockPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoinEvent(PlayerJoinEvent playerJoinEvent) {
|
||||
Player player = playerJoinEvent.getPlayer();
|
||||
String island = "Island";
|
||||
World world = Bukkit.getWorld(island);
|
||||
if (world == null) {
|
||||
new IslandGenerator(plugin).create(island);
|
||||
}
|
||||
player.setGameMode(GameMode.CREATIVE);
|
||||
player.setFlying(true);
|
||||
player.teleportAsync(new Location(world, 0, 256, 0));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.alttd.cometskyblock.worldgenerator;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.generator.BiomeProvider;
|
||||
import org.bukkit.generator.BlockPopulator;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.generator.WorldInfo;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class CometVoidGenerator extends ChunkGenerator {
|
||||
|
||||
@Override
|
||||
public @NotNull List<BlockPopulator> getDefaultPopulators(World world) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateSurface(@NotNull WorldInfo info, @NotNull Random random, int x, int z, @NotNull ChunkData data) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeProvider getDefaultBiomeProvider(WorldInfo worldInfo) {
|
||||
return worldInfo.vanillaBiomeProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldGenerateStructures() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.alttd.cometskyblock.worldgenerator;
|
||||
|
||||
import com.alttd.cometskyblock.CometSkyBlockPlugin;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
|
||||
public class IslandGenerator {
|
||||
|
||||
private final CometSkyBlockPlugin plugin;
|
||||
|
||||
public IslandGenerator(CometSkyBlockPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public void create(String islandName) {
|
||||
plugin.getServer().getScheduler().runTask(plugin, () -> {
|
||||
WorldCreator worldCreator = new WorldCreator(islandName);
|
||||
worldCreator.generator(new CometVoidGenerator());
|
||||
worldCreator.environment(World.Environment.NORMAL);
|
||||
worldCreator.generateStructures(true);
|
||||
|
||||
World world = worldCreator.createWorld();
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user