From f41113f881637f10672120790c4024843e284d1a Mon Sep 17 00:00:00 2001 From: netquick Date: Thu, 7 Mar 2024 18:24:57 +0100 Subject: [PATCH] enchant Elytra --- easysurvival.mcreator | 13 ++--- .../EasyEnchantmentTableUpdateTick.mod.json | 2 +- elements/OpenCraftingGUI.mod.json | 2 +- elements/PortableCraftingTable.mod.json | 2 +- .../item/PortableCraftingTableItem.java | 58 +------------------ ...syEnchantmentTableUpdateTickProcedure.java | 50 ++++++++++++++++ .../procedures/OpenCraftingGUIProcedure.java | 38 ++++++------ 7 files changed, 78 insertions(+), 87 deletions(-) diff --git a/easysurvival.mcreator b/easysurvival.mcreator index c78dd27..667539d 100644 --- a/easysurvival.mcreator +++ b/easysurvival.mcreator @@ -1727,9 +1727,8 @@ "registry_name": "portable_crafting_table", "metadata": { "files": [ - "src/main/java/ch/netquick/easysurvival/item/inventory/PortableCraftingTableInventoryCapability.java", - "src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java", - "src/main/resources/assets/easysurvival/models/item/portable_crafting_table.json" + "src/main/resources/assets/easysurvival/models/item/portable_crafting_table.json", + "src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java" ] }, "path": "~/Portable_CraftingTable" @@ -2253,11 +2252,11 @@ "registry_name": "easy_smelter", "metadata": { "files": [ - "src/main/resources/assets/easysurvival/models/block/easy_smelter.json", "src/main/resources/assets/easysurvival/blockstates/easy_smelter.json", - "src/main/java/ch/netquick/easysurvival/block/EasySmelterBlock.java", + "src/main/resources/assets/easysurvival/models/block/easy_smelter.json", + "src/main/resources/assets/easysurvival/models/item/easy_smelter.json", "src/main/java/ch/netquick/easysurvival/block/entity/EasySmelterBlockEntity.java", - "src/main/resources/assets/easysurvival/models/item/easy_smelter.json" + "src/main/java/ch/netquick/easysurvival/block/EasySmelterBlock.java" ] }, "path": "~/Easy_Smelter" @@ -2554,7 +2553,7 @@ "type": "procedure", "sortid": 142, "compiles": true, - "locked_code": true, + "locked_code": false, "registry_name": "open_crafting_gui", "metadata": { "files": [ diff --git a/elements/EasyEnchantmentTableUpdateTick.mod.json b/elements/EasyEnchantmentTableUpdateTick.mod.json index 4983335..d45d3f6 100644 --- a/elements/EasyEnchantmentTableUpdateTick.mod.json +++ b/elements/EasyEnchantmentTableUpdateTick.mod.json @@ -2,6 +2,6 @@ "_fv": 60, "_type": "procedure", "definition": { - "procedurexml": "toolno_ext_triggerlocal:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantGTE105EQThis is required to prevent issues with bookslocal:tool1Swordlocal:toolEQSHARPNESSlocal:tool0SHARPNESS5local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLOOTINGlocal:tool0LOOTING3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFIRE_ASPECTlocal:tool0FIRE_ASPECT2local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQKNOCKBACKlocal:tool0KNOCKBACK2local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSWEEPINGlocal:tool0SWEEPING3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQVANISHING_CURSElocal:tool0VANISHING_CURSE1local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantORORPickaxelocal:toolAxelocal:toolORShovellocal:toolHoelocal:toolEQEFFICIENCYlocal:tool0EFFICIENCY5local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFORTUNElocal:tool0FORTUNE3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSILK_TOUCHlocal:tool0SILK_TOUCH1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantAxelocal:toolEQBANE_OF_ARTHROPODSlocal:tool0BANE_OF_ARTHROPODS5local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSMITElocal:tool0SMITE5local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSHARPNESSlocal:tool0SHARPNESS5local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_armorEQFIRE_PROTECTIONlocal:tool0FIRE_PROTECTION4local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPROJECTILE_PROTECTIONlocal:tool0PROJECTILE_PROTECTION4local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPROTECTIONlocal:tool0PROTECTION4local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFIRE_PROTECTIONlocal:tool0FIRE_PROTECTION4local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQBLAST_PROTECTIONlocal:tool0BLAST_PROTECTION4local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_helmetEQRESPIRATIONlocal:tool0RESPIRATION3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQAQUA_AFFINITYlocal:tool0AQUA_AFFINITY1local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_bootsEQSOUL_SPEEDlocal:tool0SOUL_SPEED3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFROST_WALKERlocal:tool0FROST_WALKER2local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_leggingsEQSWIFT_SNEAKlocal:tool0SWIFT_SNEAK3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_chestEQTHORNSlocal:tool0THORNS3local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.TRIDENTEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLOYALTYlocal:tool0LOYALTY3local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQIMPALINGlocal:tool0IMPALING5local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQCHANNELINGlocal:tool0CHANNELING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQRIPTIDElocal:tool0RIPTIDE3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.BOWEQINFINITYlocal:tool0INFINITY1local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFLAMElocal:tool0FLAME1local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPOWERlocal:tool0POWER4local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPUNCHlocal:tool0PUNCH2local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.FISHING_RODEQLUCK_OF_THE_SEAlocal:tool0PROTECTION3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLURElocal:tool0LURE3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.CROSSBOWEQQUICK_CHARGElocal:tool0QUICK_CHARGE3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPIERCINGlocal:tool0PIERCING4local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMULTISHOTlocal:tool0MULTISHOT1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantENCHANTMENT_TABLE010" + "procedurexml": "toolno_ext_triggerlocal:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantGTE105EQThis is required to prevent issues with bookslocal:tool1Swordlocal:toolEQSHARPNESSlocal:tool0SHARPNESS5local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLOOTINGlocal:tool0LOOTING3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFIRE_ASPECTlocal:tool0FIRE_ASPECT2local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQKNOCKBACKlocal:tool0KNOCKBACK2local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSWEEPINGlocal:tool0SWEEPING3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQVANISHING_CURSElocal:tool0VANISHING_CURSE1local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantORORPickaxelocal:toolAxelocal:toolORShovellocal:toolHoelocal:toolEQEFFICIENCYlocal:tool0EFFICIENCY5local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFORTUNElocal:tool0FORTUNE3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSILK_TOUCHlocal:tool0SILK_TOUCH1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantAxelocal:toolEQBANE_OF_ARTHROPODSlocal:tool0BANE_OF_ARTHROPODS5local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSMITElocal:tool0SMITE5local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQSHARPNESSlocal:tool0SHARPNESS5local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_armorEQFIRE_PROTECTIONlocal:tool0FIRE_PROTECTION4local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPROJECTILE_PROTECTIONlocal:tool0PROJECTILE_PROTECTION4local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPROTECTIONlocal:tool0PROTECTION4local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFIRE_PROTECTIONlocal:tool0FIRE_PROTECTION4local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQBLAST_PROTECTIONlocal:tool0BLAST_PROTECTION4local:tool1local:tool7local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_helmetEQRESPIRATIONlocal:tool0RESPIRATION3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQAQUA_AFFINITYlocal:tool0AQUA_AFFINITY1local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_bootsEQSOUL_SPEEDlocal:tool0SOUL_SPEED3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFROST_WALKERlocal:tool0FROST_WALKER2local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_leggingsEQSWIFT_SNEAKlocal:tool0SWIFT_SNEAK3local:tool1local:tool8local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolforge:tag_chestEQTHORNSlocal:tool0THORNS3local:tool1local:tool9local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.ELYTRAEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.TRIDENTEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLOYALTYlocal:tool0LOYALTY3local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQIMPALINGlocal:tool0IMPALING5local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQCHANNELINGlocal:tool0CHANNELING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQRIPTIDElocal:tool0RIPTIDE3local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.BOWEQINFINITYlocal:tool0INFINITY1local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQFLAMElocal:tool0FLAME1local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPOWERlocal:tool0POWER4local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPUNCHlocal:tool0PUNCH2local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool6local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.FISHING_RODEQLUCK_OF_THE_SEAlocal:tool0PROTECTION3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQLURElocal:tool0LURE3local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantlocal:toolItems.CROSSBOWEQQUICK_CHARGElocal:tool0QUICK_CHARGE3local:tool1local:tool1local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQPIERCINGlocal:tool0PIERCING4local:tool1local:tool2local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMULTISHOTlocal:tool0MULTISHOT1local:tool1local:tool3local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQUNBREAKINGlocal:tool0UNBREAKING3local:tool1local:tool4local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantEQMENDINGlocal:tool0MENDING1local:tool1local:tool5local:toolThis template is used to recreate an enchanting table, using items instead of XP. It should be called on a block with at least two inventory slots0The first slot contains the item to enchantENCHANTMENT_TABLE010" } } \ No newline at end of file diff --git a/elements/OpenCraftingGUI.mod.json b/elements/OpenCraftingGUI.mod.json index 187414c..7a507b3 100644 --- a/elements/OpenCraftingGUI.mod.json +++ b/elements/OpenCraftingGUI.mod.json @@ -2,6 +2,6 @@ "_fv": 60, "_type": "procedure", "definition": { - "procedurexml": "no_ext_triggerCropGUI" + "procedurexml": "no_ext_triggerEasyIntakeGUI" } } \ No newline at end of file diff --git a/elements/PortableCraftingTable.mod.json b/elements/PortableCraftingTable.mod.json index ba00717..e7ac154 100644 --- a/elements/PortableCraftingTable.mod.json +++ b/elements/PortableCraftingTable.mod.json @@ -32,7 +32,7 @@ "glowCondition": { "fixedValue": false }, - "guiBoundTo": "CraftingStickGUI", + "guiBoundTo": "", "inventorySize": 10, "inventoryStackSize": 64, "onRightClickedInAir": { diff --git a/src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java b/src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java index 51cac15..16fafa7 100644 --- a/src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java +++ b/src/main/java/ch/netquick/easysurvival/item/PortableCraftingTableItem.java @@ -1,38 +1,20 @@ package ch.netquick.easysurvival.item; -import net.minecraftforge.network.NetworkHooks; -import net.minecraftforge.items.ItemStackHandler; -import net.minecraftforge.common.capabilities.ICapabilityProvider; -import net.minecraftforge.common.capabilities.ForgeCapabilities; - import net.minecraft.world.level.Level; import net.minecraft.world.item.UseAnim; import net.minecraft.world.item.Rarity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Item; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.MenuProvider; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.InteractionHand; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.network.chat.Component; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.nbt.CompoundTag; -import javax.annotation.Nullable; - -import io.netty.buffer.Unpooled; - -import ch.netquick.easysurvival.world.inventory.CraftingStickGUIMenu; import ch.netquick.easysurvival.procedures.OpenCraftingGUIProcedure; -import ch.netquick.easysurvival.item.inventory.PortableCraftingTableInventoryCapability; public class PortableCraftingTableItem extends Item { public PortableCraftingTableItem() { - super(new Item.Properties().stacksTo(1).rarity(Rarity.COMMON)); + super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON)); } @Override @@ -43,45 +25,7 @@ public class PortableCraftingTableItem extends Item { @Override public InteractionResultHolder use(Level world, Player entity, InteractionHand hand) { InteractionResultHolder ar = super.use(world, entity, hand); - if (entity instanceof ServerPlayer serverPlayer) { - NetworkHooks.openScreen(serverPlayer, new MenuProvider() { - @Override - public Component getDisplayName() { - return Component.literal("Portable Crafting Table"); - } - - @Override - public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) { - FriendlyByteBuf packetBuffer = new FriendlyByteBuf(Unpooled.buffer()); - packetBuffer.writeBlockPos(entity.blockPosition()); - packetBuffer.writeByte(hand == InteractionHand.MAIN_HAND ? 0 : 1); - return new CraftingStickGUIMenu(id, inventory, packetBuffer); - } - }, buf -> { - buf.writeBlockPos(entity.blockPosition()); - buf.writeByte(hand == InteractionHand.MAIN_HAND ? 0 : 1); - }); - } OpenCraftingGUIProcedure.execute(world, entity.getX(), entity.getY(), entity.getZ(), entity); return ar; } - - @Override - public ICapabilityProvider initCapabilities(ItemStack stack, @Nullable CompoundTag compound) { - return new PortableCraftingTableInventoryCapability(); - } - - @Override - public CompoundTag getShareTag(ItemStack stack) { - CompoundTag nbt = stack.getOrCreateTag(); - stack.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> nbt.put("Inventory", ((ItemStackHandler) capability).serializeNBT())); - return nbt; - } - - @Override - public void readShareTag(ItemStack stack, @Nullable CompoundTag nbt) { - super.readShareTag(stack, nbt); - if (nbt != null) - stack.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> ((ItemStackHandler) capability).deserializeNBT((CompoundTag) nbt.get("Inventory"))); - } } diff --git a/src/main/java/ch/netquick/easysurvival/procedures/EasyEnchantmentTableUpdateTickProcedure.java b/src/main/java/ch/netquick/easysurvival/procedures/EasyEnchantmentTableUpdateTickProcedure.java index 3427355..aa68aca 100644 --- a/src/main/java/ch/netquick/easysurvival/procedures/EasyEnchantmentTableUpdateTickProcedure.java +++ b/src/main/java/ch/netquick/easysurvival/procedures/EasyEnchantmentTableUpdateTickProcedure.java @@ -755,6 +755,56 @@ public class EasyEnchantmentTableUpdateTickProcedure { }.getItemStack(world, BlockPos.containing(x, y, z), 0)); } } + if (tool.getItem() == Items.ELYTRA) { + if (tool.getEnchantmentLevel(Enchantments.UNBREAKING) == 0) { + tool.enchant(Enchantments.UNBREAKING, 3); + { + BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z)); + if (_ent != null) { + final int _slotid = 1; + final ItemStack _setstack = tool.copy(); + _setstack.setCount(1); + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + if (capability instanceof IItemHandlerModifiable) + ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack); + }); + } + } + tool = (new Object() { + public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) { + AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY); + BlockEntity _ent = world.getBlockEntity(pos); + if (_ent != null) + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy())); + return _retval.get(); + } + }.getItemStack(world, BlockPos.containing(x, y, z), 0)); + } + if (tool.getEnchantmentLevel(Enchantments.MENDING) == 0) { + tool.enchant(Enchantments.MENDING, 1); + { + BlockEntity _ent = world.getBlockEntity(BlockPos.containing(x, y, z)); + if (_ent != null) { + final int _slotid = 2; + final ItemStack _setstack = tool.copy(); + _setstack.setCount(1); + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> { + if (capability instanceof IItemHandlerModifiable) + ((IItemHandlerModifiable) capability).setStackInSlot(_slotid, _setstack); + }); + } + } + tool = (new Object() { + public ItemStack getItemStack(LevelAccessor world, BlockPos pos, int slotid) { + AtomicReference _retval = new AtomicReference<>(ItemStack.EMPTY); + BlockEntity _ent = world.getBlockEntity(pos); + if (_ent != null) + _ent.getCapability(ForgeCapabilities.ITEM_HANDLER, null).ifPresent(capability -> _retval.set(capability.getStackInSlot(slotid).copy())); + return _retval.get(); + } + }.getItemStack(world, BlockPos.containing(x, y, z), 0)); + } + } if (tool.getItem() == Items.TRIDENT) { if (tool.getEnchantmentLevel(Enchantments.UNBREAKING) == 0) { tool.enchant(Enchantments.UNBREAKING, 3); diff --git a/src/main/java/ch/netquick/easysurvival/procedures/OpenCraftingGUIProcedure.java b/src/main/java/ch/netquick/easysurvival/procedures/OpenCraftingGUIProcedure.java index 2763119..1e64751 100644 --- a/src/main/java/ch/netquick/easysurvival/procedures/OpenCraftingGUIProcedure.java +++ b/src/main/java/ch/netquick/easysurvival/procedures/OpenCraftingGUIProcedure.java @@ -15,27 +15,25 @@ import net.minecraft.core.BlockPos; import io.netty.buffer.Unpooled; -import ch.netquick.easysurvival.world.inventory.CropGUIMenu; +import ch.netquick.easysurvival.world.inventory.EasyIntakeGUIMenu; public class OpenCraftingGUIProcedure { - public static void execute(LevelAccessor world, double x, double y, double z, Entity entity) { - if (!(entity instanceof Player)) - return; + public static void execute(LevelAccessor world, double x, double y, double z, Entity entity) { + if (entity == null) + return; + if (entity instanceof ServerPlayer _ent) { + BlockPos _bpos = BlockPos.containing(x, y, z); + NetworkHooks.openScreen((ServerPlayer) _ent, new MenuProvider() { + @Override + public Component getDisplayName() { + return Component.literal("EasyIntakeGUI"); + } - Player player = (Player) entity; - BlockPos pos = new BlockPos((int) Math.floor(x), (int) Math.floor(y), (int) Math.floor(z)); // Convert doubles to integers - - player.openMenu(new MenuProvider() { - @Override - public Component getDisplayName() { - return null; // You can return a custom display name if needed - } - - @Override - public AbstractContainerMenu createMenu(int windowId, Inventory playerInventory, Player player) { - // Instantiate CropGUIMenu with proper constructor arguments - return new CropGUIMenu(windowId, playerInventory, new FriendlyByteBuf(Unpooled.buffer())); - } - }); - } + @Override + public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) { + return new EasyIntakeGUIMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(_bpos)); + } + }, _bpos); + } + } }