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);
+ }
+ }
}