mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 03:09:14 +00:00
Add %rpgregions_region_total%, add region requirements, update javadoc
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package net.islandearth.rpgregions.requirements;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class LevelRequirement extends RegionRequirement {
|
||||
|
||||
private final int level;
|
||||
|
||||
public LevelRequirement(int level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean meetsRequirements(Player player) {
|
||||
return player.getLevel() >= level;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Level";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Player player) {
|
||||
return "level " + level;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package net.islandearth.rpgregions.requirements;
|
||||
|
||||
import io.papermc.lib.PaperLib;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public enum PreventType {
|
||||
TELEPORT,
|
||||
PUSH;
|
||||
|
||||
public void prevent(PlayerMoveEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
switch (this) {
|
||||
case TELEPORT:
|
||||
PaperLib.teleportAsync(player, event.getFrom());
|
||||
break;
|
||||
case PUSH:
|
||||
Vector vector = event.getTo().toVector().subtract(player.getLocation().toVector()).normalize();
|
||||
player.setVelocity(vector.multiply(0.5));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package net.islandearth.rpgregions.requirements;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public abstract class RegionRequirement {
|
||||
|
||||
private final PreventType preventType;
|
||||
|
||||
public RegionRequirement() {
|
||||
this.preventType = PreventType.TELEPORT;
|
||||
}
|
||||
|
||||
public RegionRequirement(PreventType preventType) {
|
||||
this.preventType = preventType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether this player meets the requirements to enter.
|
||||
* @param player player to check
|
||||
* @return true if requirements are met by this player
|
||||
*/
|
||||
public abstract boolean meetsRequirements(Player player);
|
||||
|
||||
public PreventType getPreventType() {
|
||||
return preventType;
|
||||
}
|
||||
|
||||
/**
|
||||
* User friendly name of this reward.
|
||||
* @return name of reward
|
||||
*/
|
||||
public abstract String getName();
|
||||
|
||||
public abstract String getText(Player player);
|
||||
}
|
||||
@@ -6,7 +6,7 @@ public abstract class DiscoveryReward {
|
||||
|
||||
/**
|
||||
* Awards this reward to the specified player
|
||||
* @param player
|
||||
* @param player player to award to
|
||||
*/
|
||||
public abstract void award(Player player);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user