9
0
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:
SamB440
2020-03-16 17:07:28 +00:00
parent 74d448303d
commit f313a22cac
15 changed files with 140 additions and 7 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}
}

View File

@@ -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);
}

View File

@@ -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);