mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-31 12:56:39 +00:00
More work on mainhand cosmetics (wip)
This commit is contained in:
@@ -5,6 +5,7 @@ import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticMainhandType;
|
||||
import org.spongepowered.configurate.CommentedConfigurationNode;
|
||||
import org.spongepowered.configurate.ConfigurateException;
|
||||
import org.spongepowered.configurate.ConfigurationNode;
|
||||
@@ -85,6 +86,9 @@ public class Cosmetics {
|
||||
case BACKPACK -> {
|
||||
new CosmeticBackpackType(id, cosmeticConfig);
|
||||
}
|
||||
case MAINHAND -> {
|
||||
new CosmeticMainhandType(id, cosmeticConfig);
|
||||
}
|
||||
default -> {
|
||||
new CosmeticArmorType(id, cosmeticConfig);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin;
|
||||
import com.hibiscusmc.hmccosmetics.config.serializer.ItemSerializer;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetic;
|
||||
import com.hibiscusmc.hmccosmetics.user.CosmeticUser;
|
||||
import com.hibiscusmc.hmccosmetics.util.PlayerUtils;
|
||||
import com.hibiscusmc.hmccosmetics.util.packets.PacketManager;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -27,6 +28,8 @@ public class CosmeticMainhandType extends Cosmetic {
|
||||
public void update(CosmeticUser user) {
|
||||
Player player = user.getPlayer();
|
||||
|
||||
PacketManager.equipmentSlotUpdate(player.getEntityId(), user, getSlot(), PlayerUtils.getNearbyPlayers(player));
|
||||
|
||||
}
|
||||
|
||||
private ItemStack generateItemStack(ConfigurationNode config) {
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType;
|
||||
import com.hibiscusmc.hmccosmetics.user.CosmeticUser;
|
||||
import com.hibiscusmc.hmccosmetics.user.CosmeticUsers;
|
||||
import com.hibiscusmc.hmccosmetics.util.InventoryUtils;
|
||||
import com.hibiscusmc.hmccosmetics.util.packets.PacketManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
@@ -154,11 +155,17 @@ public class PlayerGameListener implements Listener {
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMainHandSwitch(PlayerChangedMainHandEvent event) {
|
||||
CosmeticUser user = CosmeticUsers.getUser(event.getPlayer().getUniqueId());
|
||||
public void onMainHandSwitch(PlayerItemHeldEvent event) {
|
||||
HMCCosmeticsPlugin.getInstance().getLogger().info("PlayerItemHeldEvent");
|
||||
CosmeticUser user = CosmeticUsers.getUser(event.getPlayer());
|
||||
if (user == null) return;
|
||||
HMCCosmeticsPlugin.getInstance().getLogger().info("PlayerItemHeldEvent 2");
|
||||
|
||||
// TODO: Mainhand cosmetics
|
||||
//user.updateCosmetic(CosmeticSlot.MAINHAND);
|
||||
|
||||
|
||||
event.getPreviousSlot();
|
||||
|
||||
user.updateCosmetic(CosmeticSlot.MAINHAND);
|
||||
}
|
||||
|
||||
private void registerInventoryClickListener() {
|
||||
|
||||
@@ -32,6 +32,7 @@ public interface NMSHandler {
|
||||
List<Player> sendTo
|
||||
);
|
||||
|
||||
|
||||
default boolean getSupported () {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.hibiscusmc.hmccosmetics.cosmetic.CosmeticSlot;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticMainhandType;
|
||||
import com.hibiscusmc.hmccosmetics.entities.BalloonEntity;
|
||||
import com.hibiscusmc.hmccosmetics.nms.NMSHandlers;
|
||||
import com.hibiscusmc.hmccosmetics.util.InventoryUtils;
|
||||
@@ -144,6 +145,10 @@ public class CosmeticUser {
|
||||
item = cosmetic1.getCosmeticItem();
|
||||
HMCCosmeticsPlugin.getInstance().getLogger().info("GetUserCosemticUser Armor");
|
||||
}
|
||||
if (cosmetic instanceof CosmeticMainhandType) {
|
||||
CosmeticMainhandType cosmetic1 = (CosmeticMainhandType) cosmetic;
|
||||
item = cosmetic1.getItemStack();
|
||||
}
|
||||
if (cosmetic instanceof CosmeticBackpackType) {
|
||||
CosmeticBackpackType cosmetic1 = (CosmeticBackpackType) cosmetic;
|
||||
item = cosmetic1.getBackpackItem();
|
||||
|
||||
@@ -121,6 +121,9 @@ public class InventoryUtils {
|
||||
case OFFHAND -> {
|
||||
return EquipmentSlot.OFF_HAND;
|
||||
}
|
||||
case MAINHAND -> {
|
||||
return EquipmentSlot.HAND;
|
||||
}
|
||||
default -> {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user