Changed how heads can be picked up.
This commit is contained in:
parent
87d9565818
commit
4526dfe184
|
@ -4,7 +4,7 @@ stages:
|
|||
variables:
|
||||
name: "EpicHeads"
|
||||
path: "/builds/$CI_PROJECT_PATH"
|
||||
version: "3.0.17"
|
||||
version: "3.0.18"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.songoda.epicheads.command;
|
|||
|
||||
import com.songoda.epicheads.EpicHeads;
|
||||
import com.songoda.epicheads.command.commands.*;
|
||||
import com.songoda.epicheads.utils.Methods;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
|
|
@ -6,11 +6,11 @@ import com.songoda.epicheads.utils.Methods;
|
|||
import com.songoda.epicheads.utils.ServerVersion;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.event.entity.ItemSpawnEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Optional;
|
||||
|
@ -23,15 +23,11 @@ public class ItemListeners implements Listener {
|
|||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void itemPickupEvent(PlayerPickupItemEvent event) {
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
||||
public void itemSpawnEvent(ItemSpawnEvent event) {
|
||||
ItemStack item = event.getEntity().getItemStack();
|
||||
|
||||
ItemStack item = event.getItem().getItemStack();
|
||||
|
||||
if (item.getType() != (plugin.isServerVersionAtLeast(ServerVersion.V1_13) ? Material.PLAYER_HEAD : Material.valueOf("SKULL_ITEM"))
|
||||
|| event.getItem().hasMetadata("EHE")) return;
|
||||
|
||||
event.getItem().removeMetadata("EHE", plugin);
|
||||
if (item.getType() != (plugin.isServerVersionAtLeast(ServerVersion.V1_13) ? Material.PLAYER_HEAD : Material.valueOf("SKULL_ITEM"))) return;
|
||||
|
||||
String encodededStr = Methods.getEncodedTexture(item);
|
||||
|
||||
|
@ -44,17 +40,11 @@ public class ItemListeners implements Listener {
|
|||
.filter(head -> url.equals(head.getURL())).findFirst();
|
||||
|
||||
if (optional.isPresent()) {
|
||||
event.setCancelled(true);
|
||||
event.getItem().setMetadata("EHE", new FixedMetadataValue(plugin, true));
|
||||
|
||||
ItemStack itemNew = optional.get().asItemStack();
|
||||
itemNew.setAmount(item.getAmount());
|
||||
|
||||
ItemMeta meta = itemNew.getItemMeta();
|
||||
meta.setLore(new ArrayList<>());
|
||||
itemNew.setItemMeta(meta);
|
||||
|
||||
event.getItem().setItemStack(itemNew);
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue