Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/gui/script/GuiScriptRecipe.java
T

68 lines
2.1 KiB
Java
Raw Normal View History

2025-07-09 15:40:31 -04:00
package noppes.npcs.client.gui.script;
import kamkeel.npcs.network.packets.request.script.RecipeScriptPacket;
import net.minecraft.nbt.NBTTagCompound;
2026-01-13 18:14:38 +02:00
import noppes.npcs.api.handler.IScriptHookHandler;
2025-07-09 15:40:31 -04:00
import noppes.npcs.client.gui.global.GuiNpcManageRecipes;
import noppes.npcs.constants.ScriptContext;
2025-07-09 15:40:31 -04:00
import noppes.npcs.controllers.ScriptContainer;
2026-01-11 17:15:13 -05:00
import noppes.npcs.controllers.ScriptHookController;
2025-07-23 14:22:52 -04:00
import noppes.npcs.controllers.data.RecipeAnvil;
import noppes.npcs.controllers.data.RecipeCarpentry;
import noppes.npcs.controllers.data.RecipeScript;
2025-07-09 15:40:31 -04:00
2026-01-13 18:14:38 +02:00
import java.util.ArrayList;
public class GuiScriptRecipe extends GuiScriptInterface {
2025-07-09 16:01:05 -04:00
public final int recipeId;
public final boolean anvil;
2025-07-09 15:40:31 -04:00
public GuiScriptRecipe(GuiNpcManageRecipes parent, RecipeCarpentry recipe) {
super();
2025-07-09 15:40:31 -04:00
this.parent = parent;
this.handler = new RecipeScript();
2025-07-09 15:40:31 -04:00
this.anvil = false;
this.recipeId = recipe.id;
this.singleContainer = true;
2025-07-09 16:01:05 -04:00
2026-01-11 17:15:13 -05:00
this.hookList = new ArrayList<>(ScriptHookController.Instance.getAllHooks(IScriptHookHandler.CONTEXT_RECIPE));
2025-07-09 16:01:05 -04:00
2025-07-09 15:40:31 -04:00
RecipeScriptPacket.Get(false, recipeId);
}
public GuiScriptRecipe(GuiNpcManageRecipes parent, RecipeAnvil recipe) {
super();
2025-07-09 15:40:31 -04:00
this.parent = parent;
this.handler = new RecipeScript();
2025-07-09 15:40:31 -04:00
this.anvil = true;
this.recipeId = recipe.id;
2025-07-09 16:01:05 -04:00
2026-01-11 17:15:13 -05:00
this.hookList = new ArrayList<>(ScriptHookController.Instance.getAllHooks(IScriptHookHandler.CONTEXT_RECIPE));
2025-07-09 16:01:05 -04:00
2025-07-09 15:40:31 -04:00
RecipeScriptPacket.Get(true, recipeId);
}
@Override
protected ScriptContext getScriptContext() {
return ScriptContext.GLOBAL;
2025-07-09 16:01:05 -04:00
}
protected void setHandlerContainer(ScriptContainer container) {
((RecipeScript) handler).container = container;
2025-07-09 16:01:05 -04:00
}
@Override
2025-07-09 15:40:31 -04:00
public void setGuiData(NBTTagCompound compound) {
setGuiDataWithOldContainer(compound);
2025-07-09 16:01:05 -04:00
}
protected void sendSavePacket(int index, int totalCount, NBTTagCompound scriptNBT) {
RecipeScriptPacket.Save(anvil, recipeId, index, totalCount, scriptNBT);
2025-07-09 16:01:05 -04:00
}
2025-07-09 16:01:05 -04:00
@Override
public void save() {
saveWithPackets();
2025-07-09 16:01:05 -04:00
}
2025-07-09 15:40:31 -04:00
}