feat: add a warning for no name being included
This commit is contained in:
parent
0753839699
commit
19d6d8f0fb
|
@ -8,6 +8,7 @@ import com.sekwah.advancedportals.core.serializeddata.DataTag;
|
||||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||||
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||||
import com.sekwah.advancedportals.core.services.PortalServices;
|
import com.sekwah.advancedportals.core.services.PortalServices;
|
||||||
|
import com.sekwah.advancedportals.core.util.InfoLogger;
|
||||||
import com.sekwah.advancedportals.core.util.Lang;
|
import com.sekwah.advancedportals.core.util.Lang;
|
||||||
import com.sekwah.advancedportals.core.util.TagReader;
|
import com.sekwah.advancedportals.core.util.TagReader;
|
||||||
|
|
||||||
|
@ -20,6 +21,9 @@ public class CreatePortalSubCommand implements SubCommand {
|
||||||
@Inject
|
@Inject
|
||||||
PortalServices portalServices;
|
PortalServices portalServices;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
InfoLogger infoLogger;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCommand(CommandSenderContainer sender, String[] args) {
|
public void onCommand(CommandSenderContainer sender, String[] args) {
|
||||||
if(args.length > 1) {
|
if(args.length > 1) {
|
||||||
|
@ -30,7 +34,10 @@ public class CreatePortalSubCommand implements SubCommand {
|
||||||
}
|
}
|
||||||
ArrayList<DataTag> portalTags = TagReader.getTagsFromArgs(args);
|
ArrayList<DataTag> portalTags = TagReader.getTagsFromArgs(args);
|
||||||
|
|
||||||
AdvancedPortal portal = portalServices.createPortal(args[1], player, portalTags);
|
// Find the tag with the "name" NAME
|
||||||
|
DataTag nameTag = portalTags.stream().findFirst().filter(tag -> tag.NAME.equals("name")).orElse(null);
|
||||||
|
|
||||||
|
AdvancedPortal portal = portalServices.createPortal(nameTag == null ? null : nameTag.VALUES[0], player, portalTags);
|
||||||
if(portal != null) {
|
if(portal != null) {
|
||||||
sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.create.complete"));
|
sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.create.complete"));
|
||||||
sender.sendMessage(Lang.translate("command.create.tags"));
|
sender.sendMessage(Lang.translate("command.create.tags"));
|
||||||
|
@ -49,7 +56,7 @@ public class CreatePortalSubCommand implements SubCommand {
|
||||||
sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.error"));
|
sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.error"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.error.noname"));
|
sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.notags"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.sekwah.advancedportals.core.registry;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||||
import com.sekwah.advancedportals.core.effect.WarpEffect;
|
import com.sekwah.advancedportals.core.effect.WarpEffect;
|
||||||
|
import com.sekwah.advancedportals.core.util.InfoLogger;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -20,6 +21,9 @@ public class WarpEffectRegistry {
|
||||||
@Inject
|
@Inject
|
||||||
private AdvancedPortalsCore portalsCore;
|
private AdvancedPortalsCore portalsCore;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private InfoLogger infoLogger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a new warp effect.
|
* Register a new warp effect.
|
||||||
*
|
*
|
||||||
|
@ -61,7 +65,7 @@ public class WarpEffectRegistry {
|
||||||
list = this.visualEffects;
|
list = this.visualEffects;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
this.portalsCore.getInfoLogger().logWarning(type.toString()
|
this.infoLogger.logWarning(type.toString()
|
||||||
+ " effect type not recognised");
|
+ " effect type not recognised");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -69,7 +73,7 @@ public class WarpEffectRegistry {
|
||||||
return list.get(name);
|
return list.get(name);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.portalsCore.getInfoLogger().logWarning("No effect of type:"
|
this.infoLogger.logWarning("No effect of type:"
|
||||||
+ type.toString() + " was registered with the name: " + name);
|
+ type.toString() + " was registered with the name: " + name);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
package com.sekwah.advancedportals.core.services;
|
package com.sekwah.advancedportals.core.services;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.inject.Inject;
|
||||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||||
import com.sekwah.advancedportals.core.serializeddata.DataTag;
|
import com.sekwah.advancedportals.core.serializeddata.DataTag;
|
||||||
import com.sekwah.advancedportals.core.serializeddata.PlayerLocation;
|
import com.sekwah.advancedportals.core.serializeddata.PlayerLocation;
|
||||||
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||||
|
import com.sekwah.advancedportals.core.util.InfoLogger;
|
||||||
|
import com.sekwah.advancedportals.core.util.Lang;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -13,6 +16,10 @@ import java.util.Map;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class PortalServices {
|
public class PortalServices {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
InfoLogger infoLogger;
|
||||||
|
|
||||||
public void loadPortals() {
|
public void loadPortals() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -34,6 +41,11 @@ public class PortalServices {
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdvancedPortal createPortal(String name, PlayerContainer player, ArrayList<DataTag> portalTags) {
|
public AdvancedPortal createPortal(String name, PlayerContainer player, ArrayList<DataTag> portalTags) {
|
||||||
|
if(name == null){
|
||||||
|
infoLogger.logWarning("Attempted to make a portal with no name");
|
||||||
|
player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname"));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,7 @@ portal.error.selection.differentworlds=Both the selected points need to be in th
|
||||||
desti.info.noargs=&cNo tags were given
|
desti.info.noargs=&cNo tags were given
|
||||||
|
|
||||||
command.error.noname= No name has been given.
|
command.error.noname= No name has been given.
|
||||||
|
command.error.notags= No tags have been given. You need to include at least &ename:(name)&c.
|
||||||
|
|
||||||
desti.error.takenname=The name given for the portal is already taken.
|
desti.error.takenname=The name given for the portal is already taken.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue