mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-06-17 06:11:06 +00:00
add ExecutableItems Implementation
This commit is contained in:
@@ -58,6 +58,7 @@ dependencies {
|
|||||||
implementation 'com.github.oraxen:oraxen:1.158.0'
|
implementation 'com.github.oraxen:oraxen:1.158.0'
|
||||||
implementation 'com.github.LoneDev6:api-itemsadder:3.4.1-r4'
|
implementation 'com.github.LoneDev6:api-itemsadder:3.4.1-r4'
|
||||||
implementation 'com.github.PlaceholderAPI:placeholderapi:2.11.3'
|
implementation 'com.github.PlaceholderAPI:placeholderapi:2.11.3'
|
||||||
|
implementation 'com.github.Ssomar-Developement:SCore:4.23.10.8'
|
||||||
//implementation files('libs/CustomItems.jar')
|
//implementation files('libs/CustomItems.jar')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.volmit.iris.core.link;
|
||||||
|
|
||||||
|
import com.ssomar.score.api.executableitems.ExecutableItemsAPI;
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
|
import com.volmit.iris.util.collection.KList;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.MissingResourceException;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public class ExecutableItemsDataProvider extends ExternalDataProvider {
|
||||||
|
public ExecutableItemsDataProvider() {
|
||||||
|
super("ExecutableItems");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
Iris.info("Setting up ExecutableItems Link...");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockData getBlockData(Identifier blockId) throws MissingResourceException {
|
||||||
|
throw new MissingResourceException("Failed to find BlockData!", blockId.namespace(), blockId.key());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getItemStack(Identifier itemId) throws MissingResourceException {
|
||||||
|
return ExecutableItemsAPI.getExecutableItemsManager().getExecutableItem(itemId.key())
|
||||||
|
.map(item -> item.buildItem(1, Optional.empty()))
|
||||||
|
.orElseThrow(() -> new MissingResourceException("Failed to find ItemData!", itemId.namespace(), itemId.key()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier[] getBlockTypes() {
|
||||||
|
return new Identifier[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier[] getItemTypes() {
|
||||||
|
KList<Identifier> names = new KList<>();
|
||||||
|
for (String name : ExecutableItemsAPI.getExecutableItemsManager().getExecutableItemIdsList()) {
|
||||||
|
try {
|
||||||
|
Identifier key = new Identifier("executable_items", name);
|
||||||
|
if (getItemStack(key) != null)
|
||||||
|
names.add(key);
|
||||||
|
} catch (MissingResourceException ignored) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return names.toArray(new Identifier[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValidProvider(Identifier key, boolean isItem) {
|
||||||
|
return key.namespace().equalsIgnoreCase("executable_items") && isItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,10 +19,7 @@
|
|||||||
package com.volmit.iris.core.service;
|
package com.volmit.iris.core.service;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.core.link.ExternalDataProvider;
|
import com.volmit.iris.core.link.*;
|
||||||
import com.volmit.iris.core.link.Identifier;
|
|
||||||
import com.volmit.iris.core.link.ItemAdderDataProvider;
|
|
||||||
import com.volmit.iris.core.link.OraxenDataProvider;
|
|
||||||
import com.volmit.iris.util.collection.KList;
|
import com.volmit.iris.util.collection.KList;
|
||||||
import com.volmit.iris.util.plugin.IrisService;
|
import com.volmit.iris.util.plugin.IrisService;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -53,6 +50,10 @@ public class ExternalDataSVC implements IrisService {
|
|||||||
if (Bukkit.getPluginManager().getPlugin("ItemAdder") != null) {
|
if (Bukkit.getPluginManager().getPlugin("ItemAdder") != null) {
|
||||||
Iris.info("ItemAdder found, loading ItemAdderDataProvider...");
|
Iris.info("ItemAdder found, loading ItemAdderDataProvider...");
|
||||||
}
|
}
|
||||||
|
providers.add(new ExecutableItemsDataProvider());
|
||||||
|
if (Bukkit.getPluginManager().getPlugin("ExecutableItems") != null) {
|
||||||
|
Iris.info("ExecutableItems found, loading ExecutableItemsDataProvider...");
|
||||||
|
}
|
||||||
|
|
||||||
for (ExternalDataProvider p : providers) {
|
for (ExternalDataProvider p : providers) {
|
||||||
if (p.isReady()) {
|
if (p.isReady()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user