mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-31 04:36:29 +00:00
Split api
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package net.islandearth.rpgregions.api.events;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
public class RegionDiscoverEvent extends Event {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Player player;
|
||||
private final String region;
|
||||
|
||||
public RegionDiscoverEvent(Player player, String region) {
|
||||
this.player = player;
|
||||
this.region = region;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public String getRegion() {
|
||||
return region;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package net.islandearth.rpgregions.api.events;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RegionsEnterEvent extends Event {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Player player;
|
||||
private final List<String> regions;
|
||||
|
||||
public RegionsEnterEvent(Player player, List<String> regions) {
|
||||
this.player = player;
|
||||
this.regions = regions;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public List<String> getRegions() {
|
||||
return regions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ConsoleCommandReward extends DiscoveryReward {
|
||||
|
||||
private final String command;
|
||||
|
||||
public ConsoleCommandReward(String command) {
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void award(Player player) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), command.replace("%player%", player.getName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Console Command";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public abstract class DiscoveryReward {
|
||||
|
||||
/**
|
||||
* Awards this reward to the specified player
|
||||
* @param player
|
||||
*/
|
||||
public abstract void award(Player player);
|
||||
|
||||
/**
|
||||
* User friendly name of this reward.
|
||||
* @return name of reward
|
||||
*/
|
||||
public abstract String getName();
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ExperienceReward extends DiscoveryReward {
|
||||
|
||||
private final int xp;
|
||||
|
||||
public ExperienceReward(int xp) {
|
||||
this.xp = xp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void award(Player player) {
|
||||
player.giveExp(xp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Experience";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class ItemReward extends DiscoveryReward {
|
||||
|
||||
private final ItemStack item;
|
||||
|
||||
public ItemReward(ItemStack item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void award(Player player) {
|
||||
player.getInventory().addItem(item).forEach((pos, item) -> {
|
||||
player.getLocation().getWorld().dropItemNaturally(player.getLocation(), item);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Item";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package net.islandearth.rpgregions.rewards;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PlayerCommandReward extends DiscoveryReward {
|
||||
|
||||
private final String command;
|
||||
|
||||
public PlayerCommandReward(String command) {
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void award(Player player) {
|
||||
player.performCommand(command.replace("%player%", player.getName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Player Command";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user