Skip to content

Commit

Permalink
Use NMS and Don't call event when player is afk to save resources (#584)
Browse files Browse the repository at this point in the history
  • Loading branch information
JT122406 authored Aug 18, 2022
1 parent 61bb88a commit 48e4843
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,14 @@ private static boolean managePickup(Item item, LivingEntity player) {
ItemMeta itemMeta = new ItemStack(material).getItemMeta();

//Call ore pick up event
PlayerGeneratorCollectEvent event = new PlayerGeneratorCollectEvent((Player) player, item, a);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return true;
} else {
item.getItemStack().setItemMeta(itemMeta);
if (!api.getAFKUtil().isPlayerAFK(((Player) player).getPlayer())){
PlayerGeneratorCollectEvent event = new PlayerGeneratorCollectEvent((Player) player, item, a);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return true;
} else {
item.getItemStack().setItemMeta(itemMeta);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.andrei1058.bedwars.api.arena.IArena;
import com.andrei1058.bedwars.api.events.player.PlayerGeneratorCollectEvent;
import com.andrei1058.bedwars.api.server.ServerType;
import com.andrei1058.bedwars.support.version.common.VersionCommon;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
Expand Down Expand Up @@ -79,7 +80,7 @@ public void onPickup(PlayerPickupItemEvent e) {
return;
}

if (e.getItem().getItemStack().getType().toString().equals("BED")) {
if (VersionCommon.api.getVersionSupport().isBed(e.getItem().getItemStack().getType())) {
e.setCancelled(true);
e.getItem().remove();
} else if (e.getItem().getItemStack().hasItemMeta()) {
Expand All @@ -90,12 +91,15 @@ public void onPickup(PlayerPickupItemEvent e) {
ItemMeta itemMeta = new ItemStack(material).getItemMeta();

//Call ore pick up event
PlayerGeneratorCollectEvent event = new PlayerGeneratorCollectEvent(e.getPlayer(), e.getItem(), a);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()){
e.setCancelled(true);
} else {
e.getItem().getItemStack().setItemMeta(itemMeta);

if (!api.getAFKUtil().isPlayerAFK(e.getPlayer())){
PlayerGeneratorCollectEvent event = new PlayerGeneratorCollectEvent(e.getPlayer(), e.getItem(), a);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()){
e.setCancelled(true);
} else {
e.getItem().getItemStack().setItemMeta(itemMeta);
}
}
}
}
Expand Down Expand Up @@ -133,12 +137,4 @@ public void onDrop(PlayerDropItemEvent e) {
e.setCancelled(true);
}
}

@EventHandler
//Prevent AFK players from picking items
public void onCollect(PlayerGeneratorCollectEvent e){
if (api.getAFKUtil().isPlayerAFK(e.getPlayer())){
e.setCancelled(true);
}
}
}

0 comments on commit 48e4843

Please sign in to comment.