[Fixed] Heads in some GUI Menus

[Fixed] ItemDupe with Double Drop Upgrade
This commit is contained in:
TeamHRLive 2024-09-03 18:34:45 +05:30
parent ebfaea252c
commit 8c50ca38bf
4 changed files with 24 additions and 11 deletions

View File

@ -582,9 +582,9 @@ public class EntityListeners implements Listener {
EntityEquipment equipment = livingEntity.getEquipment();
if (equipment != null) {
for (ItemStack item : event.getDrops()) {
if (item.equals(equipment.getHelmet()) || item.equals(equipment.getChestplate())
|| item.equals(equipment.getLeggings()) || item.equals(equipment.getBoots())
|| item.equals(equipment.getItemInMainHand()) || item.equals(equipment.getItemInOffHand())) {
if (item.isSimilar(equipment.getHelmet()) || item.isSimilar(equipment.getChestplate())
|| item.isSimilar(equipment.getLeggings()) || item.isSimilar(equipment.getBoots())
|| item.isSimilar(equipment.getItemInMainHand()) || item.isSimilar(equipment.getItemInOffHand())) {
dontMultiply.add(item);
}
}
@ -607,12 +607,18 @@ public class EntityListeners implements Listener {
}
}
for (ItemStack is : event.getDrops()) {
for (ItemStack is2 : dontMultiply) {
if (!is2.isSimilar(is)) {
livingEntity.getWorld().dropItemNaturally(livingEntity.getLocation(), is);
// Only drop items that are not in the dontMultiply set
for (ItemStack item : event.getDrops()) {
boolean shouldDrop = true;
for (ItemStack dontMultiplyItem : dontMultiply) {
if (item.isSimilar(dontMultiplyItem)) {
shouldDrop = false;
break;
}
}
if (shouldDrop) {
livingEntity.getWorld().dropItemNaturally(livingEntity.getLocation(), item);
}
}
}
}

View File

@ -1,5 +1,6 @@
package com.craftaro.skyblock.menus;
import com.craftaro.core.utils.ItemUtils;
import com.craftaro.core.utils.NumberUtils;
import com.craftaro.core.utils.SkullItemCreator;
import com.craftaro.skyblock.SkyBlock;
@ -11,9 +12,12 @@ import com.craftaro.skyblock.utils.player.OfflinePlayer;
import com.craftaro.skyblock.visit.Visit;
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
import com.craftaro.third_party.com.cryptomorin.xseries.XSound;
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.builder.XSkull;
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.objects.Profileable;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Skull;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
@ -290,9 +294,9 @@ public class Leaderboard {
ItemStack phead;
if (playerTexture.length >= 1 && playerTexture[0] != null) {
phead = SkullItemCreator.byTextureValue(playerTexture[0]);
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
} else {
phead = SkullItemCreator.byUuid(visit.getOwnerUUID());
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
}
nInv.addItem(

View File

@ -190,6 +190,7 @@ public class Levelling {
long value = testIslandMaterials.get(materialName);
Optional<XMaterial> materials = CompatibleMaterial.getMaterial(materialName);
if (!materials.isPresent()) {
continue;
}

View File

@ -15,6 +15,8 @@ import com.craftaro.skyblock.playerdata.PlayerDataManager;
import com.craftaro.skyblock.sound.SoundManager;
import com.craftaro.skyblock.utils.item.nInventoryUtil;
import com.craftaro.skyblock.utils.player.OfflinePlayer;
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.builder.XSkull;
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.objects.Profileable;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
@ -228,9 +230,9 @@ public class Ownership {
ItemStack phead;
if (playerTexture.length >= 1 && playerTexture[0] != null) {
phead = SkullItemCreator.byTextureValue(playerTexture[0]);
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
} else {
phead = SkullItemCreator.byUuid(originalOwnerUUID);
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
}
nInv.addItem(nInv.createItem(XMaterial.OAK_FENCE_GATE.parseItem(),