9
0
mirror of https://gitlab.com/SamB440/rpgregions-2.git synced 2026-01-04 15:31:38 +00:00

Add ItemRequirement

This commit is contained in:
SamB440
2022-01-08 16:28:29 +00:00
parent 2d24de7637
commit 02e171657a
2 changed files with 37 additions and 1 deletions

View File

@@ -36,6 +36,7 @@ import net.islandearth.rpgregions.managers.data.region.ConfiguredRegion;
import net.islandearth.rpgregions.managers.registry.RPGRegionsRegistry;
import net.islandearth.rpgregions.requirements.AlonsoLevelRequirement;
import net.islandearth.rpgregions.requirements.DependencyRequirement;
import net.islandearth.rpgregions.requirements.ItemRequirement;
import net.islandearth.rpgregions.requirements.LevelRequirement;
import net.islandearth.rpgregions.requirements.MoneyRequirement;
import net.islandearth.rpgregions.requirements.PermissionRequirement;
@@ -239,8 +240,10 @@ public final class RPGRegions extends JavaPlugin implements IRPGRegionsAPI, Lang
getLogger().warning("Unable to register requirements");
return;
}
registry.register(LevelRequirement.class);
registry.register(AlonsoLevelRequirement.class);
registry.register(ItemRequirement.class);
registry.register(LevelRequirement.class);
registry.register(MoneyRequirement.class);
registry.register(PlaceholderRequirement.class);
registry.register(DependencyRequirement.class);

View File

@@ -0,0 +1,33 @@
package net.islandearth.rpgregions.requirements;
import net.islandearth.rpgregions.api.IRPGRegionsAPI;
import net.islandearth.rpgregions.gui.GuiEditable;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class ItemRequirement extends RegionRequirement {
@GuiEditable(value = "Item", icon = Material.GRASS_BLOCK)
private final ItemStack itemStack;
public ItemRequirement(IRPGRegionsAPI api) {
super(api);
this.itemStack = new ItemStack(Material.WOODEN_SWORD);
}
@Override
public String getName() {
return "Item";
}
@Override
public boolean meetsRequirements(Player player) {
return player.getInventory().containsAtLeast(itemStack, 1);
}
@Override
public String getText(Player player) {
return "Item: " + itemStack.getType() + " x" + itemStack.getAmount();
}
}