Removed dumb try catch system i had made

This commit is contained in:
Sekwah 2018-06-08 07:15:00 +01:00
parent 57c176a6bf
commit b27d0f4757
16 changed files with 678 additions and 788 deletions

View File

@ -1,16 +1,16 @@
Advanced Portals <a href="https://travis-ci.org/sekwah41/Advanced-Portals/branches">![Build Status](https://travis-ci.org/sekwah41/Advanced-Portals.svg?branch=spigot-dev)</a>
Advanced Portals [![Build Status](https://travis-ci.org/sekwah41/Advanced-Portals.svg?branch=master)](https://travis-ci.org/sekwah41/Advanced-Portals/branches)
================
An advanced portals plugin for bukkit made by sekwah41 designed to have a wide range of features which are easy to use. It adds a bunch of commands to create and edit portals and destinations. This plugin not only enable normal teleportation but also cross server teleportation for networks using bungee.
**NOTE:** This is the rewrite that is in progress to also allow multiple platforms of server mods, if you are looking for the old version or this version isn't finished check the branch <a href="https://github.com/sekwah41/Advanced-Portals/tree/portals-old">portals-old</a>
**NOTE:** This is the rewrite that is in progress to also allow multiple platforms of server mods, if you are looking for the old version or this version isn't finished check the branch [portals-old](https://github.com/sekwah41/Advanced-Portals/tree/portals-old)
Also please use the markdown and not html for updates to this file, references can be found [here](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
#Branch Layout
# Branch Layout
* [master](https://github.com/sekwah41/Advanced-Portals/) (Release Build) ![Build Status](https://travis-ci.org/sekwah41/Advanced-Portals.svg?branch=master)
* [core-dev](https://github.com/sekwah41/Advanced-Portals/tree/dev) (Dev Build) ![Build Status](https://travis-ci.org/sekwah41/Advanced-Portals.svg?branch=dev)
#Help
# Help
[List Of Commands](https://github.com/sekwah41/Advanced-Portals/wiki/Commands)
@ -18,17 +18,17 @@ Also please use the markdown and not html for updates to this file, references c
[Bukkit Page](http://dev.bukkit.org/bukkit-plugins/advanced-portals/)
#Supported Platforms
# Supported Platforms
* Spigot/Craftbukkit (planned for release of recode)
* Forge (planned)
#API
# API
Still needs major work on the documentation however javadocs will be made available on my website on release.
May be out of date but I will keep whatever javadocs there are updated every now and then here
http://www.sekwah.com/javadocs/advancedportals/
#Usage Data
# Usage Data
![Global Plugin Stats](http://i.mcstats.org/AdvancedPortals/Global+Statistics.borderless.png)
@ -39,4 +39,4 @@ e.g. "java -jar BuildTools.jar --rev 1.10.2" (Enter this into git bash)
Use the versions to test code before you turn it into reflection or suggest it to be turned into reflection.
You should never use direct craftbukkit references in public builds as it would only work in one spigot version
You should never use direct craftbukkit references in public builds as it would only work in one spigot version

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

@ -1,6 +1,5 @@
package com.sekwah.advancedportals.core.api.warphandler;
import com.sekwah.advancedportals.core.api.portal.PortalException;
import com.sekwah.advancedportals.coreconnector.container.PlayerContainer;
/**
@ -29,7 +28,7 @@ public interface 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.
@ -38,7 +37,7 @@ public interface 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);
}
@ -68,11 +67,13 @@ public interface 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
*
@ -88,11 +89,15 @@ public interface 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);
}
@ -105,7 +110,7 @@ public interface 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)
@ -114,7 +119,7 @@ public interface TagHandler {
* @param argData
* @return if the tag will be removed.
*/
boolean tagRemoved(T target, PlayerContainer player, String argData) throws PortalException;
boolean tagRemoved(T target, PlayerContainer player, String argData);
}

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

@ -7,6 +7,8 @@ import com.sekwah.advancedportals.core.config.RepositoryModule;
import com.sekwah.advancedportals.core.data.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 {
@ -18,7 +20,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});
@ -26,6 +43,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.