message
This commit is contained in:
@@ -218,7 +218,11 @@ public class PlayerDeathListener implements Listener {
|
|||||||
} else if (plugin.playersInFfa.contains(player)) {
|
} else if (plugin.playersInFfa.contains(player)) {
|
||||||
plugin.tpToSpawn(player);
|
plugin.tpToSpawn(player);
|
||||||
plugin.playersInFfa.remove(player);
|
plugin.playersInFfa.remove(player);
|
||||||
e.setDeathMessage("§c" + player.getName() + " §7meghalt §c" + e.getEntity().getKiller() + " §7által");
|
if (player.getKiller() != null) {
|
||||||
|
e.setDeathMessage("§c" + player.getName() + " §7meghalt §c" + player.getKiller() + " §7által");
|
||||||
|
} else {
|
||||||
|
e.setDeathMessage("");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
plugin.tpToSpawn(player);
|
plugin.tpToSpawn(player);
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package hu.jgj52.pvpcore.Utils;
|
|||||||
|
|
||||||
import hu.jgj52.pvpcore.Main;
|
import hu.jgj52.pvpcore.Main;
|
||||||
import org.bukkit.*;
|
import org.bukkit.*;
|
||||||
|
import org.bukkit.generator.ChunkGenerator;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
public class WorldReset {
|
public class WorldReset {
|
||||||
private Main plugin;
|
private Main plugin;
|
||||||
@@ -14,16 +16,12 @@ public class WorldReset {
|
|||||||
|
|
||||||
public boolean recreateArenaWorld() {
|
public boolean recreateArenaWorld() {
|
||||||
String worldName = "arenas";
|
String worldName = "arenas";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
removeArenaWorld(worldName);
|
removeArenaWorld(worldName);
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskLater(plugin, () -> {
|
Bukkit.getScheduler().runTaskLater(plugin, () -> {
|
||||||
createArenaWorld(worldName);
|
createArenaWorld(worldName);
|
||||||
}, 20L);
|
}, 20L);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
plugin.getLogger().severe("Error recreating arena world: " + e.getMessage());
|
plugin.getLogger().severe("Error recreating arena world: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -34,22 +32,17 @@ public class WorldReset {
|
|||||||
private boolean removeArenaWorld(String worldName) {
|
private boolean removeArenaWorld(String worldName) {
|
||||||
try {
|
try {
|
||||||
World world = Bukkit.getWorld(worldName);
|
World world = Bukkit.getWorld(worldName);
|
||||||
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
|
|
||||||
world.getPlayers().forEach(player -> {
|
world.getPlayers().forEach(player -> {
|
||||||
plugin.tpToSpawn(player);
|
plugin.tpToSpawn(player);
|
||||||
player.sendMessage("§cszia resetel a map szoval tunes");
|
player.sendMessage("§cszia resetel a map szoval tunes");
|
||||||
});
|
});
|
||||||
|
|
||||||
boolean unloaded = Bukkit.unloadWorld(world, false);
|
boolean unloaded = Bukkit.unloadWorld(world, false);
|
||||||
|
|
||||||
if (unloaded) {
|
if (unloaded) {
|
||||||
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
||||||
if (worldFolder.exists()) {
|
if (worldFolder.exists()) {
|
||||||
deleteDirectory(worldFolder);
|
deleteDirectory(worldFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
plugin.getLogger().warning("Failed to unload arena world.");
|
plugin.getLogger().warning("Failed to unload arena world.");
|
||||||
@@ -71,9 +64,7 @@ public class WorldReset {
|
|||||||
.environment(World.Environment.NORMAL)
|
.environment(World.Environment.NORMAL)
|
||||||
.generateStructures(false)
|
.generateStructures(false)
|
||||||
.generatorSettings("{\"layers\":[{\"block\":\"air\",\"height\":1}],\"biome\":\"plains\"}");
|
.generatorSettings("{\"layers\":[{\"block\":\"air\",\"height\":1}],\"biome\":\"plains\"}");
|
||||||
|
|
||||||
World world = creator.createWorld();
|
World world = creator.createWorld();
|
||||||
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
world.setSpawnFlags(false, false);
|
world.setSpawnFlags(false, false);
|
||||||
world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false);
|
world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false);
|
||||||
@@ -86,7 +77,6 @@ public class WorldReset {
|
|||||||
plugin.getLogger().severe("Failed to create arena world!");
|
plugin.getLogger().severe("Failed to create arena world!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
plugin.getLogger().severe("Error creating arena world: " + e.getMessage());
|
plugin.getLogger().severe("Error creating arena world: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -96,7 +86,6 @@ public class WorldReset {
|
|||||||
|
|
||||||
public boolean recreateFfaWorld() {
|
public boolean recreateFfaWorld() {
|
||||||
String worldName = "ffa";
|
String worldName = "ffa";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!removeFfaWorld(worldName)) {
|
if (!removeFfaWorld(worldName)) {
|
||||||
plugin.getLogger().warning("Failed to remove FFA world!");
|
plugin.getLogger().warning("Failed to remove FFA world!");
|
||||||
@@ -106,9 +95,7 @@ public class WorldReset {
|
|||||||
Bukkit.getScheduler().runTaskLater(plugin, () -> {
|
Bukkit.getScheduler().runTaskLater(plugin, () -> {
|
||||||
createFfaWorld(worldName);
|
createFfaWorld(worldName);
|
||||||
}, 100L);
|
}, 100L);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
plugin.getLogger().severe("Error recreating FFA world: " + e.getMessage());
|
plugin.getLogger().severe("Error recreating FFA world: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -116,26 +103,20 @@ public class WorldReset {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean removeFfaWorld(String worldName) {
|
private boolean removeFfaWorld(String worldName) {
|
||||||
try {
|
try {
|
||||||
World world = Bukkit.getWorld(worldName);
|
World world = Bukkit.getWorld(worldName);
|
||||||
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
|
|
||||||
world.getPlayers().forEach(player -> {
|
world.getPlayers().forEach(player -> {
|
||||||
plugin.tpToSpawn(player);
|
plugin.tpToSpawn(player);
|
||||||
player.sendMessage("§cszia resetel a map szoval tunes");
|
player.sendMessage("§cszia resetel a map szoval tunes");
|
||||||
});
|
});
|
||||||
|
|
||||||
boolean unloaded = Bukkit.unloadWorld(world, false);
|
boolean unloaded = Bukkit.unloadWorld(world, false);
|
||||||
|
|
||||||
if (unloaded) {
|
if (unloaded) {
|
||||||
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
||||||
if (worldFolder.exists()) {
|
if (worldFolder.exists()) {
|
||||||
deleteDirectory(worldFolder);
|
deleteDirectory(worldFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
plugin.getLogger().warning("Failed to unload arena world.");
|
plugin.getLogger().warning("Failed to unload arena world.");
|
||||||
@@ -153,10 +134,9 @@ public class WorldReset {
|
|||||||
private boolean createFfaWorld(String worldName) {
|
private boolean createFfaWorld(String worldName) {
|
||||||
try {
|
try {
|
||||||
WorldCreator creator = new WorldCreator(worldName)
|
WorldCreator creator = new WorldCreator(worldName)
|
||||||
.environment(World.Environment.NORMAL);
|
.environment(World.Environment.NORMAL)
|
||||||
|
.generator(new VoidGenerator());
|
||||||
World world = creator.createWorld();
|
World world = creator.createWorld();
|
||||||
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
world.setSpawnFlags(false, false);
|
world.setSpawnFlags(false, false);
|
||||||
world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false);
|
world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, false);
|
||||||
@@ -172,7 +152,6 @@ public class WorldReset {
|
|||||||
plugin.getLogger().severe("Failed to create arena world!");
|
plugin.getLogger().severe("Failed to create arena world!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
plugin.getLogger().severe("Error creating arena world: " + e.getMessage());
|
plugin.getLogger().severe("Error creating arena world: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -195,4 +174,11 @@ public class WorldReset {
|
|||||||
}
|
}
|
||||||
return directory.delete();
|
return directory.delete();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public static class VoidGenerator extends ChunkGenerator {
|
||||||
|
@Override
|
||||||
|
public ChunkData generateChunkData(World world, Random random, int chunkX, int chunkZ, BiomeGrid biome) {
|
||||||
|
return createChunkData(world);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user