mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 17:15:47 +00:00
Location defaults fix + Rtp now requires rtp setup info + Location implemented into rtp'ing
This commit is contained in:
parent
f52adfddbf
commit
7ecf1cd1a9
@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.commands;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
@ -148,7 +149,8 @@ public class Commands {
|
|||||||
if (pl.getSettings().delayEnabled && delayTimer > 0) //Delay enabled?
|
if (pl.getSettings().delayEnabled && delayTimer > 0) //Delay enabled?
|
||||||
if (!pl.getPerms().getBypassDelay(player)) //Can bypass?
|
if (!pl.getPerms().getBypassDelay(player)) //Can bypass?
|
||||||
delay = true;
|
delay = true;
|
||||||
pl.getRTP().start(player, sendi, world, biomes, delay, rtpType);
|
RTPSetupInformation setup_info = new RTPSetupInformation(world, sendi, player, true, biomes, delay, rtpType, null);
|
||||||
|
pl.getRTP().start(setup_info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldDefault;
|
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldDefault;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldPlayer;
|
||||||
@ -117,30 +118,30 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
|
|||||||
List<String> info = new ArrayList<>();
|
List<String> info = new ArrayList<>();
|
||||||
BetterRTP pl = BetterRTP.getInstance();
|
BetterRTP pl = BetterRTP.getInstance();
|
||||||
String _true = "&aTrue", _false = "&bFalse";
|
String _true = "&aTrue", _false = "&bFalse";
|
||||||
info.add("&eWorld: &7" + w.getName() + (personal ? " &7(personalized)" : ""));
|
info.add("&eWorld Name: &7" + w.getName() + (personal ? " &7(personalized)" : ""));
|
||||||
if (personal)
|
if (personal)
|
||||||
info.add("&7- &6Allowed: " + (pl.getPerms().getAWorld(sendi, w.getName()) ? _true : _false));
|
info.add("&7- &6Allowed: " + (pl.getPerms().getAWorld(sendi, w.getName()) ? _true : _false));
|
||||||
if (pl.getRTP().getDisabledWorlds().contains(w.getName())) //DISABLED
|
if (pl.getRTP().getDisabledWorlds().contains(w.getName())) //World disabled
|
||||||
info.add("&7- &6Disabled: " + _true);
|
info.add("&7- &6Disabled: " + _true);
|
||||||
else {
|
else {
|
||||||
info.add("&7- &6Disabled: " + _false);
|
info.add("&7- &6Disabled: " + _false);
|
||||||
if (pl.getRTP().overriden.containsKey(w.getName()))
|
if (pl.getRTP().overriden.containsKey(w.getName())) //World Overriden
|
||||||
info.add("&7- &6Overriden: " + _true + " &7 target world `" + pl.getRTP().overriden.get(w.getName()) + "`");
|
info.add("&7- &6Overriden: " + _true + " &7- target `" + pl.getRTP().overriden.get(w.getName()) + "`");
|
||||||
else {
|
else {
|
||||||
info.add("&7- &6Overriden&7: " + _false);
|
info.add("&7- &6Overriden&7: " + _false);
|
||||||
WorldPlayer _rtpworld = BetterRTP.getInstance().getRTP().getPlayerWorld(sendi, w.getName(), null, personal);
|
WorldPlayer _rtpworld = BetterRTP.getInstance().getRTP().getPlayerWorld(new RTPSetupInformation(w.getName(), sendi, null, personal));
|
||||||
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
||||||
info.add("&7- &6Setup Type&7: " + _rtpworld.setup_type.name() + (_rtpworld.setup_type == RTP_SETUP_TYPE.LOCATION ? "&7(" + _rtpworld.setup_name + ")" : ""));
|
info.add("&7- &6Setup Type&7: " + _rtpworld.setup_type.name() + getInfo(_rtpworld, worldDefault, "setup"));
|
||||||
info.add("&7- &6Use World Border&7: " + (_rtpworld.getUseWorldborder() ? _true : _false));
|
info.add("&7- &6Use World Border&7: " + (_rtpworld.getUseWorldborder() ? _true : _false));
|
||||||
info.add("&7- &6Permission Group&7: " + (_rtpworld.getConfig() != null ? "&e" + _rtpworld.getConfig().name : "&cN/A"));
|
info.add("&7- &6World Type&7: &f" + _rtpworld.getWorldtype().name());
|
||||||
info.add("&7- &6Center X&7: &f" + _rtpworld.getCenterX() + getInfo(_rtpworld, worldDefault, "centerx"));
|
info.add("&7- &6Center X&7: &f" + _rtpworld.getCenterX() + getInfo(_rtpworld, worldDefault, "centerx"));
|
||||||
info.add("&7- &6Center Z&7: &f" + _rtpworld.getCenterZ() + getInfo(_rtpworld, worldDefault, "centerz"));
|
info.add("&7- &6Center Z&7: &f" + _rtpworld.getCenterZ() + getInfo(_rtpworld, worldDefault, "centerz"));
|
||||||
info.add("&7- &6Maximum Radius&7: &f" + _rtpworld.getMaxRad() + getInfo(_rtpworld, worldDefault, "max"));
|
info.add("&7- &6Max Radius&7: &f" + _rtpworld.getMaxRad() + getInfo(_rtpworld, worldDefault, "max"));
|
||||||
info.add("&7- &6Minimum Radius&7: &f" + _rtpworld.getMinRad() + getInfo(_rtpworld, worldDefault, "min"));
|
info.add("&7- &6Min Radius&7: &f" + _rtpworld.getMinRad() + getInfo(_rtpworld, worldDefault, "min"));
|
||||||
info.add("&7- &6Price&7: &f" + _rtpworld.getPrice() + getInfo(_rtpworld, worldDefault, "price"));
|
info.add("&7- &6Price&7: &f" + _rtpworld.getPrice() + getInfo(_rtpworld, worldDefault, "price"));
|
||||||
info.add("&7- &6World Type&7: &f" + _rtpworld.getWorldtype().name());
|
|
||||||
info.add("&7- &6Biomes&7: &f" + _rtpworld.getBiomes().toString());
|
info.add("&7- &6Biomes&7: &f" + _rtpworld.getBiomes().toString());
|
||||||
info.add("&7- &6Shape&7: &f" + _rtpworld.getShape().toString());
|
info.add("&7- &6Shape&7: &f" + _rtpworld.getShape().toString() + getInfo(_rtpworld, worldDefault, "shape"));
|
||||||
|
info.add("&7- &6Permission Group&7: " + (_rtpworld.getConfig() != null ? "&e" + _rtpworld.getConfig().name : "&cN/A"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return info;
|
return info;
|
||||||
@ -150,15 +151,19 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
|
|||||||
private String getInfo(WorldPlayer worldPlayer, WorldDefault worldDefault, String type) {
|
private String getInfo(WorldPlayer worldPlayer, WorldDefault worldDefault, String type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "centerx":
|
case "centerx":
|
||||||
return worldPlayer.getUseWorldborder() || worldPlayer.getCenterX() != worldDefault.getCenterX() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : "&a*" : "";
|
return worldPlayer.getUseWorldborder() || worldPlayer.getCenterX() == worldDefault.getCenterX() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : " &8(default)" : "";
|
||||||
case "centerz":
|
case "centerz":
|
||||||
return worldPlayer.getUseWorldborder() || worldPlayer.getCenterX() != worldDefault.getCenterZ() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : "&a*" : "";
|
return worldPlayer.getUseWorldborder() || worldPlayer.getCenterZ() == worldDefault.getCenterZ() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : " &8(default)" : "";
|
||||||
case "max":
|
case "max":
|
||||||
return worldPlayer.getUseWorldborder() || worldPlayer.getMaxRad() != worldDefault.getMaxRad() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : "&a*" : "";
|
return worldPlayer.getUseWorldborder() || worldPlayer.getMaxRad() == worldDefault.getMaxRad() ? worldPlayer.getUseWorldborder() ? " &8(worldborder)" : " &8(default)" : "";
|
||||||
case "min":
|
case "min":
|
||||||
return worldPlayer.getMinRad() != worldDefault.getMinRad() ? "&a*" : "";
|
return worldPlayer.getMinRad() == worldDefault.getMinRad() ? " &8(default)" : "";
|
||||||
case "price":
|
case "price":
|
||||||
return worldPlayer.getPrice() != worldDefault.getPrice() ? "&a*" : "";
|
return worldPlayer.getPrice() == worldDefault.getPrice() ? " &8(default)" : "";
|
||||||
|
case "shape":
|
||||||
|
return worldPlayer.getShape() == worldDefault.getShape() ? " &8(default)" : "";
|
||||||
|
case "setup":
|
||||||
|
return worldPlayer.setup_type == RTP_SETUP_TYPE.LOCATION ? " &7(" + worldPlayer.setup_name + ")" : "";
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,7 @@ import org.bukkit.World;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class RTP {
|
public class RTP {
|
||||||
|
|
||||||
@ -149,35 +146,55 @@ public class RTP {
|
|||||||
return disabledWorlds;
|
return disabledWorlds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public WorldPlayer getPlayerWorld(CommandSender sendi, String world_name, List<String> biomes, boolean personal) {
|
public WorldPlayer getPlayerWorld(RTPSetupInformation setup_info) {
|
||||||
WorldPlayer pWorld = new WorldPlayer(sendi, Bukkit.getWorld(world_name));
|
WorldPlayer pWorld = new WorldPlayer(setup_info.sender, Bukkit.getWorld(setup_info.world));
|
||||||
|
|
||||||
//Locations
|
//Locations
|
||||||
for (Map.Entry<String, RTPWorld> location_set : worldLocations.entrySet()) {
|
if (setup_info.location == null) {
|
||||||
RTPWorld location = location_set.getValue();
|
List<RTPWorld> locationsList = new ArrayList<>();
|
||||||
if (location.getWorld().getName().equals(world_name)) {
|
for (Map.Entry<String, RTPWorld> location_set : worldLocations.entrySet()) {
|
||||||
pWorld.setup(location_set.getKey(), location, location.getBiomes(), personal);
|
RTPWorld location = location_set.getValue();
|
||||||
|
if (location.getWorld().getName().equals(setup_info.world))
|
||||||
|
locationsList.add(location_set.getValue());
|
||||||
|
}
|
||||||
|
if (!locationsList.isEmpty()) {
|
||||||
|
RTPWorld location = locationsList.size() > 1 ? locationsList.get((new Random()).nextInt(locationsList.size() - 1)) : locationsList.get(0);
|
||||||
|
|
||||||
|
setup_info.location = (WorldLocations) location;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (setup_info.location != null) {
|
||||||
|
String setup_name = null;
|
||||||
|
for (Map.Entry<String, RTPWorld> location_set : worldLocations.entrySet()) {
|
||||||
|
RTPWorld location = location_set.getValue();
|
||||||
|
if (location == setup_info.location) {
|
||||||
|
setup_name = location_set.getKey();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pWorld.setup(setup_name, setup_info.location, setup_info.location.getBiomes(), setup_info.personalized);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!pWorld.isSetup()) {
|
if (!pWorld.isSetup()) {
|
||||||
//Custom World
|
//Custom World
|
||||||
if (customWorlds.containsKey(world_name)) {
|
if (customWorlds.containsKey(setup_info.world)) {
|
||||||
RTPWorld cWorld = customWorlds.get(pWorld.getWorld().getName());
|
RTPWorld cWorld = customWorlds.get(pWorld.getWorld().getName());
|
||||||
pWorld.setup(null, cWorld, biomes, personal);
|
pWorld.setup(null, cWorld, setup_info.biomes, setup_info.personalized);
|
||||||
}
|
}
|
||||||
//Default World
|
//Default World
|
||||||
else
|
else
|
||||||
pWorld.setup(null, defaultWorld, biomes, personal);
|
pWorld.setup(null, defaultWorld, setup_info.biomes, setup_info.personalized);
|
||||||
}
|
}
|
||||||
//World type
|
//World type
|
||||||
WORLD_TYPE world_type; //World rtp type
|
WORLD_TYPE world_type; //World rtp type
|
||||||
if (this.world_type.containsKey(world_name))
|
if (this.world_type.containsKey(setup_info.world))
|
||||||
world_type = this.world_type.get(world_name);
|
world_type = this.world_type.get(setup_info.world);
|
||||||
else {
|
else {
|
||||||
world_type = WORLD_TYPE.NORMAL;
|
world_type = WORLD_TYPE.NORMAL;
|
||||||
this.world_type.put(world_name, world_type); //Defaults this so the error message isn't spammed
|
this.world_type.put(setup_info.world, world_type); //Defaults this so the error message isn't spammed
|
||||||
getPl().getLogger().warning("Seems like the world `" + world_name + "` does not have a `WorldType` declared. " +
|
getPl().getLogger().warning("Seems like the world `" + setup_info.world + "` does not have a `WorldType` declared. " +
|
||||||
"Please add/fix this in the config.yml file! " +
|
"Please add/fix this in the config.yml file! " +
|
||||||
"This world will be treated as an overworld!");
|
"This world will be treated as an overworld!");
|
||||||
}
|
}
|
||||||
@ -189,42 +206,11 @@ public class RTP {
|
|||||||
return BetterRTP.getInstance();
|
return BetterRTP.getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void start(Player p, CommandSender sendi, String world_name, List<String> biomes, boolean delay, RTP_TYPE rtpType) {
|
public void start(RTPSetupInformation setup_info) {
|
||||||
// Check overrides
|
String world_name = setup_info.world;
|
||||||
if (world_name == null) {
|
Player p = setup_info.player;
|
||||||
world_name = p.getWorld().getName();
|
CommandSender sendi = setup_info.sender;
|
||||||
} else { // Check if nulled or world doesnt exist
|
|
||||||
World _world = Bukkit.getWorld(world_name);
|
|
||||||
if (_world == null) { //Check if world has spaces instead of underscores
|
|
||||||
_world = Bukkit.getWorld(world_name.replace("_", " "));
|
|
||||||
world_name = world_name.replace("_", "");
|
|
||||||
}
|
|
||||||
if (_world == null) {
|
|
||||||
getPl().getText().getNotExist(sendi, world_name);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (overriden.containsKey(world_name))
|
|
||||||
world_name = overriden.get(world_name);
|
|
||||||
// Not forced and has 'betterrtp.world.<world>'
|
|
||||||
if (sendi == p && !getPl().getPerms().getAWorld(sendi, world_name)) {
|
|
||||||
getPl().getText().getNoPermissionWorld(p, world_name);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Check disabled worlds
|
|
||||||
if (disabledWorlds.contains(world_name)) {
|
|
||||||
getPl().getText().getDisabledWorld(sendi, world_name);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
WorldPlayer pWorld = getPlayerWorld(p, world_name, biomes, true);
|
|
||||||
// Economy
|
|
||||||
if (!getPl().getEco().hasBalance(sendi, pWorld))
|
|
||||||
return;
|
|
||||||
//BetterRTP.getInstance().getpInfo().setRTPType(p, rtpType);
|
|
||||||
rtp(sendi, pWorld, delay, rtpType);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void start(Player p, CommandSender sendi, String world_name, List<String> biomes, boolean delay, RTP_TYPE rtpType, String location_name) {
|
|
||||||
// Check overrides
|
// Check overrides
|
||||||
if (world_name == null) {
|
if (world_name == null) {
|
||||||
world_name = p.getWorld().getName();
|
world_name = p.getWorld().getName();
|
||||||
@ -251,12 +237,12 @@ public class RTP {
|
|||||||
getPl().getText().getDisabledWorld(sendi, world_name);
|
getPl().getText().getDisabledWorld(sendi, world_name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WorldPlayer pWorld = getPlayerWorld(p, world_name, biomes, true);
|
WorldPlayer pWorld = getPlayerWorld(setup_info);
|
||||||
// Economy
|
// Economy
|
||||||
if (!getPl().getEco().hasBalance(sendi, pWorld))
|
if (!getPl().getEco().hasBalance(sendi, pWorld))
|
||||||
return;
|
return;
|
||||||
//BetterRTP.getInstance().getpInfo().setRTPType(p, rtpType);
|
//BetterRTP.getInstance().getpInfo().setRTPType(p, rtpType);
|
||||||
rtp(sendi, pWorld, delay, rtpType);
|
rtp(sendi, pWorld, setup_info.delay, setup_info.rtp_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rtp(CommandSender sendi, WorldPlayer pWorld, boolean delay, RTP_TYPE type) {
|
private void rtp(CommandSender sendi, WorldPlayer pWorld, boolean delay, RTP_TYPE type) {
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
||||||
|
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RTPSetupInformation {
|
||||||
|
//Will provide information to setup an RTP attempt
|
||||||
|
public String world;
|
||||||
|
public CommandSender sender;
|
||||||
|
public Player player;
|
||||||
|
public boolean personalized;
|
||||||
|
public List<String> biomes;
|
||||||
|
public WorldLocations location;
|
||||||
|
public boolean delay;
|
||||||
|
public RTP_TYPE rtp_type;
|
||||||
|
|
||||||
|
public RTPSetupInformation(String world, CommandSender sender, Player player, boolean personalized) {
|
||||||
|
this.world = world;
|
||||||
|
this.sender = sender;
|
||||||
|
this.player = player;
|
||||||
|
this.personalized = personalized;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RTPSetupInformation(String world, CommandSender sender, Player player, boolean personalized, List<String> biomes) {
|
||||||
|
this.world = world;
|
||||||
|
this.sender = sender;
|
||||||
|
this.player = player;
|
||||||
|
this.personalized = personalized;
|
||||||
|
this.biomes = biomes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RTPSetupInformation(String world, CommandSender sender, Player player, boolean personalized, List<String> biomes,
|
||||||
|
boolean delay, RTP_TYPE rtp_type, WorldLocations location) {
|
||||||
|
this.world = world;
|
||||||
|
this.sender = sender;
|
||||||
|
this.player = player;
|
||||||
|
this.personalized = personalized;
|
||||||
|
this.biomes = biomes;
|
||||||
|
this.delay = delay;
|
||||||
|
this.rtp_type = rtp_type;
|
||||||
|
this.location = location;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
||||||
|
|
||||||
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
|
import org.bukkit.World;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface RTPWorld_Defaulted {
|
||||||
|
|
||||||
|
void setUseWorldBorder(boolean value);
|
||||||
|
|
||||||
|
void setCenterX(int value);
|
||||||
|
|
||||||
|
void setCenterZ(int value);
|
||||||
|
|
||||||
|
void setMaxRad(int value);
|
||||||
|
|
||||||
|
void setMinRad(int value);
|
||||||
|
|
||||||
|
void setPrice(int value);
|
||||||
|
|
||||||
|
void setBiomes(List<String> value);
|
||||||
|
|
||||||
|
void setWorld(String value);
|
||||||
|
|
||||||
|
void setShape(RTP_SHAPE value);
|
||||||
|
|
||||||
|
default void setupDefaults() {
|
||||||
|
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
||||||
|
setMaxRad(worldDefault.getMaxRad());
|
||||||
|
setMinRad(worldDefault.getMinRad());
|
||||||
|
setUseWorldBorder(worldDefault.getUseWorldborder());
|
||||||
|
setCenterX(worldDefault.getCenterX());
|
||||||
|
setCenterZ(worldDefault.getCenterZ());
|
||||||
|
setPrice(worldDefault.getPrice());
|
||||||
|
setBiomes(worldDefault.getBiomes());
|
||||||
|
setShape(worldDefault.getShape());
|
||||||
|
}
|
||||||
|
}
|
@ -10,11 +10,11 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class WorldCustom implements RTPWorld {
|
public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
|
||||||
public String world;
|
public String world;
|
||||||
private boolean useWorldborder;
|
private boolean useWorldborder;
|
||||||
private int CenterX, CenterZ, maxBorderRad, minBorderRad, price;
|
private int centerX, centerZ, maxBorderRad, minBorderRad, price;
|
||||||
private List<String> Biomes;
|
private List<String> biomes;
|
||||||
private RTP_SHAPE shape;
|
private RTP_SHAPE shape;
|
||||||
|
|
||||||
public WorldCustom(String world) {
|
public WorldCustom(String world) {
|
||||||
@ -24,15 +24,7 @@ public class WorldCustom implements RTPWorld {
|
|||||||
this.world = world;
|
this.world = world;
|
||||||
|
|
||||||
//Set Defaults
|
//Set Defaults
|
||||||
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
setupDefaults();
|
||||||
maxBorderRad = worldDefault.getMaxRad();
|
|
||||||
minBorderRad = worldDefault.getMinRad();
|
|
||||||
useWorldborder = worldDefault.getUseWorldborder();
|
|
||||||
CenterX = worldDefault.getCenterX();
|
|
||||||
CenterZ = worldDefault.getCenterZ();
|
|
||||||
price = worldDefault.getPrice();
|
|
||||||
Biomes = worldDefault.getBiomes();
|
|
||||||
shape = worldDefault.getShape();
|
|
||||||
|
|
||||||
//Find Custom World and cache values
|
//Find Custom World and cache values
|
||||||
for (Map<?, ?> m : map) {
|
for (Map<?, ?> m : map) {
|
||||||
@ -49,11 +41,11 @@ public class WorldCustom implements RTPWorld {
|
|||||||
}
|
}
|
||||||
if (test.get("CenterX") != null) {
|
if (test.get("CenterX") != null) {
|
||||||
if (test.get("CenterX").getClass() == Integer.class)
|
if (test.get("CenterX").getClass() == Integer.class)
|
||||||
CenterX = Integer.parseInt((test.get("CenterX")).toString());
|
centerX = Integer.parseInt((test.get("CenterX")).toString());
|
||||||
}
|
}
|
||||||
if (test.get("CenterZ") != null) {
|
if (test.get("CenterZ") != null) {
|
||||||
if (test.get("CenterZ").getClass() == Integer.class) {
|
if (test.get("CenterZ").getClass() == Integer.class) {
|
||||||
CenterZ = Integer.parseInt((test.get("CenterZ")).toString());
|
centerZ = Integer.parseInt((test.get("CenterZ")).toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (test.get("MaxRadius") != null) {
|
if (test.get("MaxRadius") != null) {
|
||||||
@ -78,16 +70,16 @@ public class WorldCustom implements RTPWorld {
|
|||||||
}
|
}
|
||||||
if (test.get("Biomes") != null) {
|
if (test.get("Biomes") != null) {
|
||||||
if (test.get("Biomes").getClass() == ArrayList.class)
|
if (test.get("Biomes").getClass() == ArrayList.class)
|
||||||
this.Biomes = new ArrayList<String>((ArrayList) test.get("Biomes"));
|
this.biomes = new ArrayList<String>((ArrayList) test.get("Biomes"));
|
||||||
}
|
}
|
||||||
if (BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.ECO).getBoolean("Economy.Enabled"))
|
if (BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.ECO).getBoolean("Economy.Enabled"))
|
||||||
if (test.get("Price") != null) {
|
if (test.get("Price") != null) {
|
||||||
if (test.get("Price").getClass() == Integer.class)
|
if (test.get("Price").getClass() == Integer.class)
|
||||||
this.price = Integer.parseInt(test.get("Price").toString());
|
this.price = Integer.parseInt(test.get("Price").toString());
|
||||||
else
|
//else
|
||||||
price = worldDefault.getPrice(world);
|
//price = worldDefault.getPrice(world);
|
||||||
} else
|
} //else
|
||||||
price = worldDefault.getPrice(world);
|
//price = worldDefault.getPrice(world);
|
||||||
if (test.get("Shape") != null) {
|
if (test.get("Shape") != null) {
|
||||||
if (test.get("Shape").getClass() == String.class) {
|
if (test.get("Shape").getClass() == String.class) {
|
||||||
try {
|
try {
|
||||||
@ -141,12 +133,12 @@ public class WorldCustom implements RTPWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCenterX() {
|
public int getCenterX() {
|
||||||
return CenterX;
|
return centerX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCenterZ() {
|
public int getCenterZ() {
|
||||||
return CenterZ;
|
return centerZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -166,7 +158,7 @@ public class WorldCustom implements RTPWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getBiomes() {
|
public List<String> getBiomes() {
|
||||||
return Biomes;
|
return biomes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -178,4 +170,50 @@ public class WorldCustom implements RTPWorld {
|
|||||||
public RTP_SHAPE getShape() {
|
public RTP_SHAPE getShape() {
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Setters
|
||||||
|
@Override
|
||||||
|
public void setUseWorldBorder(boolean value) {
|
||||||
|
this.useWorldborder = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCenterX(int value) {
|
||||||
|
this.centerX = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCenterZ(int value) {
|
||||||
|
this.centerZ = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMaxRad(int value) {
|
||||||
|
this.maxBorderRad = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMinRad(int value) {
|
||||||
|
this.minBorderRad = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPrice(int value) {
|
||||||
|
this.price = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBiomes(List<String> value) {
|
||||||
|
this.biomes = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWorld(String value) {
|
||||||
|
this.world = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setShape(RTP_SHAPE value) {
|
||||||
|
this.shape = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,32 +1,28 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPermissionGroup;
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.WorldBorder;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
public class WorldLocations implements RTPWorld {
|
public class WorldLocations implements RTPWorld, RTPWorld_Defaulted {
|
||||||
private boolean useWorldborder;
|
private boolean useWorldborder;
|
||||||
private int CenterX, CenterZ, maxBorderRad, minBorderRad, price;
|
private int centerX, centerZ, maxBorderRad, minBorderRad, price;
|
||||||
private List<String> Biomes;
|
private List<String> biomes;
|
||||||
private String world;
|
private String world;
|
||||||
private RTP_SHAPE shape;
|
private RTP_SHAPE shape;
|
||||||
|
|
||||||
public WorldLocations(String location_name) {
|
public WorldLocations(String location_name) {
|
||||||
FileBasics.FILETYPE config = BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.LOCATIONS);
|
FileBasics.FILETYPE config = BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.LOCATIONS);
|
||||||
List<Map<?, ?>> map = config.getMapList("Locations");
|
List<Map<?, ?>> map = config.getMapList("Locations");
|
||||||
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
//WorldDefault worldDefault = BetterRTP.getInstance().getRTP().defaultWorld;
|
||||||
|
|
||||||
|
setupDefaults();
|
||||||
|
|
||||||
//Find Location and cache its values
|
//Find Location and cache its values
|
||||||
for (Map<?, ?> m : map) {
|
for (Map<?, ?> m : map) {
|
||||||
@ -50,11 +46,11 @@ public class WorldLocations implements RTPWorld {
|
|||||||
}
|
}
|
||||||
if (test.get("CenterX") != null) {
|
if (test.get("CenterX") != null) {
|
||||||
if (test.get("CenterX").getClass() == Integer.class)
|
if (test.get("CenterX").getClass() == Integer.class)
|
||||||
CenterX = Integer.parseInt((test.get("CenterX")).toString());
|
centerX = Integer.parseInt((test.get("CenterX")).toString());
|
||||||
}
|
}
|
||||||
if (test.get("CenterZ") != null) {
|
if (test.get("CenterZ") != null) {
|
||||||
if (test.get("CenterZ").getClass() == Integer.class) {
|
if (test.get("CenterZ").getClass() == Integer.class) {
|
||||||
CenterZ = Integer.parseInt((test.get("CenterZ")).toString());
|
centerZ = Integer.parseInt((test.get("CenterZ")).toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (test.get("MaxRadius") != null) {
|
if (test.get("MaxRadius") != null) {
|
||||||
@ -79,16 +75,16 @@ public class WorldLocations implements RTPWorld {
|
|||||||
}
|
}
|
||||||
if (test.get("Biomes") != null) {
|
if (test.get("Biomes") != null) {
|
||||||
if (test.get("Biomes").getClass() == ArrayList.class)
|
if (test.get("Biomes").getClass() == ArrayList.class)
|
||||||
this.Biomes = new ArrayList<String>((ArrayList) test.get("Biomes"));
|
this.biomes = new ArrayList<String>((ArrayList) test.get("Biomes"));
|
||||||
}
|
}
|
||||||
if (BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.ECO).getBoolean("Economy.Enabled"))
|
if (BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.ECO).getBoolean("Economy.Enabled"))
|
||||||
if (test.get("Price") != null) {
|
if (test.get("Price") != null) {
|
||||||
if (test.get("Price").getClass() == Integer.class)
|
if (test.get("Price").getClass() == Integer.class)
|
||||||
this.price = Integer.parseInt(test.get("Price").toString());
|
this.price = Integer.parseInt(test.get("Price").toString());
|
||||||
else
|
//else
|
||||||
price = worldDefault.getPrice(world);
|
// price = worldDefault.getPrice(world);
|
||||||
} else
|
} //else
|
||||||
price = worldDefault.getPrice(world);
|
//price = worldDefault.getPrice(world);
|
||||||
if (test.get("Shape") != null) {
|
if (test.get("Shape") != null) {
|
||||||
if (test.get("Shape").getClass() == String.class) {
|
if (test.get("Shape").getClass() == String.class) {
|
||||||
try {
|
try {
|
||||||
@ -113,17 +109,17 @@ public class WorldLocations implements RTPWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean getUseWorldborder() {
|
public boolean getUseWorldborder() {
|
||||||
return useWorldborder;
|
return false;//useWorldborder;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCenterX() {
|
public int getCenterX() {
|
||||||
return CenterX;
|
return centerX;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCenterZ() {
|
public int getCenterZ() {
|
||||||
return CenterZ;
|
return centerZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -143,11 +139,58 @@ public class WorldLocations implements RTPWorld {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getBiomes() {
|
public List<String> getBiomes() {
|
||||||
return Biomes;
|
return biomes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RTP_SHAPE getShape() {
|
public RTP_SHAPE getShape() {
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Setters
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUseWorldBorder(boolean value) {
|
||||||
|
this.useWorldborder = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCenterX(int value) {
|
||||||
|
this.centerX = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCenterZ(int value) {
|
||||||
|
this.centerZ = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMaxRad(int value) {
|
||||||
|
this.maxBorderRad = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setMinRad(int value) {
|
||||||
|
this.minBorderRad = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPrice(int value) {
|
||||||
|
this.price = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBiomes(List<String> value) {
|
||||||
|
this.biomes = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWorld(String value) {
|
||||||
|
this.world = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setShape(RTP_SHAPE value) {
|
||||||
|
this.shape = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user