Removed dumb try catch system i had made

This commit is contained in:
Sekwah 2018-06-08 07:15:00 +01:00 committed by Sekwah
parent fa795c7d91
commit fa732c4e60
15 changed files with 669 additions and 778 deletions

View File

@ -3,7 +3,6 @@ package com.sekwah.advancedportals.core.api.destination;
import com.google.gson.annotations.SerializedName;
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
import com.sekwah.advancedportals.core.entities.DataTag;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.api.registry.TagRegistry;
import com.sekwah.advancedportals.core.api.warphandler.ActivationData;
import com.sekwah.advancedportals.core.api.warphandler.TagHandler;
@ -56,17 +55,12 @@ public class Destination {
public boolean activate(PlayerContainer player) {
ActivationData data = new ActivationData();
try {
this.portalActivate(player, data);
} catch (PortalException e) {
// TODO add portal error message
e.printStackTrace();
}
this.portalActivate(player, data);
this.postActivate(player, data);
return true;
}
public boolean portalActivate(PlayerContainer player, ActivationData data) throws PortalException {
public boolean portalActivate(PlayerContainer player, ActivationData data) {
TagRegistry<Destination> tagRegistry = AdvancedPortalsCore.getDestinationTagRegistry();
DataTag[] destiTags = new DataTag[args.size()];
int i = 0;

View File

@ -72,23 +72,18 @@ public class AdvancedPortal {
for(Map.Entry<String, String> entry : args.entrySet()) {
portalTags[i++] = new DataTag(entry.getKey(), entry.getValue());
}
try {
for(DataTag portalTag : portalTags) {
TagHandler.Activation<AdvancedPortal> activationHandler = tagRegistry.getActivationHandler(portalTag.NAME);
if(activationHandler != null) {
activationHandler.preActivated(this, player, data, this.getArg(portalTag.NAME));
}
}
for(DataTag portalTag : portalTags) {
TagHandler.Activation<AdvancedPortal> activationHandler = tagRegistry.getActivationHandler(portalTag.NAME);
if(activationHandler != null) {
activationHandler.activated(this, player, data, this.getArg(portalTag.NAME));
}
for(DataTag portalTag : portalTags) {
TagHandler.Activation<AdvancedPortal> activationHandler = tagRegistry.getActivationHandler(portalTag.NAME);
if(activationHandler != null) {
activationHandler.preActivated(this, player, data, this.getArg(portalTag.NAME));
}
}
catch(PortalException e) {
// TODO add portal error message
e.printStackTrace();
for(DataTag portalTag : portalTags) {
TagHandler.Activation<AdvancedPortal> activationHandler = tagRegistry.getActivationHandler(portalTag.NAME);
if(activationHandler != null) {
activationHandler.activated(this, player, data, this.getArg(portalTag.NAME));
}
}
for(DataTag portalTag : portalTags) {
TagHandler.Activation<AdvancedPortal> activationHandler = tagRegistry.getActivationHandler(portalTag.NAME);

View File

@ -1,10 +0,0 @@
package com.sekwah.advancedportals.core.api.portal;
/**
* Returns a message saying what went wrong with the portal or the action was blocked for a reason.
*/
public class PortalException extends Exception {
public PortalException(String reason) {
super(reason);
}
}

View File

@ -2,7 +2,6 @@ package com.sekwah.advancedportals.core.api.services;
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
import com.sekwah.advancedportals.core.api.destination.Destination;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.entities.DataTag;
import com.sekwah.advancedportals.core.entities.PlayerLocation;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
@ -25,9 +24,9 @@ public final class DestinationServices {
* @param player
* @param loc
* @param destiTags
* @return
* @return null if not created
*/
public Destination createDesti(String name, PlayerContainer player, PlayerLocation loc, ArrayList<DataTag> destiTags) throws PortalException {
public Destination createDesti(String name, PlayerContainer player, PlayerLocation loc, ArrayList<DataTag> destiTags) {
return null;
}
}

View File

@ -3,7 +3,6 @@ package com.sekwah.advancedportals.core.api.services;
import com.google.common.collect.ImmutableList;
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
import com.sekwah.advancedportals.core.api.portal.AdvancedPortal;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.entities.DataTag;
import com.sekwah.advancedportals.core.entities.PlayerLocation;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
@ -38,15 +37,15 @@ public final class PortalServices {
return null;
}
public void removePortal(String name, PlayerContainer player) throws PortalException {
public boolean removePortal(String name, PlayerContainer player) {
return false;
}
public AdvancedPortal createPortal(String name, PlayerContainer player, ArrayList<DataTag> portalTags) throws PortalException {
public AdvancedPortal createPortal(String name, PlayerContainer player, ArrayList<DataTag> portalTags) {
return null;
}
public void removePlayerSelection(PlayerContainer player) throws PortalException {
public boolean removePlayerSelection(PlayerContainer player) {
return false;
}
}

View File

@ -1,6 +1,5 @@
package com.sekwah.advancedportals.core.api.services;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.entities.PlayerTempData;
import com.sekwah.advancedportals.core.entities.PortalLocation;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;

View File

@ -16,7 +16,7 @@ public class TagHandler {
* @param argData
* @throws PortalException message given is the reason the portal (or destination) cannot be made
*/
void created(T target, PlayerContainer player, String argData) throws PortalException;
void created(T target, PlayerContainer player, String argData);
/**
* Example if the player does not have access to remove the portal or destination.
@ -25,7 +25,7 @@ public class TagHandler {
* @param argData
* @throws PortalException message given is the reason the portal cant be removed
*/
void destroyed(T target, PlayerContainer player, String argData) throws PortalException;
void destroyed(T target, PlayerContainer player, String argData);
}
@ -55,11 +55,13 @@ public class TagHandler {
* @param player
* @param activeData
* @param argData
*
* @return If the tag has allowed the warp
*/
void preActivated(T target, PlayerContainer player, ActivationData activeData, String argData) throws PortalException;
boolean preActivated(T target, PlayerContainer player, ActivationData activeData, String argData);
/**
* Activates after activation
* Activates after activation, should be used for actions such as removing money for a teleport.
*
* Any actions to do with player location should be done in activate
*
@ -75,11 +77,15 @@ public class TagHandler {
* You should do some second checks if it can be dependent on the preActivate, the destination tags will also be
* triggered here if a desti is listed.
*
* (You can still cancel here but it is advised to check properly in preActive)
*
* @param player
* @param activeData
* @param argData
*
* @return If the tag has allowed the warp
*/
void activated(T target, PlayerContainer player, ActivationData activeData, String argData) throws PortalException;
boolean activated(T target, PlayerContainer player, ActivationData activeData, String argData);
}
@ -92,7 +98,7 @@ public class TagHandler {
* @param argData
* @return if the tag will be added.
*/
boolean tagAdded(T target, PlayerContainer player, String argData) throws PortalException;
boolean tagAdded(T target, PlayerContainer player, String argData);
/**
* If the user has access to remove the tag (this does not include being added on destruction)

View File

@ -4,7 +4,6 @@ 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.entities.DataTag;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand;
import com.sekwah.advancedportals.core.util.Lang;
import com.sekwah.advancedportals.coreconnector.container.CommandSenderContainer;
@ -24,24 +23,22 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman
return;
}
ArrayList<DataTag> destiTags = this.getTagsFromArgs(args);
try {
Destination desti = AdvancedPortalsCore.getDestinationServices().createDesti(args[1], player, player.getLoc(), destiTags);
if(desti != null) {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.createdesti.complete"));
sender.sendMessage(Lang.translateColor("command.create.tags"));
ArrayList<DataTag> destiArgs = desti.getArgs();
if(destiArgs.size() == 0) {
sender.sendMessage(Lang.translateColor("desti.info.noargs"));
}
else {
for (DataTag tag : destiArgs) {
sender.sendMessage("\u00A7a" + tag.NAME + "\u00A77:\u00A7e" + tag.VALUE);
}
Destination desti = AdvancedPortalsCore.getDestinationServices().createDesti(args[1], player, player.getLoc(), destiTags);
if(desti != null) {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.createdesti.complete"));
sender.sendMessage(Lang.translateColor("command.create.tags"));
ArrayList<DataTag> destiArgs = desti.getArgs();
if(destiArgs.size() == 0) {
sender.sendMessage(Lang.translateColor("desti.info.noargs"));
}
else {
for (DataTag tag : destiArgs) {
sender.sendMessage("\u00A7a" + tag.NAME + "\u00A77:\u00A7e" + tag.VALUE);
}
}
} catch (PortalException portalTagExeption) {
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.createdesti.error") + " "
+ Lang.translate(portalTagExeption.getMessage()));
}
else {
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.createdesti.error"));
}
}
else {

View File

@ -4,7 +4,6 @@ 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.entities.DataTag;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.commands.subcommands.CreateSubCommand;
import com.sekwah.advancedportals.core.util.Lang;
import com.sekwah.advancedportals.coreconnector.container.CommandSenderContainer;
@ -25,21 +24,18 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma
return;
}
ArrayList<DataTag> portalTags = this.getTagsFromArgs(args);
try {
System.out.println(Arrays.toString(portalTags.toArray()));
AdvancedPortal portal = AdvancedPortalsCore.getPortalServices().createPortal(args[1], player, portalTags);
if(portal != null) {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.create.complete"));
sender.sendMessage(Lang.translateColor("command.create.tags"));
sender.sendMessage("\u00A7a" + "triggerBlock\u00A77:\u00A7e" + Arrays.toString(portal.getTriggerBlocks()));
for (DataTag tag: portal.getArgs()) {
sender.sendMessage("\u00A7a" + tag.NAME + "\u00A77:\u00A7e" + tag.VALUE);
}
System.out.println(Arrays.toString(portalTags.toArray()));
AdvancedPortal portal = AdvancedPortalsCore.getPortalServices().createPortal(args[1], player, portalTags);
if(portal != null) {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.create.complete"));
sender.sendMessage(Lang.translateColor("command.create.tags"));
sender.sendMessage("\u00A7a" + "triggerBlock\u00A77:\u00A7e" + Arrays.toString(portal.getTriggerBlocks()));
for (DataTag tag: portal.getArgs()) {
sender.sendMessage("\u00A7a" + tag.NAME + "\u00A77:\u00A7e" + tag.VALUE);
}
} catch (PortalException portalTagExeption) {
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.create.error") + " "
+ Lang.translate(portalTagExeption.getMessage()));
}
sender.sendMessage(Lang.translateColor("messageprefix.negative") + Lang.translateColor("command.create.error"));
}
else {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translate("command.error.noname"));

View File

@ -3,7 +3,6 @@ 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.PortalException;
import com.sekwah.advancedportals.core.util.Lang;
import com.sekwah.advancedportals.coreconnector.container.CommandSenderContainer;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
@ -18,12 +17,12 @@ public class RemoveSubCommand implements SubCommand {
@Override
public void onCommand(CommandSenderContainer sender, String[] args) {
if(args.length > 1) {
try {
AdvancedPortalsCore.getPortalServices().removePortal(args[1], sender.getPlayerContainer());
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.remove.complete"));
} catch (PortalException portalTagExeption) {
if(AdvancedPortalsCore.getPortalServices().removePortal(args[1], sender.getPlayerContainer())) {
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.remove.complete"));
}
else {
sender.sendMessage(Lang.translateColor("messageprefix.negative")
+ Lang.translateColor("command.remove.error") + " " + Lang.translate(portalTagExeption.getMessage()));
+ Lang.translateColor("command.remove.error"));
}
}
else {
@ -32,12 +31,14 @@ public class RemoveSubCommand implements SubCommand {
sender.sendMessage(Lang.translate("command.remove.noname"));
}
else {
try {
AdvancedPortalsCore.getPortalServices().removePlayerSelection(player);
} catch (PortalException portalTagExeption) {
sender.sendMessage(Lang.translateColor("messageprefix.negative")
+ Lang.translateColor("command.remove.error") + " " + Lang.translate(portalTagExeption.getMessage()));
if(AdvancedPortalsCore.getPortalServices().removePlayerSelection(player)) {
}
else {
sender.sendMessage(Lang.translateColor("messageprefix.negative")
+ Lang.translateColor("command.remove.error"));
}
}
}
}

View File

@ -6,9 +6,9 @@ import com.google.inject.Singleton;
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
import com.sekwah.advancedportals.core.api.destination.Destination;
import com.sekwah.advancedportals.core.entities.DataTag;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.core.api.warphandler.TagHandler;
import com.sekwah.advancedportals.core.entities.PlayerLocation;
import com.sekwah.advancedportals.core.util.Lang;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
import java.lang.reflect.Type;
@ -41,12 +41,15 @@ public class DestinationRepositoryImpl implements DestinationRepository {
}
public Destination createDesti(String name, PlayerContainer player, PlayerLocation playerLocation, ArrayList<DataTag> tags) throws PortalException {
public Destination createDesti(String name, PlayerContainer player, PlayerLocation playerLocation, ArrayList<DataTag> tags) {
// TODO change to write messages
if(name == null || name.equals("")) {
throw new PortalException("desti.error.noname");
player.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translate("desti.error.noname"));
return null;
}
else if(this.destiHashMap.containsKey(name)) {
throw new PortalException("desti.error.takenname");
player.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translate("desti.error.takenname"));
return null;
}
Destination desti = new Destination(playerLocation);

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
import com.sekwah.advancedportals.core.util.DataStorage;
import com.sekwah.advancedportals.coreconnector.ConnectorDataCollector;
import com.sekwah.advancedportals.coreconnector.command.CommandRegister;
import com.sekwah.advancedportals.metrics.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public class AdvancedPortalsPlugin extends JavaPlugin {
@ -17,7 +19,22 @@ public class AdvancedPortalsPlugin extends JavaPlugin {
*/
//private Injector injector;
@Override
public void onEnable() {
Metrics metrics = new Metrics(this);
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
System.out.println(Bukkit.getVersion());
// TODO actually get the minecraft version
this.portalsCore = new AdvancedPortalsCore(this.getDataFolder(),
new SpigotInfoLogger(this), new CommandRegister(this), new ConnectorDataCollector(), new int[]{1,12,2});
@ -25,6 +42,7 @@ public class AdvancedPortalsPlugin extends JavaPlugin {
this.getServer().getPluginManager().registerEvents(new Listeners(), this);
}
@Override
public void onDisable() {
this.portalsCore.onDisable();
}

View File

@ -41,7 +41,7 @@ command.create.detailedhelp=Format is /portal create (name) [tag:tagvalue] List
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.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.

View File

@ -41,7 +41,7 @@ command.create.detailedhelp=A formátum /portal create (név) [tag:tagvalue] Meg
command.create.complete= A portál sikeresen létrehozva.
command.createdesti.help=Célállomások létrehozása
command.createdesti.error= Hiba történt a célállomásnál:
command.createdesti.error= Hiba történt a célállomásnál
command.createdesti.console= Nem hozhatsz létre célállomást a konzol segítségével.
command.createdesti.detailedhelp=A formátum /desti create (név) [tag:tagvalue] Megadja a címkéket a létrehozás után a formátum tag:calue, ha az értéknek szóközre van szüksége, használja a formátum tag:"érték a szóközökkel"
command.createdesti.complete= A célállomás sikeresen létrehozva.