I create this mods, the same from "ItemFakeAppaerance.clas" but without condition of the chest, but not working for me 

JavaScript:
package services;
import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import l2.gameserver.Config;
import l2.gameserver.data.xml.holder.ItemHolder;
import l2.gameserver.listener.actor.player.OnPlayerEnterListener;
import l2.gameserver.listener.inventory.OnDisplayListener;
import l2.gameserver.listener.inventory.OnEquipListener;
import l2.gameserver.model.Playable;
import l2.gameserver.model.Player;
import l2.gameserver.model.actor.listener.PlayerListenerList;
import l2.gameserver.model.items.Inventory;
import l2.gameserver.model.items.ItemInstance;
import l2.gameserver.model.items.PcInventory;
import l2.gameserver.scripts.ScriptFile;
import l2.gameserver.templates.item.ItemTemplate;
import l2.gameserver.utils.ItemFunctions;
import org.apache.commons.lang3.tuple.Pair;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ItemFake implements OnPlayerEnterListener, ScriptFile {
private static final Logger logger = LoggerFactory.getLogger(ItemFake.class);
private static final ItemFake instance = new ItemFake();
private static final File configFile;
private static Map<Integer, Map<Integer, Integer>> fakeAppearanceConfig;
public ItemFake() {
}
private Pair<Boolean, Map<Integer, Map<Integer, Integer>>> loadConfig() {
try {
SAXReader reader = new SAXReader(true);
Document document = reader.read(configFile);
Element rootElement = document.getRootElement();
if (!"list".equalsIgnoreCase(rootElement.getName())) {
throw new RuntimeException();
} else if (!Boolean.parseBoolean(rootElement.attributeValue("enabled", "false"))) {
return Pair.of(Boolean.FALSE, Collections.emptyMap());
} else {
HashMap<Integer, Map<Integer, Integer>> configMap = new HashMap<>();
Iterator<Element> itemIterator = rootElement.elementIterator();
while (itemIterator.hasNext()) {
Element itemElement = itemIterator.next();
if ("item".equalsIgnoreCase(itemElement.getName())) {
int itemId = Integer.parseInt(itemElement.attributeValue("itemId"));
HashMap<Integer, Integer> appearanceMap = new HashMap<>();
Iterator<Element> displayIterator = itemElement.elementIterator();
while (displayIterator.hasNext()) {
Element displayElement = displayIterator.next();
if ("display".equalsIgnoreCase(displayElement.getName())) {
int displayItemId = Integer.parseInt(displayElement.attributeValue("itemId"));
ItemTemplate itemTemplate = ItemHolder.getInstance().getTemplate(displayItemId);
int paperdollIndex = ItemFunctions.getPaperdollIndex(itemTemplate.getBodyPart());
appearanceMap.put(paperdollIndex, itemTemplate.getItemId());
}
}
configMap.put(itemId, appearanceMap);
}
}
return Pair.of(Boolean.TRUE, configMap);
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Pair.of(Boolean.FALSE, Collections.emptyMap());
}
}
public void onLoad() {
Pair<Boolean, Map<Integer, Map<Integer, Integer>>> configResult = instance.loadConfig();
if (!configResult.getLeft()) {
fakeAppearanceConfig.clear();
logger.info("ItemFake: Disabled.");
} else if (configResult.getRight().isEmpty()) {
fakeAppearanceConfig.clear();
logger.info("ItemFake: No item(s). Disabled.");
} else {
fakeAppearanceConfig = configResult.getRight();
logger.info("ItemFake: Loaded " + fakeAppearanceConfig.size() + " item(s) appearance.");
PlayerListenerList.addGlobal(instance);
}
}
public void onReload() {
this.onShutdown();
this.onLoad();
}
public void onShutdown() {
PlayerListenerList.removeGlobal(instance);
}
public void onPlayerEnter(Player player) {
if (!fakeAppearanceConfig.isEmpty()) {
player.getInventory().addListener(new ItemFakeEquipListener());
for (ItemInstance itemInstance : player.getInventory().getPaperdollItems()) {
if (itemInstance != null && fakeAppearanceConfig.containsKey(itemInstance.getItemId()) && this.applyFakeAppearance(player, itemInstance.getItemId())) {
return;
}
}
}
}
private boolean applyFakeAppearance(Player player, int itemId) {
Map<Integer, Integer> appearanceMap = fakeAppearanceConfig.get(itemId);
if (appearanceMap != null && !appearanceMap.isEmpty()) {
player.getInventory().setOnDisplayListener(new ItemFakeDisplayListener(appearanceMap));
return true;
} else {
return false;
}
}
private boolean removeFakeAppearance(Player player) {
if (player.getInventory().getOnDisplayListener() == null) {
return false;
} else {
player.getInventory().setOnDisplayListener(null);
return true;
}
}
static {
configFile = new File(Config.DATAPACK_ROOT, "data/item_fake.xml");
fakeAppearanceConfig = new HashMap<>();
}
private static class ItemFakeDisplayListener implements OnDisplayListener {
private final Map<Integer, Integer> appearanceMap;
private ItemFakeDisplayListener(Map<Integer, Integer> appearanceMap) {
this.appearanceMap = appearanceMap;
}
public Integer onDisplay(int paperdollSlot, ItemInstance itemInstance, Playable playable) {
return this.appearanceMap.get(paperdollSlot);
}
}
private static final class ItemFakeEquipListener implements OnEquipListener {
private ItemFakeEquipListener() {
}
public void onEquip(int slot, ItemInstance equippedItem, Playable playable) {
Player player = playable.getPlayer();
if (equippedItem != null && player != null) {
int itemId = equippedItem.getItemId();
PcInventory playerInventory = player.getInventory();
Map<Integer, Integer> fakeAppearanceMap = fakeAppearanceConfig.get(itemId);
if (fakeAppearanceMap != null && !fakeAppearanceMap.isEmpty()) {
((Inventory) playerInventory).writeLock();
try {
// Aplica la apariencia falsa sin desequipar los ítems actuales
ItemFake.instance.applyFakeAppearance(player, itemId);
player.sendUserInfo(true);
} catch (Exception exception) {
exception.printStackTrace();
} finally {
((Inventory) playerInventory).writeUnlock();
}
}
}
}
public void onUnequip(int slot, ItemInstance unequippedItem, Playable playable) {
Player player = playable.getPlayer();
if (unequippedItem != null && player != null) {
int itemId = unequippedItem.getItemId();
PcInventory playerInventory = player.getInventory();
Map<Integer, Integer> fakeAppearanceMap = fakeAppearanceConfig.get(itemId);
if (fakeAppearanceMap != null && !fakeAppearanceMap.isEmpty()) {
((Inventory) playerInventory).writeLock();
LinkedHashMap<Integer, ItemInstance> itemsToUnEquip = new LinkedHashMap<>();
try {
for (Integer paperdollSlot : fakeAppearanceMap.keySet()) {
ItemInstance paperdollItem = ((Inventory) playerInventory).getPaperdollItem(paperdollSlot);
if (paperdollItem != null && paperdollItem != unequippedItem) {
itemsToUnEquip.put(paperdollSlot, paperdollItem);
}
}
for (ItemInstance itemToUnEquip : itemsToUnEquip.values()) {
((Inventory) playerInventory).unEquipItem(itemToUnEquip);
}
ItemFake.instance.removeFakeAppearance(player);
player.sendUserInfo(true);
} catch (Exception exception) {
exception.printStackTrace();
} finally {
for (ItemInstance itemToEquip : itemsToUnEquip.values()) {
((Inventory) playerInventory).equipItem(itemToEquip);
}
((Inventory) playerInventory).writeUnlock();
}
}
}
}
}
}