2025-02-17 15:21:59 -05:00
|
|
|
package noppes.npcs.client.gui.script;
|
|
|
|
|
|
|
|
|
|
import kamkeel.npcs.network.packets.request.script.item.LinkedItemScriptPacket;
|
|
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
2026-01-13 18:14:38 +02:00
|
|
|
import noppes.npcs.api.handler.IScriptHookHandler;
|
2025-02-17 15:21:59 -05:00
|
|
|
import noppes.npcs.client.gui.global.GuiNPCManageLinked;
|
2026-01-12 03:28:18 +02:00
|
|
|
import noppes.npcs.constants.EnumScriptType;
|
|
|
|
|
import noppes.npcs.constants.ScriptContext;
|
2025-02-17 15:21:59 -05:00
|
|
|
import noppes.npcs.controllers.ScriptContainer;
|
2026-01-11 17:15:13 -05:00
|
|
|
import noppes.npcs.controllers.ScriptHookController;
|
2026-01-13 20:30:01 +02:00
|
|
|
import noppes.npcs.controllers.data.IScriptUnit;
|
2025-02-17 15:21:59 -05:00
|
|
|
import noppes.npcs.controllers.data.LinkedItem;
|
|
|
|
|
import noppes.npcs.controllers.data.LinkedItemScript;
|
|
|
|
|
|
2026-01-13 18:14:38 +02:00
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
2026-01-12 03:28:18 +02:00
|
|
|
public class GuiScriptLinkedItem extends GuiScriptInterface {
|
2025-02-17 15:21:59 -05:00
|
|
|
|
|
|
|
|
public final LinkedItem linkedItem;
|
2025-12-20 00:31:30 +02:00
|
|
|
|
2025-02-17 15:21:59 -05:00
|
|
|
public GuiScriptLinkedItem(GuiNPCManageLinked parent, LinkedItem linkedItem) {
|
2026-01-12 03:28:18 +02:00
|
|
|
super();
|
2025-02-17 15:21:59 -05:00
|
|
|
this.parent = parent;
|
|
|
|
|
this.linkedItem = linkedItem;
|
2026-01-12 03:28:18 +02:00
|
|
|
this.handler = new LinkedItemScript();
|
|
|
|
|
this.singleContainer = true;
|
2025-02-17 15:21:59 -05:00
|
|
|
|
2026-01-11 17:15:13 -05:00
|
|
|
this.hookList = new ArrayList<>(ScriptHookController.Instance.getAllHooks(IScriptHookHandler.CONTEXT_LINKED_ITEM));
|
2025-02-17 15:21:59 -05:00
|
|
|
|
|
|
|
|
LinkedItemScriptPacket.Get(linkedItem.id);
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-12 03:28:18 +02:00
|
|
|
@Override
|
|
|
|
|
protected ScriptContext getScriptContext() {
|
|
|
|
|
return ScriptContext.ITEM;
|
2025-02-17 15:21:59 -05:00
|
|
|
}
|
|
|
|
|
|
2026-01-13 20:30:01 +02:00
|
|
|
protected void setHandlerContainer(IScriptUnit container) {
|
2026-01-12 03:28:18 +02:00
|
|
|
((LinkedItemScript) handler).container = container;
|
2025-02-17 15:21:59 -05:00
|
|
|
}
|
|
|
|
|
|
2026-01-12 03:28:18 +02:00
|
|
|
@Override
|
2025-02-17 15:21:59 -05:00
|
|
|
public void setGuiData(NBTTagCompound compound) {
|
2026-01-12 03:28:18 +02:00
|
|
|
setGuiDataWithOldContainer(compound);
|
2025-02-17 15:21:59 -05:00
|
|
|
}
|
|
|
|
|
|
2026-01-12 03:28:18 +02:00
|
|
|
protected void sendSavePacket(int index, int totalCount, NBTTagCompound scriptNBT) {
|
|
|
|
|
LinkedItemScriptPacket.Save(linkedItem.id, index, totalCount, scriptNBT);
|
2025-02-17 15:21:59 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-12 03:28:18 +02:00
|
|
|
public void save() {
|
|
|
|
|
saveWithPackets();
|
2025-02-17 15:21:59 -05:00
|
|
|
}
|
|
|
|
|
}
|