Bukkit 1.20.1 SuperiorSkyblock2 自动创建/传送空岛插件
以下是一个使用Java编写的Bukkit插件,基于SuperiorSkyblock2插件,可以在玩家加入服务器时,如果有空岛则直接传送到空岛,如果没有空岛则自动创建一个空岛。
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.WorldCreator;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import com.bgsoftware.superiorskyblock.api.SuperiorSkyblockAPI;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
public class JoinIslandPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// 注册事件监听器
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
SuperiorPlayer superiorPlayer = SuperiorSkyblockAPI.getPlayer(player);
// 检查玩家是否已经有空岛
if (superiorPlayer.getIsland() != null) {
// 如果有空岛,直接传送到空岛
Island island = superiorPlayer.getIsland();
Location islandLocation = island.getCenter();
teleportPlayer(player, islandLocation);
} else {
// 如果没有空岛,创建一个新的空岛
World world = createIslandWorld();
Location spawnLocation = world.getSpawnLocation();
teleportPlayer(player, spawnLocation);
// 设置玩家的空岛
SuperiorSkyblockAPI.getGrid().getIslandAt(spawnLocation, island -> {
if (island != null) {
superiorPlayer.setIsland(island);
}
});
}
}
private void teleportPlayer(Player player, Location location) {
player.teleport(location);
}
private World createIslandWorld() {
WorldCreator worldCreator = new WorldCreator('island_world');
worldCreator.generator(new EmptyWorldGenerator());
return Bukkit.createWorld(worldCreator);
}
}
请确保已经安装了SuperiorSkyblock2插件,并将其添加到您的项目依赖中。
此插件将在玩家加入服务器时触发PlayerJoinEvent事件,然后检查玩家是否已经有空岛。如果有空岛,则直接将玩家传送到空岛的中心位置;如果没有空岛,则创建一个名为island_world的新世界,并将玩家传送到该世界的生成点。然后,通过SuperiorSkyblockAPI.getGrid().getIslandAt()方法,将该空岛设置为玩家的空岛。
注意:EmptyWorldGenerator是一个空的世界生成器,它会生成一个没有任何方块的空白世界。您可以根据需要更改世界生成器的实现。
原文地址: https://www.cveoy.top/t/topic/fybm 著作权归作者所有。请勿转载和采集!