mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2026-01-04 15:31:38 +00:00
Split api
This commit is contained in:
33
api/build.gradle
Normal file
33
api/build.gradle
Normal file
@@ -0,0 +1,33 @@
|
||||
plugins {
|
||||
id 'java'
|
||||
}
|
||||
|
||||
group 'net.islandearth'
|
||||
version '1.0.8'
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = 'papermc-repo'
|
||||
url = 'https://papermc.io/repo/repository/maven-public/'
|
||||
}
|
||||
|
||||
maven {
|
||||
name = 'sonatype'
|
||||
url = 'https://oss.sonatype.org/content/groups/public/'
|
||||
}
|
||||
|
||||
maven {
|
||||
name = 'CodeMC'
|
||||
url = 'https://repo.codemc.org/repository/maven-public'
|
||||
}
|
||||
|
||||
maven { url = "https://repo.aikar.co/content/groups/aikar/" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||
compileOnly 'org.spigotmc:spigot-api:1.12-R0.1-SNAPSHOT' // spigot
|
||||
}
|
||||
@@ -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