Release 1.0

This commit is contained in:
Marco-Byte-1 2021-03-05 17:27:26 +05:30
parent 39f8c25db1
commit c8e83cae42
9 changed files with 399 additions and 250 deletions

View File

@ -3,9 +3,12 @@ package io.github.simplexdev.strike;
import io.github.simplexdev.strike.api.ConfigUser;
import java.util.Arrays;
import io.github.simplexdev.strike.api.utils.InventoryEditConfigManager;
import io.github.simplexdev.strike.listeners.InventoryEditGUI;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
@ -27,9 +30,19 @@ public class StrikeCommand implements CommandExecutor {
if (args[0].isEmpty() || args.length > 1) {
return true;
}
if ("reload".equals(args[0].toLowerCase())) {
if ("reload".equalsIgnoreCase(args[0])) {
this.plugin.reloadConfig();
Arrays.<ConfigUser>stream(configUsers).forEach(configUser -> configUser.refresh());
Arrays.stream(configUsers).forEach(configUser -> configUser.refresh());
}
else if ("edit".equalsIgnoreCase(args[0]) && sender instanceof Player) {
new InventoryEditGUI(plugin).openInventory((Player) sender);
}
else if ("get".equalsIgnoreCase(args[0]) && sender instanceof Player) {
Player player = (Player) sender;
player.getInventory().setContents(new InventoryEditConfigManager(plugin).getInventory(player));
}

View File

@ -1,14 +1,21 @@
package io.github.simplexdev.strike;
import io.github.simplexdev.strike.api.ConfigUser;
import io.github.simplexdev.strike.api.Spawn;
import io.github.simplexdev.strike.api.utils.InventoryEditConfigManager;
import io.github.simplexdev.strike.listeners.*;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
public final class StrikePlugin extends JavaPlugin {
//TODO
// Full Ammo after dead
// Fall Damage Disable
// Health Pack head not working
// Bullet through Grass
// Ammo CHat Remove
// NPC Edit
// SetSpawn
// LaunchPad
@Override
public void onEnable() {
@ -19,17 +26,19 @@ public final class StrikePlugin extends JavaPlugin {
Jumper jumper = new Jumper(this);
SpawnController spawnController = new SpawnController(this);
HealthPackage healthPackage = new HealthPackage(this);
Grenade grenade = new Grenade(this);
getServer().getPluginManager().registerEvents(gun, this);
getServer().getPluginManager().registerEvents(jumper, this);
getServer().getPluginManager().registerEvents(spawnController, this);
getServer().getPluginManager().registerEvents(healthPackage, this);
getServer().getPluginManager().registerEvents(grenade, this);
getServer().getPluginManager().registerEvents(new Grenade(this), this);
getServer().getPluginManager().registerEvents(new InventoryEditGUI(this), this);
getCommand("strike").setExecutor(new StrikeCommand(this));
StrikeCommand.loadInstances(gun, jumper, spawnController);
StrikeCommand.loadInstances(gun, jumper, spawnController, grenade);
}
@Override

View File

@ -1,4 +1,7 @@
package io.github.simplexdev.strike.api.utils;
public class InventoryEdit {
public class InstanceStorage {
}

View File

@ -0,0 +1,111 @@
package io.github.simplexdev.strike.api.utils;
import io.github.simplexdev.strike.listeners.Grenade;
import io.github.simplexdev.strike.listeners.Gun;
import io.github.simplexdev.strike.listeners.HealthPackage;
import org.bukkit.Material;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.MemorySection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Set;
public class InventoryEditConfigManager {
private final JavaPlugin plugin;
private final FileConfiguration dataConfig;
private final File dataFile;
public InventoryEditConfigManager(JavaPlugin plugin) {
this.plugin = plugin;
dataFile = new File("plugins\\Strike\\inventories.yml");
if (!dataFile.isFile()) {
try {
dataFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
dataConfig = new YamlConfiguration();
try {
dataConfig.load(dataFile);
} catch (IOException e) {
e.printStackTrace();
} catch (InvalidConfigurationException e) {
e.printStackTrace();
}
}
public void setInventory(Player player, ItemStack[] items) throws IOException {
if (items.length != 9)
throw new IllegalArgumentException("The length of the items can be only 9");
for (int i = 0; i < items.length; i++) {
dataConfig.set(player.getUniqueId().toString() + "." + i, items[i]);
dataConfig.save(dataFile);
}
}
public ItemStack[] getInventory(Player player) {
ItemStack[] items = new ItemStack[9];
String uuid = player.getUniqueId().toString();
if (dataConfig.get(uuid) == null) {
ItemStack[] defaultItems = new ItemStack[9];
defaultItems[0] = new ItemStack(Material.WOODEN_SWORD);
defaultItems[1] = new Gun(plugin).createItem();
defaultItems[2] = new Grenade(plugin).createItem();
defaultItems[8] = new HealthPackage(plugin).createItem();
try {
setInventory(player, defaultItems);
} catch (IOException e) {
e.printStackTrace();
}
return defaultItems;
}
Set<String> setString = dataConfig.getKeys(true);
for (String string : setString) {
if (string.startsWith(uuid) && !string.equalsIgnoreCase(uuid)) {
Integer integer = Integer.parseInt(string.replace(uuid + ".", "").trim());
items[integer] = dataConfig.getItemStack(uuid + "." + integer);
}
}
return items;
}
public int getItemSlot(ItemStack itemStack, Player player) {
ItemStack[] itemStacks = getInventory(player);
for (int i = 0; i < itemStacks.length; i++)
if (itemStacks[i].isSimilar(itemStack))
return i;
return 0;
};
}

View File

@ -45,7 +45,7 @@ public class Grenade implements ConfigUser {
this.plugin.getServer().getOnlinePlayers().forEach(player -> player.getInventory().addItem(new ItemStack[]{stack}));
return stack;
return stack.clone();
}
@ -108,7 +108,7 @@ public class Grenade implements ConfigUser {
if (player.getHealth() <= e.getFinalDamage())
killer = entry.getKey();
entry.getValue().remove(player);
}
}

View File

@ -1,185 +1,155 @@
/* */ package io.github.simplexdev.strike.listeners;
/* */ import io.github.simplexdev.strike.api.ConfigUser;
package io.github.simplexdev.strike.listeners;
import io.github.simplexdev.strike.api.ConfigUser;
import io.github.simplexdev.strike.api.Spawn;
/* */ import java.util.Collection;
/* */ import java.util.HashMap;
/* */ import io.github.simplexdev.strike.events.GunKillEvent;
import io.github.simplexdev.strike.events.GunKillEvent;
import org.bukkit.*;
/* */
/* */
/* */
/* */ import org.bukkit.entity.Entity;
/* */ import org.bukkit.entity.LivingEntity;
/* */ import org.bukkit.entity.Player;
/* */ import org.bukkit.event.Event;
/* */ import org.bukkit.event.EventHandler;
/* */ import org.bukkit.event.block.Action;
/* */ import org.bukkit.event.player.PlayerInteractEvent;
/* */ import org.bukkit.event.player.PlayerItemHeldEvent;
/* */ import org.bukkit.inventory.ItemStack;
/* */ import org.bukkit.inventory.meta.ItemMeta;
/* */ import org.bukkit.plugin.Plugin;
/* */ import org.bukkit.plugin.java.JavaPlugin;
/* */ import org.bukkit.scheduler.BukkitRunnable;
/* */
/* */ public class Gun implements ConfigUser {
/* 24 */ private static final HashMap<ItemStack, Integer> ammoMap = new HashMap<>();
/* */
/* */ private final ItemStack gunItemStack;
/* */
/* */ private final JavaPlugin plugin;
/* */
/* */ private int maxAmmo;
/* */
/* */ private int maxDistance;
/* */
/* */
/* */ public Gun(JavaPlugin plugin) {
/* 36 */ this.plugin = plugin;
/* 37 */ this.gunItemStack = createItem();
/* 38 */ this.maxAmmo = plugin.getConfig().getInt("gun.ammo");
/* 39 */ this.maxDistance = plugin.getConfig().getInt("gun.range");
/* */ }
/* */
/* */ public ItemStack createItem() {
/* 43 */ ItemStack stack = new ItemStack(Material.IRON_HORSE_ARMOR, 1);
/* 44 */ ItemMeta meta = this.plugin.getServer().getItemFactory().getItemMeta(Material.IRON_HORSE_ARMOR);
/* */
/* 46 */ meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.plugin.getConfig().getString("gun.name")));
/* */
/* 48 */ stack.setItemMeta(meta);
/* */
/* 50 */ this.plugin.getServer().getOnlinePlayers().forEach(player -> player.getInventory().addItem(new ItemStack[] { stack }));
/* */
/* 52 */ return stack;
/* */ }
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ @EventHandler
/* */ private void activeActionBar(PlayerItemHeldEvent e) {
/* 75 */ final Player player = e.getPlayer();
/* */
/* 77 */ if (!player.getWorld().equals(Spawn.getWorld()) || player.getInventory().getItem(e.getNewSlot()) == null || !player.getInventory().getItem(e.getNewSlot()).equals(this.gunItemStack)) {
/* */ return;
/* */ }
/* 80 */ (new BukkitRunnable()
/* */ {
/* */ public void run() {
/* 83 */ ItemStack mainHandItem = player.getInventory().getItemInMainHand();
/* 84 */ if (!mainHandItem.isSimilar(Gun.this.gunItemStack)) {
/* 85 */ cancel();
/* */
/* */ return;
/* */ }
/* 89 */ String ammoText = (Gun.ammoMap.containsKey(mainHandItem) ? ((Integer)Gun.ammoMap.get(mainHandItem)).intValue() : Gun.this.maxAmmo) + " | " + Gun.this.maxAmmo;
/* */
/* 91 */ player.sendActionBar(ammoText);
/* */ }
/* 94 */ }).runTaskTimer((Plugin)this.plugin, 0L, 7L);
/* */ }
/* */
/* */
/* */
/* */ @EventHandler
/* */ private void onRightClick(PlayerInteractEvent e) {
/* 101 */ final ItemStack itemStack = e.getItem();
/* 102 */ Player player = e.getPlayer();
/* 103 */ Action action = e.getAction();
/* */
/* 105 */ if (!player.getWorld().equals(Spawn.getWorld()) || itemStack == null || !itemStack.equals(this.gunItemStack) || !action.toString().startsWith("RIGHT_CLICK")) {
/* */ return;
/* */ }
/* 108 */ int ammo = this.maxAmmo;
/* */
/* 110 */ if (!ammoMap.containsKey(itemStack)) {
/* 111 */ ammoMap.put(itemStack, Integer.valueOf(this.maxAmmo - 1));
/* */ } else {
/* */
/* 114 */ ammo = ((Integer)ammoMap.get(itemStack)).intValue();
/* */
/* 116 */ if (ammo == 1)
/* */ {
/* 118 */ (new BukkitRunnable()
/* */ {
/* */ public void run() {
/* 121 */ Gun.ammoMap.replace(itemStack, Integer.valueOf(Gun.this.maxAmmo));
/* */ }
/* 123 */ }).runTaskLater((Plugin)this.plugin, 20L * this.plugin.getConfig().getInt("gun.reload-time"));
/* */ }
/* */
/* 126 */ if (((Integer)ammoMap.get(itemStack)).intValue() != 0) {
/* 127 */ ammoMap.replace(itemStack, Integer.valueOf(ammo - 1));
/* */ }
/* */ }
/* 130 */ if (ammo <= 0) {
/* */ return;
/* */ }
/* 133 */ player.sendMessage(String.valueOf(ammo));
/* */
/* 135 */ spawnParticle(player, player.getEyeLocation().clone(), 0.0D);
/* 136 */ Entity entity = player.getTargetEntity(this.maxDistance);
/* */
/* 138 */ if (!(entity instanceof LivingEntity)) {
/* */ return;
/* */ }
/* 141 */ LivingEntity livingEntity = (LivingEntity)entity;
/* 142 */ double currentHealth = livingEntity.getHealth();
/* 143 */ double damageHealth = this.plugin.getConfig().getInt("gun.damage");
/* */
/* 145 */ if (currentHealth <= damageHealth) {
/* 146 */ Bukkit.getServer().getPluginManager().callEvent((Event)new GunKillEvent(player, livingEntity));
/* */ }
/* 148 */ livingEntity.damage(damageHealth);
/* */ }
/* */
/* */
/* */
/* */ private void spawnParticle(Player player, Location location, double distance) {
/* 154 */ World world = location.getWorld();
/* */
/* 156 */ location.add(location.getDirection().multiply(0.1D));
/* 157 */ world.spawnParticle(Particle.CRIT, location, 1, 0.0D, 0.0D, 0.0D, 0.001D);
/* */
/* 159 */ distance += 0.1D;
/* */
/* 161 */ if (location.getBlock().getType() != Material.AIR || distance > this.maxDistance) {
/* */ return;
/* */ }
/* 164 */ Collection<LivingEntity> entities = location.getNearbyLivingEntities(0.1D);
/* */
/* 166 */ if (!entities.isEmpty() && entities.size() == 1 && !entities.contains(player)) {
/* */ return;
/* */ }
/* 169 */ spawnParticle(player, location, distance);
/* */ }
/* */
/* */
/* */
/* */ public void refresh() {
/* 175 */ this.maxAmmo = this.plugin.getConfig().getInt("gun.ammo");
/* 176 */ this.maxDistance = this.plugin.getConfig().getInt("gun.range");
/* */ }
/* */ }
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.Collection;
import java.util.HashMap;
public class Gun implements ConfigUser {
private static final HashMap<ItemStack, Integer> ammoMap = new HashMap<>();
private final ItemStack gunItemStack;
private final JavaPlugin plugin;
private int maxAmmo;
private int maxDistance;
/* Location: E:\Rishi\Codes\Java Projects\Minecraft Plugins\PaperMC\1.16.4\Server Testing\plugins\strike-1.0-SNAPSHOT.jar!\io\github\simplexdev\simplexcore\strike\listeners\Gun.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.1.3
*/
public Gun(JavaPlugin plugin) {
this.plugin = plugin;
this.gunItemStack = createItem();
this.maxAmmo = plugin.getConfig().getInt("gun.ammo");
this.maxDistance = plugin.getConfig().getInt("gun.range");
}
public ItemStack createItem() {
ItemStack stack = new ItemStack(Material.IRON_HORSE_ARMOR, 1);
ItemMeta meta = this.plugin.getServer().getItemFactory().getItemMeta(Material.IRON_HORSE_ARMOR);
meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', this.plugin.getConfig().getString("gun.name")));
stack.setItemMeta(meta);
this.plugin.getServer().getOnlinePlayers().forEach(player -> player.getInventory().addItem(new ItemStack[]{stack}));
return stack.clone();
}
@EventHandler
private void activeActionBar(PlayerItemHeldEvent e) {
final Player player = e.getPlayer();
if (!player.getWorld().equals(Spawn.getWorld()) || player.getInventory().getItem(e.getNewSlot()) == null || !player.getInventory().getItem(e.getNewSlot()).equals(this.gunItemStack)) {
return;
}
(new BukkitRunnable() {
public void run() {
ItemStack mainHandItem = player.getInventory().getItemInMainHand();
if (!mainHandItem.isSimilar(Gun.this.gunItemStack)) {
cancel();
return;
}
String ammoText = (Gun.ammoMap.containsKey(mainHandItem) ? ((Integer) Gun.ammoMap.get(mainHandItem)).intValue() : Gun.this.maxAmmo) + " | " + Gun.this.maxAmmo;
player.sendActionBar(ammoText);
}
}).runTaskTimer((Plugin) this.plugin, 0L, 7L);
}
@EventHandler
private void onRightClick(PlayerInteractEvent e) {
final ItemStack itemStack = e.getItem();
Player player = e.getPlayer();
Action action = e.getAction();
if (!player.getWorld().equals(Spawn.getWorld()) || itemStack == null || !itemStack.equals(this.gunItemStack) || !action.toString().startsWith("RIGHT_CLICK")) {
return;
}
int ammo = this.maxAmmo;
if (!ammoMap.containsKey(itemStack)) {
ammoMap.put(itemStack, Integer.valueOf(this.maxAmmo - 1));
} else {
ammo = ((Integer) ammoMap.get(itemStack)).intValue();
if (ammo == 1) {
(new BukkitRunnable() {
public void run() {
Gun.ammoMap.replace(itemStack, Integer.valueOf(Gun.this.maxAmmo));
}
}).runTaskLater((Plugin) this.plugin, 20L * this.plugin.getConfig().getInt("gun.reload-time"));
}
if (((Integer) ammoMap.get(itemStack)).intValue() != 0) {
ammoMap.replace(itemStack, Integer.valueOf(ammo - 1));
}
}
if (ammo <= 0) {
return;
}
player.sendMessage(String.valueOf(ammo));
spawnParticle(player, player.getEyeLocation().clone(), 0.0D);
Entity entity = player.getTargetEntity(this.maxDistance);
if (!(entity instanceof LivingEntity)) {
return;
}
LivingEntity livingEntity = (LivingEntity) entity;
double currentHealth = livingEntity.getHealth();
double damageHealth = this.plugin.getConfig().getInt("gun.damage");
if (currentHealth <= damageHealth) {
Bukkit.getServer().getPluginManager().callEvent((Event) new GunKillEvent(player, livingEntity));
}
livingEntity.damage(damageHealth);
}
private void spawnParticle(Player player, Location location, double distance) {
World world = location.getWorld();
location.add(location.getDirection().multiply(0.1D));
world.spawnParticle(Particle.CRIT, location, 1, 0.0D, 0.0D, 0.0D, 0.001D);
distance += 0.1D;
if (location.getBlock().getType() != Material.AIR || distance > this.maxDistance) {
return;
}
Collection<LivingEntity> entities = location.getNearbyLivingEntities(0.1D);
if (!entities.isEmpty() && entities.size() == 1 && !entities.contains(player)) {
return;
}
spawnParticle(player, location, distance);
}
public void refresh() {
this.maxAmmo = this.plugin.getConfig().getInt("gun.ammo");
this.maxDistance = this.plugin.getConfig().getInt("gun.range");
}
}

View File

@ -53,7 +53,7 @@
}
}
public ItemStack createHealthPackage() {
public ItemStack createItem() {
String base64 = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGExNTU4YTgzZjQwMjZkYjIzMmY4MGJjOTYxNWNjM2JhNDE1ZGM0MDk0MGE1YTEzYWUyYThjOTBiMTVjM2MzZSJ9fX0=";
ItemStack healthPackage = SkullCreator.itemFromBase64(base64);
@ -63,7 +63,7 @@
healthPackage.setItemMeta(meta);
return healthPackage;
return healthPackage.clone();
}
@EventHandler
@ -93,6 +93,6 @@
public void refresh() {
this.usedMessage = plugin.getConfig().getString("health-package.restore-health-message", "You have restored your health");
this.regainHealth = plugin.getConfig().getInt("health-package.restore-health");
this.healthPackage = createHealthPackage();
this.healthPackage = createItem();
}
}

View File

@ -0,0 +1,60 @@
package io.github.simplexdev.strike.listeners;
import io.github.simplexdev.strike.api.utils.InventoryEditConfigManager;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class InventoryEditGUI implements Listener {
private static List<Inventory> inventories = new ArrayList<>();
private final InventoryEditConfigManager configManager;
private final JavaPlugin plugin;
public InventoryEditGUI(JavaPlugin plugin) {
configManager = new InventoryEditConfigManager(plugin);
this.plugin = plugin;
}
public void openInventory(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9);
inventories.add(inventory);
inventory.setContents(configManager.getInventory(player));
player.openInventory(inventory);
}
@EventHandler
private void onCloseInventory(InventoryCloseEvent e) {
if (!inventories.contains(e.getInventory()))
return;
try {
configManager.setInventory((Player) e.getPlayer(), e.getInventory().getContents());
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
@EventHandler
private void onClick(InventoryClickEvent e) {
Player player = (Player) e.getWhoClicked();
Inventory openedInventory = player.getOpenInventory().getTopInventory();
if (inventories.contains(openedInventory) && !e.getClickedInventory().equals(openedInventory))
e.setCancelled(true);
}
}

View File

@ -1,58 +1,41 @@
/* */ package io.github.simplexdev.strike.listeners;
/* */
/* */ import io.github.simplexdev.strike.api.ConfigUser;
/* */ import io.github.simplexdev.strike.api.Spawn;
/* */
import org.bukkit.Material;
/* */ import org.bukkit.entity.Player;
/* */ import org.bukkit.event.EventHandler;
/* */ import org.bukkit.event.EventPriority;
/* */ import org.bukkit.event.entity.PlayerDeathEvent;
/* */ import org.bukkit.event.player.PlayerRespawnEvent;
/* */ import org.bukkit.inventory.ItemStack;
/* */ import org.bukkit.plugin.java.JavaPlugin;
/* */
/* */
/* */ public class SpawnController
/* */ implements ConfigUser
/* */ {
/* */ private final JavaPlugin plugin;
/* */
/* */ public SpawnController(JavaPlugin plugin) {
/* 21 */ this.plugin = plugin;
/* */ }
/* */
/* */ @EventHandler
/* */ private void onDeath(PlayerDeathEvent e) {
/* 26 */ Player player = e.getEntity();
/* */
/* 28 */ if (player.getWorld().equals(Spawn.getWorld()))
/* 29 */ player.getInventory().clear();
/* */ }
/* */
/* */ @EventHandler(priority = EventPriority.HIGH)
/* */ private void onRespawn(PlayerRespawnEvent e) {
/* 34 */ if (e.getPlayer().getWorld().equals(Spawn.getWorld())) {
/* 35 */ e.setRespawnLocation(Spawn.getSpawn());
/* 36 */ giveItems(e.getPlayer());
/* */ }
/* */ }
/* */
/* */
/* */ private void giveItems(Player player) {
/* 42 */ player.getInventory().addItem(new ItemStack[] { (new Gun(this.plugin)).createItem() });
/* 43 */ player.getInventory().addItem(new ItemStack[] { (new Grenade(this.plugin)).createItem() });
/* 44 */ player.getInventory().addItem(new ItemStack[] { new ItemStack(Material.WOODEN_SWORD) });
/* */ }
/* */
/* */
/* */ public void refresh() {
/* 49 */ Spawn.loadConfig(this.plugin);
/* */ }
/* */ }
package io.github.simplexdev.strike.listeners;
import io.github.simplexdev.strike.api.ConfigUser;
import io.github.simplexdev.strike.api.Spawn;
import io.github.simplexdev.strike.api.utils.InventoryEditConfigManager;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.plugin.java.JavaPlugin;
/* Location: E:\Rishi\Codes\Java Projects\Minecraft Plugins\PaperMC\1.16.4\Server Testing\plugins\strike-1.0-SNAPSHOT.jar!\io\github\simplexdev\simplexcore\strike\listeners\SpawnController.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.1.3
*/
public class SpawnController
implements ConfigUser {
private final JavaPlugin plugin;
public SpawnController(JavaPlugin plugin) {
this.plugin = plugin;
}
@EventHandler
private void onDeath(PlayerDeathEvent e) {
Player player = e.getEntity();
if (player.getWorld().equals(Spawn.getWorld()))
player.getInventory().clear();
}
@EventHandler(priority = EventPriority.HIGH)
private void onRespawn(PlayerRespawnEvent e) {
if (e.getPlayer().getWorld().equals(Spawn.getWorld())) {
e.setRespawnLocation(Spawn.getSpawn());
e.getPlayer().getInventory().setContents(new InventoryEditConfigManager(plugin).getInventory(e.getPlayer()));
}
}
public void refresh() {
Spawn.loadConfig(this.plugin);
}
}