mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 03:09:14 +00:00
Add plugin requirement to registries
This commit is contained in:
@@ -70,10 +70,4 @@ public abstract class RegionEffect implements IGuiEditable {
|
||||
public boolean isIgnorePerm() {
|
||||
return ignorePerm;
|
||||
}
|
||||
|
||||
/**
|
||||
* User friendly name of this effect.
|
||||
* @return name of effect
|
||||
*/
|
||||
public abstract String getName();
|
||||
}
|
||||
|
||||
@@ -34,11 +34,9 @@ public abstract class RegionRequirement implements IGuiEditable {
|
||||
return preventType;
|
||||
}
|
||||
|
||||
/**
|
||||
* User friendly name of this reward.
|
||||
* @return name of reward
|
||||
*/
|
||||
public abstract String getName();
|
||||
|
||||
public abstract String getText(Player player);
|
||||
|
||||
public String getPluginRequirement() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package net.islandearth.rpgregions.requirements;
|
||||
|
||||
import net.islandearth.rpgregions.api.IRPGRegionsAPI;
|
||||
import net.islandearth.rpgregions.managers.registry.RPGRegionsRegistry;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -13,7 +14,12 @@ public final class RegionRequirementRegistry extends RPGRegionsRegistry<RegionRe
|
||||
public @Nullable RegionRequirement getNew(Class<? extends RegionRequirement> clazz, IRPGRegionsAPI plugin, Object... data) {
|
||||
try {
|
||||
Constructor<?> constructor = clazz.getConstructor(IRPGRegionsAPI.class);
|
||||
return (RegionRequirement) constructor.newInstance(plugin);
|
||||
RegionRequirement requirement = (RegionRequirement) constructor.newInstance(plugin);
|
||||
if (requirement.getPluginRequirement() != null
|
||||
&& Bukkit.getPluginManager().getPlugin(requirement.getPluginRequirement()) == null) {
|
||||
return null;
|
||||
}
|
||||
return requirement;
|
||||
} catch (ReflectiveOperationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -22,9 +22,7 @@ public abstract class DiscoveryReward implements IGuiEditable {
|
||||
*/
|
||||
public abstract void award(Player player);
|
||||
|
||||
/**
|
||||
* User friendly name of this reward.
|
||||
* @return name of reward
|
||||
*/
|
||||
public abstract String getName();
|
||||
public String getPluginRequirement() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import net.islandearth.rpgregions.api.IRPGRegionsAPI;
|
||||
import net.islandearth.rpgregions.managers.registry.RPGRegionsRegistry;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -13,7 +14,12 @@ public final class RegionRewardRegistry extends RPGRegionsRegistry<DiscoveryRewa
|
||||
public @Nullable DiscoveryReward getNew(Class<? extends DiscoveryReward> clazz, IRPGRegionsAPI plugin, Object... data) {
|
||||
try {
|
||||
Constructor<?> constructor = clazz.getConstructor(IRPGRegionsAPI.class);
|
||||
return (DiscoveryReward) constructor.newInstance(plugin);
|
||||
DiscoveryReward reward = (DiscoveryReward) constructor.newInstance(plugin);
|
||||
if (reward.getPluginRequirement() != null
|
||||
&& Bukkit.getPluginManager().getPlugin(reward.getPluginRequirement()) == null) {
|
||||
return null;
|
||||
}
|
||||
return reward;
|
||||
} catch (ReflectiveOperationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ public class AlonsoLevelRequirement extends LevelRequirement {
|
||||
public boolean meetsRequirements(Player player) {
|
||||
return AlonsoLevelsAPI.getLevel(player.getUniqueId()) >= this.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginRequirement() {
|
||||
return "AlonsoLevels";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,4 +43,9 @@ public class QuestRequirement extends RegionRequirement {
|
||||
public String getText(Player player) {
|
||||
return "Quest " + questId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginRequirement() {
|
||||
return "Quests";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,4 +18,8 @@ public class AlonsoLevelReward extends LevelReward {
|
||||
public void award(Player player) {
|
||||
AlonsoLevelsAPI.addLevel(player.getUniqueId(), 1);
|
||||
}
|
||||
|
||||
public String getPluginRequirement() {
|
||||
return "AlonsoLevels";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,4 +37,8 @@ public class QuestReward extends DiscoveryReward {
|
||||
public String getName() {
|
||||
return "Quest";
|
||||
}
|
||||
|
||||
public String getPluginRequirement() {
|
||||
return "Quests";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user