Added ShopGuiPlus integration

This commit is contained in:
Auxilor
2021-08-29 15:51:38 +01:00
parent 253a8c24ad
commit 196a651ab3
7 changed files with 105 additions and 7 deletions

View File

@@ -16,7 +16,7 @@ public class McmmoManager {
/**
* A set of all registered integrations.
*/
private final Set<McmmoWrapper> regsistered = new HashSet<>();
private final Set<McmmoWrapper> registered = new HashSet<>();
/**
* Register a new integration.
@@ -24,7 +24,7 @@ public class McmmoManager {
* @param integration The integration to register.
*/
public void register(@NotNull final McmmoWrapper integration) {
regsistered.add(integration);
registered.add(integration);
}
/**
@@ -34,7 +34,7 @@ public class McmmoManager {
* @return The bonus drop count.
*/
public int getBonusDropCount(@NotNull final Block block) {
for (McmmoWrapper mcmmoWrapper : regsistered) {
for (McmmoWrapper mcmmoWrapper : registered) {
return mcmmoWrapper.getBonusDropCount(block);
}
return 0;
@@ -47,7 +47,7 @@ public class McmmoManager {
* @return If the event is fake.
*/
public boolean isFake(@NotNull final Event event) {
for (McmmoWrapper mcmmoWrapper : regsistered) {
for (McmmoWrapper mcmmoWrapper : registered) {
return mcmmoWrapper.isFake(event);
}
return false;

View File

@@ -0,0 +1,36 @@
package com.willfp.eco.core.integrations.shop;
import lombok.experimental.UtilityClass;
import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
import java.util.Set;
/**
* Class to handle shop integrations.
*/
@UtilityClass
public class ShopManager {
/**
* A set of all registered integrations.
*/
private final Set<ShopWrapper> registered = new HashSet<>();
/**
* Register a new integration.
*
* @param integration The integration to register.
*/
public void register(@NotNull final ShopWrapper integration) {
registered.add(integration);
}
/**
* Register eco item provider for shop plugins.
*/
public void registerEcoProvider() {
for (ShopWrapper shopWrapper : registered) {
shopWrapper.registerEcoProvider();
}
}
}

View File

@@ -0,0 +1,11 @@
package com.willfp.eco.core.integrations.shop;
/**
* Wrapper class for shop integrations.
*/
public interface ShopWrapper {
/**
* Register eco item provider for shop plugins.
*/
void registerEcoProvider();
}

View File

@@ -1,8 +1,5 @@
package com.willfp.eco.core.items;
import com.willfp.eco.core.items.builder.EnchantedBookBuilder;
import com.willfp.eco.core.items.builder.ItemBuilder;
import com.willfp.eco.core.items.builder.ItemStackBuilder;
import com.willfp.eco.core.recipe.parts.EmptyTestableItem;
import com.willfp.eco.core.recipe.parts.MaterialTestableItem;
import com.willfp.eco.core.recipe.parts.ModifiedTestableItem;
@@ -16,6 +13,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Arrays;
import java.util.HashMap;
@@ -195,6 +193,22 @@ public final class Items {
return false;
}
/**
* Get custom item from item.
*
* @param itemStack The item.
* @return The custom item, or null if not exists.
*/
@Nullable
public CustomItem getCustomItem(@NotNull final ItemStack itemStack) {
for (CustomItem item : REGISTRY.values()) {
if (item.matches(itemStack)) {
return item;
}
}
return null;
}
/**
* Get all registered custom items.
*