mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2024-09-18 18:41:13 +02:00
Added code to check if the material exists
This commit is contained in:
parent
550fbe8804
commit
3e176566cc
@ -14,6 +14,7 @@ import com.sekwah.advancedportals.core.util.Config;
|
|||||||
import com.sekwah.advancedportals.core.util.DataStorage;
|
import com.sekwah.advancedportals.core.util.DataStorage;
|
||||||
import com.sekwah.advancedportals.core.util.InfoLogger;
|
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.coreconnector.ConnectorDataCollector;
|
||||||
import com.sekwah.advancedportals.coreconnector.command.CommandRegister;
|
import com.sekwah.advancedportals.coreconnector.command.CommandRegister;
|
||||||
|
|
||||||
public class AdvancedPortalsCore {
|
public class AdvancedPortalsCore {
|
||||||
@ -23,6 +24,7 @@ public class AdvancedPortalsCore {
|
|||||||
private final DataStorage dataStorage;
|
private final DataStorage dataStorage;
|
||||||
private final InfoLogger infoLogger;
|
private final InfoLogger infoLogger;
|
||||||
private final int mcMinorVer;
|
private final int mcMinorVer;
|
||||||
|
private final ConnectorDataCollector dataCollector;
|
||||||
|
|
||||||
private WarpEffectRegistry warpEffectRegistry;
|
private WarpEffectRegistry warpEffectRegistry;
|
||||||
private TagRegistry<AdvancedPortal> portalTagRegistry;
|
private TagRegistry<AdvancedPortal> portalTagRegistry;
|
||||||
@ -47,11 +49,13 @@ public class AdvancedPortalsCore {
|
|||||||
* @param commandRegister - Handles the command registry, different on each platform
|
* @param commandRegister - Handles the command registry, different on each platform
|
||||||
* @param mcVer Minecraft version e.g. 1.12.2
|
* @param mcVer Minecraft version e.g. 1.12.2
|
||||||
*/
|
*/
|
||||||
public AdvancedPortalsCore(DataStorage dataStorage, InfoLogger infoLogger, CommandRegister commandRegister, int[] mcVer) {
|
public AdvancedPortalsCore(DataStorage dataStorage, InfoLogger infoLogger, CommandRegister commandRegister,
|
||||||
|
ConnectorDataCollector dataCollector, int[] mcVer) {
|
||||||
this.dataStorage = dataStorage;
|
this.dataStorage = dataStorage;
|
||||||
this.infoLogger = infoLogger;
|
this.infoLogger = infoLogger;
|
||||||
this.instance = this;
|
this.instance = this;
|
||||||
this.commandRegister = commandRegister;
|
this.commandRegister = commandRegister;
|
||||||
|
this.dataCollector = dataCollector;
|
||||||
this.mcMinorVer = this.checkMcVer(mcVer);
|
this.mcMinorVer = this.checkMcVer(mcVer);
|
||||||
|
|
||||||
this.onEnable();
|
this.onEnable();
|
||||||
@ -181,6 +185,10 @@ public class AdvancedPortalsCore {
|
|||||||
return instance.infoLogger;
|
return instance.infoLogger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ConnectorDataCollector getDataCollector() {
|
||||||
|
return instance.dataCollector;
|
||||||
|
}
|
||||||
|
|
||||||
public static CoreListeners getCoreListeners() {
|
public static CoreListeners getCoreListeners() {
|
||||||
return instance.coreListeners;
|
return instance.coreListeners;
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,15 @@ public class PortalManager {
|
|||||||
AdvancedPortal portal = new AdvancedPortal(maxLoc, minLoc);
|
AdvancedPortal portal = new AdvancedPortal(maxLoc, minLoc);
|
||||||
for(DataTag portalTag : tags) {
|
for(DataTag portalTag : tags) {
|
||||||
if(portalTag.NAME.equalsIgnoreCase("triggerblock")) {
|
if(portalTag.NAME.equalsIgnoreCase("triggerblock")) {
|
||||||
portal.setTriggerBlocks(portalTag.VALUE.split(","));
|
ArrayList<String> triggers = new ArrayList<>();
|
||||||
|
for(String trigger : portalTag.VALUE.split(",")) {
|
||||||
|
if(AdvancedPortalsCore.getDataCollector().materialExists(trigger)) {
|
||||||
|
triggers.add(trigger.toLowerCase());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(triggers.size() != 0) {
|
||||||
|
portal.setTriggerBlocks(triggers.toArray(new String[0]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
portal.setArg(portalTag);
|
portal.setArg(portalTag);
|
||||||
|
@ -50,11 +50,9 @@ public class CreateDestiSubCommand extends CreateSubCommand implements SubComman
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String getTag(String arg) {
|
protected String getTag(String arg) {
|
||||||
ArrayList<String> tags = AdvancedPortalsCore.getDestinationTagRegistry().getTags();
|
int splitLoc = arg.indexOf(":");
|
||||||
for(String tag : tags) {
|
if(splitLoc != -1) {
|
||||||
if(arg.startsWith(tag + ":")) {
|
return arg.substring(0,splitLoc + 1);
|
||||||
return tag;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma
|
|||||||
}
|
}
|
||||||
ArrayList<DataTag> portalTags = this.getTagsFromArgs(args);
|
ArrayList<DataTag> portalTags = this.getTagsFromArgs(args);
|
||||||
try {
|
try {
|
||||||
|
System.out.println(Arrays.toString(portalTags.toArray()));
|
||||||
AdvancedPortal portal = AdvancedPortalsCore.getPortalManager().createPortal(args[1], player, portalTags);
|
AdvancedPortal portal = AdvancedPortalsCore.getPortalManager().createPortal(args[1], player, portalTags);
|
||||||
if(portal != null) {
|
if(portal != null) {
|
||||||
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.create.complete"));
|
sender.sendMessage(Lang.translateColor("messageprefix.positive") + Lang.translateColor("command.create.complete"));
|
||||||
@ -46,11 +47,9 @@ public class CreatePortalSubCommand extends CreateSubCommand implements SubComma
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String getTag(String arg) {
|
protected String getTag(String arg) {
|
||||||
ArrayList<String> tags = AdvancedPortalsCore.getPortalTagRegistry().getTags();
|
int splitLoc = arg.indexOf(":");
|
||||||
for(String tag : tags) {
|
if(splitLoc != -1) {
|
||||||
if(arg.startsWith(tag + ":")) {
|
return arg.substring(0,splitLoc + 1);
|
||||||
return tag;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package com.sekwah.advancedportals.coreconnector;
|
package com.sekwah.advancedportals.coreconnector;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets info from the specific implementation
|
||||||
|
*/
|
||||||
public class ConnectorDataCollector {
|
public class ConnectorDataCollector {
|
||||||
|
|
||||||
public boolean materialExists(String materialName) {
|
public boolean materialExists(String materialName) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user