9
0
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:
LoJoSho
2022-12-22 17:25:27 -06:00
parent 69241ba1df
commit c579923562
7 changed files with 36 additions and 28 deletions

View File

@@ -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);
}

View File

@@ -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) {

View File

@@ -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() {

View File

@@ -32,6 +32,7 @@ public interface NMSHandler {
List<Player> sendTo
);
default boolean getSupported () {
return false;
}

View File

@@ -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();

View File

@@ -121,6 +121,9 @@ public class InventoryUtils {
case OFFHAND -> {
return EquipmentSlot.OFF_HAND;
}
case MAINHAND -> {
return EquipmentSlot.HAND;
}
default -> {
return null;
}