9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-28 19:39:14 +00:00

Switched to using Spigot API

This commit is contained in:
HeroBrineGoat
2022-01-28 18:10:46 -05:00
parent 7a7ddf09fb
commit e024d6420b
7 changed files with 21 additions and 65 deletions

View File

@@ -115,7 +115,7 @@ public class ItemSerializer implements TypeSerializer<GuiItem> {
}
final Component name = StringUtils.parse(nameNode.getString());
final String name = StringUtils.parseStringToString(nameNode.getString());
final boolean unbreakable = unbreakableNode.getBoolean();
final boolean glowing = glowingNode.getBoolean();

View File

@@ -1,42 +1,19 @@
package io.github.fisher2911.hmccosmetics.listener;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
import io.github.fisher2911.hmccosmetics.HMCCosmetics;
import io.github.fisher2911.hmccosmetics.api.CosmeticItem;
import io.github.fisher2911.hmccosmetics.api.event.CosmeticChangeEvent;
import io.github.fisher2911.hmccosmetics.api.event.CosmeticItemEvent;
import io.github.fisher2911.hmccosmetics.gui.ArmorItem;
import io.github.fisher2911.hmccosmetics.user.User;
import io.github.fisher2911.hmccosmetics.user.UserManager;
import io.github.fisher2911.hmccosmetics.util.builder.ItemBuilder;
import io.th0rgal.oraxen.utils.armorequipevent.ArmorEquipEvent;
import org.bukkit.Bukkit;
import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.CreatureSpawner;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.event.inventory.InventoryInteractEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EntityEquipment;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.spigotmc.event.entity.EntityMountEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
public class ClickListener implements Listener {
@@ -54,19 +31,23 @@ public class ClickListener implements Listener {
public void onCosmeticClick(final InventoryClickEvent event) {
final HumanEntity player = event.getWhoClicked();
if (!(player instanceof Player)) return;
this.fixInventory((Player) player, Set.of(event.getSlot()), event.getClickedInventory());
this.fixInventory((Player) player);
}
@EventHandler
public void onCosmeticClick(final InventoryDragEvent event) {
final HumanEntity player = event.getWhoClicked();
if (!(player instanceof Player)) return;
this.fixInventory((Player) player, event.getInventorySlots(), event.getView().getBottomInventory());
this.fixInventory((Player) player);
}
@EventHandler
public void onArmorEquip(final PlayerArmorChangeEvent event) {
final Player player = event.getPlayer();
public void onInventoryClose(final InventoryCloseEvent event) {
final HumanEntity player = event.getPlayer();
this.userManager.get(player.getUniqueId()).ifPresent(this::doRunnable);
}
private void fixInventory(final Player player) {
final Optional<User> optionalUser = this.userManager.get(player.getUniqueId());
if (optionalUser.isEmpty()) {
@@ -76,30 +57,6 @@ public class ClickListener implements Listener {
this.doRunnable(optionalUser.get());
}
@EventHandler
public void onInventoryClose(final InventoryCloseEvent event) {
final HumanEntity player = event.getPlayer();
this.userManager.get(player.getUniqueId()).ifPresent(this::doRunnable);
}
private void fixInventory(final Player player, final Set<Integer> slotsClicked, final Inventory inventory) {
final Optional<User> optionalUser = this.userManager.get(player.getUniqueId());
if (optionalUser.isEmpty()) {
return;
}
if (inventory instanceof PlayerInventory) {
final User user = optionalUser.get();
for (int i : slotsClicked) {
if (this.equipmentSlots.contains(i)) {
this.doRunnable(user);
break;
}
}
}
}
private void doRunnable(final User user) {
Bukkit.getScheduler().runTaskLaterAsynchronously(
this.plugin, () -> this.userManager.updateCosmetics(user),

View File

@@ -6,9 +6,10 @@ import com.comphenix.protocol.ProtocolManager;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.comphenix.protocol.wrappers.Pair;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.IntArrayList;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

View File

@@ -80,14 +80,6 @@ public class ItemBuilder {
return this;
}
public ItemBuilder name(final Component name) {
if (this.itemMeta == null) {
return this;
}
this.itemMeta.displayName(name);
return this;
}
/**
* Sets placeholders to the item's name
*