Update v1.1
PoketDimension now Loads Worlds on Load automatically and does not need a world managing plugin to function after a server restart. Additionally some Names were renamed.
This commit is contained in:
Generated
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules/untitled.main.iml" filepath="$PROJECT_DIR$/.idea/modules/untitled.main.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/PoketDimensions.main.iml" filepath="$PROJECT_DIR$/.idea/modules/PoketDimensions.main.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
package dev.siskel.poketDimensions;
|
package dev.siskel.poketDimensions;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import dev.siskel.poketDimensions.commands.givepd;
|
import dev.siskel.poketDimensions.commands.givepd;
|
||||||
@@ -10,11 +12,16 @@ import dev.siskel.poketDimensions.commands.pdgamerule;
|
|||||||
import dev.siskel.poketDimensions.commands.pdtp;
|
import dev.siskel.poketDimensions.commands.pdtp;
|
||||||
import dev.siskel.poketDimensions.commands.player.pd;
|
import dev.siskel.poketDimensions.commands.player.pd;
|
||||||
import dev.siskel.poketDimensions.events.PlayerInteract;
|
import dev.siskel.poketDimensions.events.PlayerInteract;
|
||||||
|
import dev.siskel.poketDimensions.loader.PoketDimensionsWorldLoader;
|
||||||
import dev.siskel.poketDimensions.managers.InviteManager;
|
import dev.siskel.poketDimensions.managers.InviteManager;
|
||||||
|
import dev.siskel.poketDimensions.managers.PlayerLocationManager;
|
||||||
import dev.siskel.poketDimensions.managers.PoketDimensionManager;
|
import dev.siskel.poketDimensions.managers.PoketDimensionManager;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.*;
|
||||||
import org.bukkit.command.PluginCommand;
|
import org.bukkit.command.PluginCommand;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.player.PlayerPreLoginEvent;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
@@ -51,6 +58,15 @@ public final class PoketDimensions extends JavaPlugin {
|
|||||||
((PluginCommand)Objects.requireNonNull(this.getCommand("pdtp"))).setExecutor(new pdtp());
|
((PluginCommand)Objects.requireNonNull(this.getCommand("pdtp"))).setExecutor(new pdtp());
|
||||||
((PluginCommand)Objects.requireNonNull(this.getCommand("pd"))).setExecutor(new pd(inviteManager, pocketDimensionManager));
|
((PluginCommand)Objects.requireNonNull(this.getCommand("pd"))).setExecutor(new pd(inviteManager, pocketDimensionManager));
|
||||||
((PluginCommand)Objects.requireNonNull(this.getCommand("pdgamerule"))).setExecutor(new pdgamerule());
|
((PluginCommand)Objects.requireNonNull(this.getCommand("pdgamerule"))).setExecutor(new pdgamerule());
|
||||||
|
|
||||||
|
PoketDimensionsWorldLoader pwl = new PoketDimensionsWorldLoader();
|
||||||
|
|
||||||
|
Bukkit.getScheduler().runTask(this, () -> {
|
||||||
|
pwl.loadAllWorldsInFolder("poketdimensions");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.logger.info("Plugin Activated!");
|
this.logger.info("Plugin Activated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package dev.siskel.poketDimensions.classes;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
public class PlayerLocation {
|
||||||
|
private String world;
|
||||||
|
private double x, y, z;
|
||||||
|
private float yaw, pitch;
|
||||||
|
|
||||||
|
public PlayerLocation(String world, double x, double y, double z, float yaw, float pitch) {
|
||||||
|
this.world = world;
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.z = z;
|
||||||
|
this.yaw = yaw;
|
||||||
|
this.pitch = pitch;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayerLocation(Location loc) {
|
||||||
|
this(loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorld() {
|
||||||
|
return world;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getZ() {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getYaw() {
|
||||||
|
return yaw;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getPitch() {
|
||||||
|
return pitch;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert back to Bukkit Location (requires a reference to the server/world)
|
||||||
|
public Location toLocation(org.bukkit.Server server) {
|
||||||
|
if (server.getWorld(world) == null) return null;
|
||||||
|
return new Location(server.getWorld(world), x, y, z, yaw, pitch);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ public class pdgamerule implements CommandExecutor, TabCompleter {
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
||||||
String worldName = "pocketdimension-" + targetPlayer.getUniqueId().toString();
|
String worldName = "poketdimensions/pocketdimension-" + targetPlayer.getUniqueId().toString();
|
||||||
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
||||||
if (worldFolder.exists() && worldFolder.isDirectory()) {
|
if (worldFolder.exists() && worldFolder.isDirectory()) {
|
||||||
World targetWorld = Bukkit.getWorld(worldName);
|
World targetWorld = Bukkit.getWorld(worldName);
|
||||||
@@ -97,7 +97,7 @@ public class pdgamerule implements CommandExecutor, TabCompleter {
|
|||||||
List<String> suggestions = new ArrayList();
|
List<String> suggestions = new ArrayList();
|
||||||
if (args.length == 2) {
|
if (args.length == 2) {
|
||||||
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
||||||
String worldName = "pocketdimension-" + targetPlayer.getUniqueId().toString();
|
String worldName = "poketdimensions/pocketdimension-" + targetPlayer.getUniqueId().toString();
|
||||||
World targetWorld = Bukkit.getWorld(worldName);
|
World targetWorld = Bukkit.getWorld(worldName);
|
||||||
if (targetWorld != null) {
|
if (targetWorld != null) {
|
||||||
for(String gameRule : targetWorld.getGameRules()) {
|
for(String gameRule : targetWorld.getGameRules()) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class pdtp implements CommandExecutor {
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(args[0]);
|
||||||
String worldName = "pocketdimension-" + targetPlayer.getUniqueId().toString();
|
String worldName = "poketdimensions/pocketdimension-" + targetPlayer.getUniqueId().toString();
|
||||||
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
File worldFolder = new File(Bukkit.getWorldContainer(), worldName);
|
||||||
if (worldFolder.exists() && worldFolder.isDirectory()) {
|
if (worldFolder.exists() && worldFolder.isDirectory()) {
|
||||||
World targetWorld = Bukkit.getWorld(worldName);
|
World targetWorld = Bukkit.getWorld(worldName);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import dev.siskel.poketDimensions.managers.LocationManager;
|
|||||||
|
|
||||||
import org.bukkit.*;
|
import org.bukkit.*;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@@ -70,9 +71,9 @@ public class PlayerInteract implements Listener {
|
|||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
if (meta != null && meta.getPersistentDataContainer().has(pdKey, PersistentDataType.STRING)) {
|
if (meta != null && meta.getPersistentDataContainer().has(pdKey, PersistentDataType.STRING)) {
|
||||||
String pdValue = (String) meta.getPersistentDataContainer().get(pdKey, PersistentDataType.STRING);
|
String pdValue = (String) meta.getPersistentDataContainer().get(pdKey, PersistentDataType.STRING);
|
||||||
World playerpdd = Bukkit.getWorld("pocketdimension-" + p.getUniqueId().toString());
|
World playerpdd = Bukkit.getWorld("poketdimensions/pocketdimension-" + p.getUniqueId().toString());
|
||||||
if ((a == Action.RIGHT_CLICK_BLOCK || a == Action.RIGHT_CLICK_AIR) && pdValue != null && pdValue.equals(p.getUniqueId().toString()) && playerpdd == null) {
|
if ((a == Action.RIGHT_CLICK_BLOCK || a == Action.RIGHT_CLICK_AIR) && pdValue != null && pdValue.equals(p.getUniqueId().toString()) && playerpdd == null) {
|
||||||
WorldCreator pocketdimensioncreator = (new WorldCreator("pocketdimension-" + p.getUniqueId().toString())).type(WorldType.FLAT).generateStructures(false).seed(1L).environment(Environment.NORMAL).generator(new VoidWorldGenerator.VoidWorld());
|
WorldCreator pocketdimensioncreator = (new WorldCreator("poketdimensions/pocketdimension-" + p.getUniqueId().toString())).type(WorldType.FLAT).generateStructures(false).seed(1L).environment(Environment.NORMAL).generator(new VoidWorldGenerator.VoidWorld());
|
||||||
p.sendMessage(ChatColor.GREEN + "Loading your pocket dimension!");
|
p.sendMessage(ChatColor.GREEN + "Loading your pocket dimension!");
|
||||||
playerpdd = Bukkit.createWorld(pocketdimensioncreator);
|
playerpdd = Bukkit.createWorld(pocketdimensioncreator);
|
||||||
if (playerpdd == null) {
|
if (playerpdd == null) {
|
||||||
@@ -86,8 +87,8 @@ public class PlayerInteract implements Listener {
|
|||||||
createBasePlatform(playerpdd);
|
createBasePlatform(playerpdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p.getWorld() != Bukkit.getWorld("pocketdimension-" + p.getUniqueId().toString())) {
|
if (p.getWorld() != Bukkit.getWorld("poketdimensions/pocketdimension-" + p.getUniqueId().toString())) {
|
||||||
final World playerpd = Bukkit.getWorld("pocketdimension-" + p.getUniqueId().toString());
|
final World playerpd = Bukkit.getWorld("poketdimensions/pocketdimension-" + p.getUniqueId().toString());
|
||||||
if (playerpd != null) {
|
if (playerpd != null) {
|
||||||
WorldBorder worldBorder = playerpd.getWorldBorder();
|
WorldBorder worldBorder = playerpd.getWorldBorder();
|
||||||
worldBorder.setCenter((double) 0.0F, (double) 0.0F);
|
worldBorder.setCenter((double) 0.0F, (double) 0.0F);
|
||||||
@@ -183,7 +184,7 @@ public class PlayerInteract implements Listener {
|
|||||||
p.sendMessage(ChatColor.RED + "Failed to load the pocket dimension.");
|
p.sendMessage(ChatColor.RED + "Failed to load the pocket dimension.");
|
||||||
this.logger.severe("Failed to load the pocket dimension.");
|
this.logger.severe("Failed to load the pocket dimension.");
|
||||||
}
|
}
|
||||||
} else if (p.getWorld() == Bukkit.getWorld("pocketdimension-" + p.getUniqueId().toString()) && Bukkit.getWorld("pocketdimension-" + p.getUniqueId().toString()) != null) {
|
} else if (p.getWorld() == Bukkit.getWorld("poketdimensions/pocketdimension-" + p.getUniqueId().toString()) && Bukkit.getWorld("poketdimensions/pocketdimension-" + p.getUniqueId().toString()) != null) {
|
||||||
p.sendMessage("Sending you back to the main world.");
|
p.sendMessage("Sending you back to the main world.");
|
||||||
locman.saveLastLocation(p, true);
|
locman.saveLastLocation(p, true);
|
||||||
Location lastLocation = locman.getLastLocation(p, false);
|
Location lastLocation = locman.getLastLocation(p, false);
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package dev.siskel.poketDimensions.loader;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.WorldCreator;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class PoketDimensionsWorldLoader {
|
||||||
|
public World createWorldInFolder(String folderName, String worldName) {
|
||||||
|
// Build the path relative to server root, e.g. "worlds/myworld"
|
||||||
|
String worldPath = folderName + "/" + worldName;
|
||||||
|
|
||||||
|
WorldCreator creator = new WorldCreator(worldPath);
|
||||||
|
World world = Bukkit.createWorld(creator);
|
||||||
|
|
||||||
|
return world;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loadAllWorldsInFolder(String folderName) {
|
||||||
|
File folder = new File(Bukkit.getServer().getWorldContainer(), folderName);
|
||||||
|
if (!folder.exists() || !folder.isDirectory()) {
|
||||||
|
Bukkit.getLogger().warning("Folder '" + folderName + "' does not exist or is not a directory.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
File[] files = folder.listFiles(File::isDirectory);
|
||||||
|
if (files == null) {
|
||||||
|
Bukkit.getLogger().warning("Failed to list subdirectories in '" + folderName + "'.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (File worldDir : files) {
|
||||||
|
String worldPath = folderName + "/" + worldDir.getName();
|
||||||
|
|
||||||
|
// Check if world is already loaded to avoid duplication
|
||||||
|
if (Bukkit.getWorld(worldDir.getName()) == null) {
|
||||||
|
WorldCreator creator = new WorldCreator(worldPath);
|
||||||
|
World world = Bukkit.createWorld(creator);
|
||||||
|
|
||||||
|
if (world != null) {
|
||||||
|
Bukkit.getLogger().info("Loaded world: " + world.getName());
|
||||||
|
} else {
|
||||||
|
Bukkit.getLogger().warning("Failed to load world: " + worldDir.getName());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Bukkit.getLogger().info("World already loaded: " + worldDir.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,10 +24,10 @@ public class InviteManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sendInvite(final Player playerFrom, final Player playerTo) {
|
public void sendInvite(final Player playerFrom, final Player playerTo) {
|
||||||
if (Bukkit.getWorld("pocketdimension-" + playerFrom.getUniqueId().toString()) == null) {
|
if (Bukkit.getWorld("poketdimensions/pocketdimension-" + playerFrom.getUniqueId().toString()) == null) {
|
||||||
playerFrom.sendMessage("You don't have a pocket dimension!");
|
playerFrom.sendMessage("You don't have a pocket dimension!");
|
||||||
} else {
|
} else {
|
||||||
World pocketDimensionWorld = Bukkit.getWorld("pocketdimension-" + playerFrom.getUniqueId().toString());
|
World pocketDimensionWorld = Bukkit.getWorld("poketdimensions/pocketdimension-" + playerFrom.getUniqueId().toString());
|
||||||
if (playerFrom.getWorld() != pocketDimensionWorld) {
|
if (playerFrom.getWorld() != pocketDimensionWorld) {
|
||||||
playerFrom.sendMessage("You're not in your pocket dimension!");
|
playerFrom.sendMessage("You're not in your pocket dimension!");
|
||||||
} else {
|
} else {
|
||||||
@@ -60,7 +60,7 @@ public class InviteManager {
|
|||||||
if (invite == null) {
|
if (invite == null) {
|
||||||
playerTo.sendMessage(ChatColor.RED + "No invites.");
|
playerTo.sendMessage(ChatColor.RED + "No invites.");
|
||||||
} else {
|
} else {
|
||||||
String worldName = "pocketdimension-" + invite.getFrom().getUniqueId().toString();
|
String worldName = "poketdimensions/pocketdimension-" + invite.getFrom().getUniqueId().toString();
|
||||||
World pocketDimensionWorld = Bukkit.getWorld(worldName);
|
World pocketDimensionWorld = Bukkit.getWorld(worldName);
|
||||||
if (pocketDimensionWorld == null) {
|
if (pocketDimensionWorld == null) {
|
||||||
playerTo.sendMessage("Hmm, we can't find that pocket dimension. Ask for another invite?");
|
playerTo.sendMessage("Hmm, we can't find that pocket dimension. Ask for another invite?");
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
package dev.siskel.poketDimensions.managers;
|
||||||
|
|
||||||
|
import dev.siskel.poketDimensions.classes.PlayerLocation;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.WorldCreator;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class PlayerLocationManager extends JavaPlugin implements Listener {
|
||||||
|
|
||||||
|
private File dataFile;
|
||||||
|
private FileConfiguration dataConfig;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
dataFile = new File(getDataFolder(), "player-locations.yml");
|
||||||
|
if (!dataFile.exists()) {
|
||||||
|
dataFile.getParentFile().mkdirs();
|
||||||
|
saveResource("player-locations.yml", false);
|
||||||
|
}
|
||||||
|
dataConfig = YamlConfiguration.loadConfiguration(dataFile);
|
||||||
|
|
||||||
|
Bukkit.getPluginManager().registerEvents(this, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
savePlayerLocation(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
PlayerLocation savedLoc = loadPlayerLocation(player);
|
||||||
|
|
||||||
|
if (savedLoc != null) {
|
||||||
|
World world = Bukkit.getWorld(savedLoc.getWorld());
|
||||||
|
if (world == null) {
|
||||||
|
// World is not loaded, so load it
|
||||||
|
world = Bukkit.createWorld(new WorldCreator(savedLoc.getWorld()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now teleport the player to their last location
|
||||||
|
Location loc = savedLoc.toLocation(Bukkit.getServer());
|
||||||
|
if (loc != null) {
|
||||||
|
// Delay teleport by 1 tick to ensure player is fully loaded in the world
|
||||||
|
Bukkit.getScheduler().runTaskLater(this, () -> player.teleport(loc), 1L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save player location to file
|
||||||
|
public void savePlayerLocation(Player player) {
|
||||||
|
Location loc = player.getLocation();
|
||||||
|
String path = "players." + player.getUniqueId();
|
||||||
|
|
||||||
|
dataConfig.set(path + ".world", loc.getWorld().getName());
|
||||||
|
dataConfig.set(path + ".x", loc.getX());
|
||||||
|
dataConfig.set(path + ".y", loc.getY());
|
||||||
|
dataConfig.set(path + ".z", loc.getZ());
|
||||||
|
dataConfig.set(path + ".yaw", loc.getYaw());
|
||||||
|
dataConfig.set(path + ".pitch", loc.getPitch());
|
||||||
|
|
||||||
|
try {
|
||||||
|
dataConfig.save(dataFile);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load player location from file as PlayerLocation object
|
||||||
|
public PlayerLocation loadPlayerLocation(Player player) {
|
||||||
|
String path = "players." + player.getUniqueId();
|
||||||
|
|
||||||
|
if (!dataConfig.contains(path)) {
|
||||||
|
return null; // No saved location
|
||||||
|
}
|
||||||
|
|
||||||
|
String world = dataConfig.getString(path + ".world");
|
||||||
|
double x = dataConfig.getDouble(path + ".x");
|
||||||
|
double y = dataConfig.getDouble(path + ".y");
|
||||||
|
double z = dataConfig.getDouble(path + ".z");
|
||||||
|
float yaw = (float) dataConfig.getDouble(path + ".yaw");
|
||||||
|
float pitch = (float) dataConfig.getDouble(path + ".pitch");
|
||||||
|
|
||||||
|
return new PlayerLocation(world, x, y, z, yaw, pitch);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -25,10 +25,10 @@ public class PoketDimensionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void kick(Player playerFrom, Player playerTo) {
|
public void kick(Player playerFrom, Player playerTo) {
|
||||||
if (Bukkit.getWorld("pocketdimension-" + playerFrom.getUniqueId().toString()) == null) {
|
if (Bukkit.getWorld("poketdimensions/pocketdimension-" + playerFrom.getUniqueId().toString()) == null) {
|
||||||
playerFrom.sendMessage("ChatColor.RED + You don't have a pocket dimension!");
|
playerFrom.sendMessage("ChatColor.RED + You don't have a pocket dimension!");
|
||||||
} else {
|
} else {
|
||||||
World pocketDimensionWorld = Bukkit.getWorld("pocketdimension-" + playerFrom.getUniqueId().toString());
|
World pocketDimensionWorld = Bukkit.getWorld("poketdimensions/pocketdimension-" + playerFrom.getUniqueId().toString());
|
||||||
if (playerFrom.getWorld() != playerTo.getWorld()) {
|
if (playerFrom.getWorld() != playerTo.getWorld()) {
|
||||||
playerFrom.sendMessage(ChatColor.RED + "Player is not in your pocket dimension.");
|
playerFrom.sendMessage(ChatColor.RED + "Player is not in your pocket dimension.");
|
||||||
} else if (!playerTo.hasPermission("pocketdimensions.commands.player.pd.kick.bypass") && !playerTo.isOp()) {
|
} else if (!playerTo.hasPermission("pocketdimensions.commands.player.pd.kick.bypass") && !playerTo.isOp()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user