mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2024-09-29 23:57:36 +02:00
Merge branch 'master' into spigot
This commit is contained in:
commit
ceffd5ffde
@ -35,10 +35,18 @@ command.reload.detailedhelp=Reloads all portal data from files in the data folde
|
||||
command.reload.reloaded= All Advanced Portals data reloaded
|
||||
|
||||
command.create.help=Creates portals
|
||||
command.create.noargs= You need to actually list args for portal creation.
|
||||
command.create.error= There was an error making the portal:
|
||||
command.create.console= You cannot create a portal using the console.
|
||||
command.create.detailedhelp=Format is /portal create (name) [tag:tagvalue] List tags after create in the format tag:value, if your value needs spaces use the format tag:"value with spaces"
|
||||
command.create.complete= The portal has been successfully created.
|
||||
|
||||
command.createdesti.help=Creates destinations
|
||||
command.createdesti.error= There was an error making the destination:
|
||||
command.createdesti.console= You cannot create a destination using the console.
|
||||
command.createdesti.detailedhelp=Format is /desti create (name) [tag:tagvalue] List tags after create in the format tag:value, if your value needs spaces use the format tag:"value with spaces"
|
||||
command.createdesti.complete= The destination has been successfully created.
|
||||
|
||||
command.create.tags=\u00A7aTags:
|
||||
|
||||
command.playeronly= Sorry but that command can only be run by a player.
|
||||
|
||||
@ -53,11 +61,11 @@ command.selector.help=Gives you a portal region selector
|
||||
command.selector.detailedhelp=Gives you a portal selector to select the regions for making portals.
|
||||
|
||||
portal.error.invalidselection=You must have both pos1 and pos2 selected to create a portal.
|
||||
portal.error.noname=No name for the portal has been given.
|
||||
portal.error.takenname=The name given for the portal is already taken.
|
||||
portal.error.selection.differentworlds=Both the selected points need to be in the same world.
|
||||
|
||||
desti.error.noname=No name for the portal has been given.
|
||||
command.error.noname= No name has been given.
|
||||
|
||||
desti.error.takenname=The name given for the portal is already taken.
|
||||
|
||||
error.notplayer=Only players can do that.
|
||||
|
@ -10,6 +10,7 @@ import com.sekwah.advancedportals.core.api.warphandler.TagHandler;
|
||||
import com.sekwah.advancedportals.core.data.PlayerLocation;
|
||||
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@ -101,4 +102,12 @@ public class Destination {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList<DataTag> getArgs() {
|
||||
ArrayList<DataTag> tagList = new ArrayList<>();
|
||||
for(Map.Entry<String, String> entry : this.args.entrySet()){
|
||||
tagList.add(new DataTag(entry.getKey(), entry.getValue()));
|
||||
}
|
||||
return tagList;
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class DestinationManager {
|
||||
this.portalsCore = portalsCore;
|
||||
}
|
||||
|
||||
public void createDesti(String name, PlayerContainer player, PlayerLocation playerLocation, ArrayList<DataTag> tags) throws PortalException {
|
||||
public Destination createDesti(String name, PlayerContainer player, PlayerLocation playerLocation, ArrayList<DataTag> tags) throws PortalException {
|
||||
if(name == null || name.equals("")) {
|
||||
throw new PortalException("desti.error.noname");
|
||||
}
|
||||
@ -47,6 +47,7 @@ public class DestinationManager {
|
||||
}
|
||||
}
|
||||
this.destiHashMap.put(name, desti);
|
||||
return desti;
|
||||
}
|
||||
|
||||
|
||||
@ -55,6 +56,10 @@ public class DestinationManager {
|
||||
Type type = new TypeToken<HashMap<String, Destination>>() {
|
||||
}.getType();
|
||||
this.destiHashMap = this.portalsCore.getDataStorage().loadJson(type, "destinations.json");
|
||||
this.saveDestinations();
|
||||
}
|
||||
|
||||
public void saveDestinations() {
|
||||
if (this.destiHashMap == null) {
|
||||
this.destiHashMap = new HashMap<>();
|
||||
}
|
||||
|
@ -67,11 +67,15 @@ public class PortalManager {
|
||||
Type type = new TypeToken<HashMap<String, AdvancedPortal>>() {
|
||||
}.getType();
|
||||
this.portalHashMap = this.portalsCore.getDataStorage().loadJson(type, "portals.json");
|
||||
this.savePortals();
|
||||
this.updatePortalArray();
|
||||
}
|
||||
|
||||
public void savePortals() {
|
||||
if (this.portalHashMap == null) {
|
||||
this.portalHashMap = new HashMap<>();
|
||||
}
|
||||
this.portalsCore.getDataStorage().storeJson(this.portalHashMap, "portals.json");
|
||||
this.updatePortalArray();
|
||||
}
|
||||
|
||||
public void activateCooldown(PlayerContainer player) {
|
||||
@ -94,7 +98,7 @@ public class PortalManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void createPortal(String name, PlayerContainer player, ArrayList<DataTag> tags) throws PortalException {
|
||||
public AdvancedPortal createPortal(String name, PlayerContainer player, ArrayList<DataTag> tags) throws PortalException {
|
||||
if (this.portalSelectorLeftClick.containsKey(player.getUUID().toString())
|
||||
&& this.portalSelectorRightClick.containsKey(player.getUUID().toString())) {
|
||||
this.createPortal(name, player, this.portalSelectorLeftClick.get(player.getUUID().toString()),
|
||||
@ -102,6 +106,7 @@ public class PortalManager {
|
||||
} else {
|
||||
throw new PortalException("portal.invalidselection");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -127,7 +132,7 @@ public class PortalManager {
|
||||
* @param tags
|
||||
* @throws PortalException
|
||||
*/
|
||||
public void createPortal(String name, PlayerContainer player, PortalLocation loc1, PortalLocation loc2, ArrayList<DataTag> tags) throws PortalException {
|
||||
public AdvancedPortal createPortal(String name, PlayerContainer player, PortalLocation loc1, PortalLocation loc2, ArrayList<DataTag> tags) throws PortalException {
|
||||
|
||||
int maxX = Math.max(loc1.posX, loc2.posX);
|
||||
int maxY = Math.max(loc1.posY, loc2.posY);
|
||||
@ -167,6 +172,7 @@ public class PortalManager {
|
||||
}
|
||||
this.portalHashMap.put(name, portal);
|
||||
this.updatePortalArray();
|
||||
return portal;
|
||||
}
|
||||
|
||||
private void updatePortalArray() {
|
||||
|
@ -2,6 +2,7 @@ package com.sekwah.advancedportals.core.commands.subcommands.desti;
|
||||
|
||||
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.api.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.api.destination.Destination;
|
||||
import com.sekwah.advancedportals.core.api.portal.DataTag;
|
||||
import com.sekwah.advancedportals.core.api.portal.PortalException;
|
||||
import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand;
|
||||
@ -16,22 +17,27 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman
|
||||
|
||||
@Override
|
||||
public void onCommand(CommandSenderContainer sender, String[] args) {
|
||||
if(args.length > 2) {
|
||||
if(args.length > 1) {
|
||||
PlayerContainer player = sender.getPlayerContainer();
|
||||
if(player == null) {
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translate("command.create.console"));
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translate("command.createdesti.console"));
|
||||
return;
|
||||
}
|
||||
ArrayList<DataTag> destiTags = this.getTagsFromArgs(args);
|
||||
try {
|
||||
AdvancedPortalsCore.getDestinationManager().createDesti(args[1], player, player.getLoc(), destiTags);
|
||||
Destination desti = AdvancedPortalsCore.getDestinationManager().createDesti(args[1], player, player.getLoc(), destiTags);
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.createdesti.complete"));
|
||||
sender.sendMessage(Lang.translateColor("command.create.tags"));
|
||||
for (DataTag tag: desti.getArgs()) {
|
||||
sender.sendMessage(tag.NAME + ":" + tag.VALUE);
|
||||
}
|
||||
} catch (PortalException portalTagExeption) {
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.create.error") + " "
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.createdesti.error") + " "
|
||||
+ Lang.translate(portalTagExeption.getMessage()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
sender.sendMessage(Lang.translate("command.error.noname"));
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translate("command.error.noname"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,11 +63,11 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman
|
||||
|
||||
@Override
|
||||
public String getBasicHelpText() {
|
||||
return Lang.translate("command.create.help");
|
||||
return Lang.translate("command.createdesti.help");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDetailedHelpText() {
|
||||
return Lang.translate("command.create.detailedhelp");
|
||||
return Lang.translate("command.createdesti.detailedhelp");
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +0,0 @@
|
||||
package com.sekwah.advancedportals.core.commands.subcommands.desti;
|
||||
|
||||
public class TestSubCommand {
|
||||
}
|
@ -2,6 +2,7 @@ package com.sekwah.advancedportals.core.commands.subcommands.portal;
|
||||
|
||||
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.api.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.api.portal.AdvancedPortal;
|
||||
import com.sekwah.advancedportals.core.api.portal.DataTag;
|
||||
import com.sekwah.advancedportals.core.api.portal.PortalException;
|
||||
import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand;
|
||||
@ -16,7 +17,7 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma
|
||||
|
||||
@Override
|
||||
public void onCommand(CommandSenderContainer sender, String[] args) {
|
||||
if(args.length > 2) {
|
||||
if(args.length > 1) {
|
||||
PlayerContainer player = sender.getPlayerContainer();
|
||||
if(player == null) {
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translate("command.create.console"));
|
||||
@ -24,14 +25,19 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma
|
||||
}
|
||||
ArrayList<DataTag> portalTags = this.getTagsFromArgs(args);
|
||||
try {
|
||||
AdvancedPortalsCore.getPortalManager().createPortal(args[1], player, portalTags);
|
||||
AdvancedPortal portal = AdvancedPortalsCore.getPortalManager().createPortal(args[1], player, portalTags);
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.create.complete"));
|
||||
sender.sendMessage(Lang.translateColor("command.create.tags"));
|
||||
for (DataTag tag: portal.getArgs()) {
|
||||
sender.sendMessage(tag.NAME + ":" + tag.VALUE);
|
||||
}
|
||||
} catch (PortalException portalTagExeption) {
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.create.error") + " "
|
||||
+ Lang.translate(portalTagExeption.getMessage()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
sender.sendMessage(Lang.translate("command.error.noname"));
|
||||
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translate("command.error.noname"));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user