9
0
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:
SamB440
2020-01-31 18:08:23 +00:00
parent 3948827bb5
commit dba2654ffa
18 changed files with 48 additions and 17 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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