mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2026-02-16 02:21:06 +00:00
Rtp Addons - 1.4 Release (portal destinations)
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<groupId>me.SuperRonanCraft</groupId>
|
||||
<artifactId>BetterRTPAddons</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.3</version>
|
||||
<version>1.4</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
|
||||
@@ -19,7 +19,8 @@ public class PortalsDatabase extends Database {
|
||||
enum Columns implements DatabaseColumn {
|
||||
LOCATION_1("location_1", "longtext"),
|
||||
LOCATION_2("location_2", "longtext"),
|
||||
NAME("name", "varchar(255)");
|
||||
NAME("name", "varchar(255)"),
|
||||
WORLD("world", "text");
|
||||
|
||||
private final String name;
|
||||
private final String type;
|
||||
@@ -47,7 +48,8 @@ public class PortalsDatabase extends Database {
|
||||
private final String createTable = "CREATE TABLE IF NOT EXISTS " + table + " (" +
|
||||
"`" + Columns.NAME.name + "` " + Columns.NAME.type + " PRIMARY KEY," +
|
||||
"`" + Columns.LOCATION_1.name + "` " + Columns.LOCATION_2.type + "," +
|
||||
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type +
|
||||
"`" + Columns.LOCATION_2.name + "` " + Columns.LOCATION_2.type + "," +
|
||||
"`" + Columns.WORLD.name + "` " + Columns.WORLD.type +
|
||||
");";
|
||||
|
||||
|
||||
@@ -75,6 +77,7 @@ public class PortalsDatabase extends Database {
|
||||
info.setLoc1(LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_1.name)));
|
||||
info.setLoc2(LocSerialization.getLocationFromString(rs.getString(Columns.LOCATION_2.name)));
|
||||
info.setName(rs.getString(Columns.NAME.name));
|
||||
info.setWorld(rs.getString(Columns.WORLD.name));
|
||||
list.add(info);
|
||||
}
|
||||
return list;
|
||||
@@ -114,16 +117,19 @@ public class PortalsDatabase extends Database {
|
||||
ps = conn.prepareStatement("INSERT INTO " + table + "(" +
|
||||
Columns.NAME.name + ", " +
|
||||
Columns.LOCATION_1.name + ", " +
|
||||
Columns.LOCATION_2.name + ") VALUES (?, ?, ?) "
|
||||
Columns.LOCATION_2.name + ", " +
|
||||
Columns.WORLD.name + ") VALUES (?, ?, ?, ?) "
|
||||
+ "ON CONFLICT(" + Columns.NAME.name + ") DO UPDATE SET " +
|
||||
Columns.LOCATION_1.name + " = + ?, " + Columns.LOCATION_2.name + " = ?");
|
||||
Columns.LOCATION_1.name + " = ?, " + Columns.LOCATION_2.name + " = ?, " + Columns.WORLD.name + " = ?");
|
||||
ps.setString(1, portal.getName());
|
||||
String serialLocation_1 = LocSerialization.getStringFromLocation(portal.getLoc1());
|
||||
String serialLocation_2 = LocSerialization.getStringFromLocation(portal.getLoc2());
|
||||
ps.setString(2, serialLocation_1);
|
||||
ps.setString(3, serialLocation_2);
|
||||
ps.setString(4, serialLocation_1);
|
||||
ps.setString(5, serialLocation_2);
|
||||
ps.setString(4, portal.getWorld());
|
||||
ps.setString(5, serialLocation_1);
|
||||
ps.setString(6, serialLocation_2);
|
||||
ps.setString(7, portal.getWorld());
|
||||
ps.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, Errors.sqlConnectionExecute(), ex);
|
||||
|
||||
@@ -40,6 +40,7 @@ public class PortalsEvents implements Listener {
|
||||
|
||||
@EventHandler (priority = EventPriority.MONITOR)
|
||||
void move(PlayerMoveEvent e) {
|
||||
if (e.getTo() != null)
|
||||
if (e.getFrom().getBlockX() != e.getTo().getBlockX()
|
||||
|| e.getFrom().getBlockY() != e.getTo().getBlockY()
|
||||
|| e.getFrom().getBlockZ() != e.getTo().getBlockZ()) {
|
||||
@@ -57,7 +58,7 @@ public class PortalsEvents implements Listener {
|
||||
&& ploc.getBlockY() >= Math.min(loc1.getBlockY(), loc2.getBlockY())) {
|
||||
playerPortaling.put(e.getPlayer(), portal);
|
||||
BetterRTP.getInstance().getCmd().tp(e.getPlayer(), e.getPlayer(),
|
||||
e.getPlayer().getWorld().getName(), null, RTP_TYPE.ADDON_PORTAL, ignoreCooldown, ignoreDelay);
|
||||
portal.getWorld(), null, RTP_TYPE.ADDON_PORTAL, ignoreCooldown, ignoreDelay);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,11 @@ public class PortalsMessages implements AddonsMessages {
|
||||
//Create
|
||||
|
||||
public void getCreateConfirm(CommandSender sendi, String name) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Confirm").replace("%name%", name));
|
||||
sms(sendi, getLang().getString(preM + "Created.Confirmation.Default").replace("%name%", name));
|
||||
}
|
||||
|
||||
public void getCreateConfirmWorld(CommandSender sendi, String name, String world) {
|
||||
sms(sendi, getLang().getString(preM + "Created.Confirmation.Destination").replace("%name%", name).replace("%world%", world));
|
||||
}
|
||||
|
||||
public void getCreateInvalid(CommandSender sendi) {
|
||||
|
||||
@@ -2,10 +2,15 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
|
||||
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PortalsCommand_Create implements PortalsCommands {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PortalsCommand_Create implements PortalsCommands, PortalsCommandsTabable {
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sendi, String label, String[] args, AddonPortals addonPortals) {
|
||||
@@ -29,6 +34,9 @@ public class PortalsCommand_Create implements PortalsCommands {
|
||||
return;
|
||||
}
|
||||
String name = args[2];
|
||||
if (args.length > 3) {
|
||||
portal.setWorld(args[3]);
|
||||
}
|
||||
//Duplicate Name
|
||||
for (PortalsRegionInfo portals : addonPortals.getPortals().getRegisteredPortals()) {
|
||||
if (portals.getName().equals(name)) {
|
||||
@@ -36,9 +44,23 @@ public class PortalsCommand_Create implements PortalsCommands {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (addonPortals.getPortals().addRegisteredPortal(p, name))
|
||||
addonPortals.msgs.getCreateConfirm(sendi, name);
|
||||
if (addonPortals.getPortals().addRegisteredPortal(p, name)) {
|
||||
if (portal.getWorld() == null)
|
||||
addonPortals.msgs.getCreateConfirm(p, name);
|
||||
else
|
||||
addonPortals.msgs.getCreateConfirmWorld(p, name, portal.getWorld());
|
||||
} else
|
||||
sendi.sendMessage("Something went wrong when creating a portal!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sendi, String[] args, AddonPortals addonPortals) {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (args.length == 4) {
|
||||
for (World world : Bukkit.getWorlds())
|
||||
if (world.getName().toLowerCase().startsWith(args[3].toLowerCase()))
|
||||
list.add(world.getName());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,13 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.portals.region;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class PortalsRegionInfo {
|
||||
|
||||
protected Location loc_1, loc_2;
|
||||
protected String name;
|
||||
protected String world;
|
||||
|
||||
public Location getLoc1() {
|
||||
return loc_1;
|
||||
@@ -28,7 +31,16 @@ public class PortalsRegionInfo {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setWorld(@Nullable String world) {
|
||||
this.world = world;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getWorld() {
|
||||
return world;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@ Flashback:
|
||||
Warning: '&7This random teleport was temporary! You were teleported back to your original location.'
|
||||
Portals:
|
||||
Created:
|
||||
Confirm: '&7Portal &a%name% &7has been created!'
|
||||
Confirmation:
|
||||
Default: '&7Portal &a%name% &7has been created!'
|
||||
Destination: '&7Portal &a%name% &7has been created, it''s headed for the world "%world%"'
|
||||
Invalid: '&7Portal location was not setup, please create a region!'
|
||||
Name: '&7Please provide a name for this portal!'
|
||||
Duplicate: '&7This name is already being used for another portal, please choose another!'
|
||||
@@ -29,5 +31,5 @@ Usage:
|
||||
|
||||
|
||||
Help:
|
||||
Portals: ' &7- &e/%command% portals <loc1, loc2, create> &7- Setup an rtp portal'
|
||||
Portals: ' &7- &e/%command% portals <loc1, loc2, create> [args...] &7- Setup an rtp portal'
|
||||
MagicStick: ' &7- &e/%command% magicstick give [player] &7- Give a magic stick to a player'
|
||||
@@ -1,5 +1,5 @@
|
||||
main: me.SuperRonanCraft.BetterRTPAddons.Main
|
||||
version: 1.3
|
||||
version: 1.4
|
||||
api-version: '1.13'
|
||||
name: BetterRTPAddons
|
||||
depend: [BetterRTP]
|
||||
|
||||
Reference in New Issue
Block a user