diff --git a/config/storagedrawers-common.toml b/config/storagedrawers-common.toml deleted file mode 100644 index 1629876..0000000 --- a/config/storagedrawers-common.toml +++ /dev/null @@ -1,36 +0,0 @@ - -[General] - #The number of item stacks held in a basic unit of storage. - #1x1 drawers hold 8 units, 1x2 drawers hold 4 units, 2x2 drawers hold 2 units. - #Half-depth drawers hold half those amounts. - baseStackStorage = 4 - #Controller range defines how far away a drawer can be connected - #on X, Y, or Z planes. The default value of 50 gives the controller a very - #large range, but not beyond the chunk load distance. - #Range: 1 ~ 75 - controllerRange = 50 - enableUI = true - enableSidedInput = true - enableSidedOutput = true - enableItemConversion = true - enableExtraCompactingRules = true - debugTrace = false - #List of rules in format "domain:item1, domain:item2, n". - #Creates a compacting drawer rule to convert 1 of item1 into n of item2. - compactingRules = ["minecraft:clay, minecraft:clay_ball, 4"] - -[StorageUpgrades] - #Storage upgrades multiply storage capacity by the given amount. - #When multiple storage upgrades are used together, their multipliers are added before being applied. - level1Mult = 2 - level2Mult = 4 - level3Mult = 8 - level4Mult = 16 - level5Mult = 32 - -[Integration] - #When true, shows quantity as NxS + R (by stack size) rather than count - wailaStackRemainder = true - #When true, does not show current quantities unless quantify key was used - wailaRespectQuantifyKey = false - diff --git a/config/storagedrawers-common.v2.toml b/config/storagedrawers-common.v2.toml new file mode 100644 index 0000000..6774a3f --- /dev/null +++ b/config/storagedrawers-common.v2.toml @@ -0,0 +1,387 @@ + +# General mod configuration +[General] + # Enables excessive logging around certain parts of the mod. + # Can be ignored unless asked by the developer to enable. + debugTrace = false + # + # Whether blocks with UI components are allowed to open them. + # Disabling UI will restrict some mod functionality. + enableUI = true + # + # Whether to log actions such as adding rules or deny list entries. + # You may wish to disable this if you've added many such entries. + logStartupActivity = true + # + # Internal use to record what version the config file was first written with. + configVersion = 2 + +# Configuration around drawer storage blocks +[Drawers] + # A base value multiplied against the storage size of all drawer slots. + # Change this to uniformly increase all storage amounts + baseStackStorage = 1 + + # Configuration for individual drawer configurations. + # Units are the number of stacks a slot holds before the base stack storage value is multiplied. + [Drawers.Blocks] + + [Drawers.Blocks.FullStorage1x1] + unitsPerSlot = 32 + + [Drawers.Blocks.FullStorage1x2] + unitsPerSlot = 16 + + [Drawers.Blocks.FullStorage2x2] + unitsPerSlot = 8 + + [Drawers.Blocks.FullCompacting] + unitsPerSlot = 32 + + [Drawers.Blocks.HalfStorage1x1] + unitsPerSlot = 16 + + [Drawers.Blocks.HalfStorage1x2] + unitsPerSlot = 8 + + [Drawers.Blocks.HalfStorage2x2] + unitsPerSlot = 4 + + [Drawers.Blocks.HalfCompacting] + unitsPerSlot = 16 + + # Configuration around the auto compacting feature + [Drawers.Compacting] + # Whether compacting function is supported. Disabling does not remove the block. + enabled = false + # + # Enables additional rules for some Minecraft items, like quartz, brick, and clay. + # See logs for full set of rules that get added. + enableExtraCompactingRules = true + # + # Compacting drawers require 2-way 2x2 or 3x3 recipes to associate items. + # Add additional rules here in the form: , , + compactingRules = ["minecraft:clay, minecraft:clay_ball, 4"] + + # Configuration around detached drawers, which are individual drawer slots pulled from a drawer block. + [Drawers.Detached] + # Allows individual drawer slots to be pulled out from a drawer block. + enable = true + # + # If enabled, carrying filled drawers in your inventory gives slowness debuff. + # Debuff can be mitigated with portability upgrade, if it's enabled. + heavyDrawers = false + # + # Drawers track the capacity upgrades from the block they were taken from. + # When enabled, drawers can only be placed back into a block with the same or lower max capacity. + # Drawers can still only be inserted into a block with enough capacity for the items held. + forceMaxCapacityCheck = false + # + # Allows detached drawers to be stored in containers like bundles and shulker boxes. + # Due to current limitation, this rule will also apply to storing empty drawers in those containers. + canStoreInContainers = false + + # Configuration around dropped drawer blocks that still have items inside them. + [Drawers.Filled] + # If enabled, carrying filled drawers in your inventory gives slowness debuff. + # Debuff can be mitigated with portability upgrade, if it's enabled. + heavyDrawers = false + # + # Allows filled drawers to be stored in other drawer blocks. + canStoreInDrawers = false + # + # Allows filled drawers to be stored in containers like bundles and shulker boxes. + # Due to current limitation, this rule will also apply to storing empty drawers in those containers. + canStoreInContainers = false + + # Configuration around framed drawers, which take their appearance from other blocks used as materials. + [Drawers.Framed] + # Allows crafting framed drawers. Disabling does not remove existing framed drawers. + enable = true + # + # Attempts to only allow solid, full-cube blocks to be used as materials. + # This check may still allow non-solid blocks if the blocks' properties indicate they should be solid but are not. + # Some non-solid blocks are also counted as non-opaque, and may be restricted by that setting as well. + enforceSolidMaterials = true + # + # Attempts to only allow fully opaque blocks to be used as materials. + # This check may still allow non-opaque blocks if the blocks' properties indicate they should be opaque but are not. + enforceOpaqueMaterials = false + # + # Each entry should be a namespace or fully namespaced block, e.g. minecraft:cobblestone + # Any items on the deny list are prevented from being used as any drawer material. + materialDenyList = [] + + # Configuration around storage of items. + [Drawers.Storage] + # + # Each entry should be a namespace or fully namespaced item, e.g. minecraft:cobblestone + # Any items on the deny list are prevented from being stored in drawers + storeDenyList = ["storagedrawers:creative_vending_upgrade"] + # + # What a drawer should do with its items when broken. Acceptable values are: + # KEEP: Drawer retains all items in the dropped item, like shulker boxes. This is the default behavior. + # DROP: Drawer drops items into the world, up to the dropStackLimit value. Stored items over that limit are voided. + # VOID: Drawer voids all items when dropped. + #Allowed Values: KEEP, DROP, VOID + dropMode = "KEEP" + # + # If dropMode is set to DROP, this is the maximum number of stacks that can be spilled into the world + # from the entire block. By default, this is set to the amount a vanilla chest could drop. + dropStackLimit = 32 + +# Configuration around the controller and drawer networks. +[Controller] + # Controller range defines how far away a drawer can be connected on X, Y, or Z planes. + # The largest recommended range is around 75, or the expected chunk load distance. + # If setting this value higher, drawers will be unavailable if their chunks become unloaded. + controllerRange = 50 + +# Configuration around upgrade items that can be inserted into drawer blocks. +[Upgrades] + + # Storage upgrades multiply storage capacity by the given amount. + # When multiple storage upgrades are used together, their multipliers are added before being applied. + [Upgrades.StorageTiers] + + [Upgrades.StorageTiers.Obsidian] + enableUpgrade = true + storageMultiplier = 2 + + [Upgrades.StorageTiers.Copper] + enableUpgrade = true + storageMultiplier = 4 + + [Upgrades.StorageTiers.Iron] + enableUpgrade = true + storageMultiplier = 8 + + [Upgrades.StorageTiers.Gold] + enableUpgrade = true + storageMultiplier = 16 + + [Upgrades.StorageTiers.Emerald] + enableUpgrade = true + storageMultiplier = 64 + + [Upgrades.StorageTiers.Diamond] + enableUpgrade = true + storageMultiplier = 256 + + [Upgrades.StorageTiers.Netherite] + enableUpgrade = true + storageMultiplier = 2048 + + # Allows same-item slots to balance out their amounts when items are added or removed from a slot. + # Works across networks when acting through a controller. + [Upgrades.Balance] + enableUpgrade = true + + # Allows the automatic conversion of same-type items based on configuration. + [Upgrades.Conversion] + enableUpgrade = false + # + # Each type will be combined with each material to create a set of allow list entries. + # This is mainly a convenience for common ore-based materials. + oreTypeAllowList = ["forge:storage_blocks", "forge:ingots", "forge:nuggets"] + # + # Each type will be combined with each material to create a set of allow list entries. + # This is mainly a convenience for common ore-based materials. + oreMaterialAllowList = ["aluminum", "constantan", "steel", "uranium", "invar", "tin", "lead", "silver", "platinum", "nickel", "osmium", "bronze", "electrum"] + # + # Each allow list entry should be a fully namespaced tag, e.g. c:ingots/copper + tagAllowList = [] + # + # Each deny list entry should be a fully namespaced tag, e.g. c:ingots/copper. + # All items not on the allow list are denied implicitly. This can be used to exclude + # specific entries created from the ore allow list set. + tagDenyList = [] + # + # Each entry is a semicolon-separated list of fully-namespaced items. All items within the + # same entry are considered equivalent and convertible/interchangeable. + # Example: ["thermal:nickel_ore;immersiveengineering:ore_nickel"] + itemEquivalenceGroups = [] + + # Allows storing ~2.1 billion (MAX_INT) items in each drawer slot. + [Upgrades.CreativeStorage] + enableUpgrade = true + + # Allows vending infinite amounts of the items in each drawer slot. + [Upgrades.CreativeVending] + enableUpgrade = true + + # Adds fill bars to the face of drawers. + [Upgrades.FillLevel] + enableUpgrade = true + + # Renders drawer labels brighter than surrounding environment would allow. + [Upgrades.Illumination] + enableUpgrade = true + # + # Renders labels at minimum light level between 0 - 15 + #Range: 0 ~ 15 + illuminationLevel = 13 + # + # Renders labels without upgrade at minimum light level between 0 - 15 + #Range: 0 ~ 15 + minIlluminationLevel = 1 + + # Collects matching items through its top like a vanilla hopper. + [Upgrades.Hopper] + enableUpgrade = true + + # Collects nearby matching items by teleporting them instantly to the drawer + [Upgrades.Magnet] + # + # When multiple magnet upgrades are used, their ranges are added together. + additiveRange = true + # + # Range is blocks out from drawer as: [horizontal, up, down] + # If ranges from multiple upgrades are added, they are not allowed to exceed these values. + maxRange = [24, 8, 0] + + [Upgrades.Magnet.Level1] + enableUpgrade = true + # + # Range is blocks out from drawer as: [horizontal, up, down] + range = [1, 1, 0] + # + # Ticks between active collection when this is the highest upgrade tier. + activeSpeed = 20 + # + # Ticks between collection checks when this is the highest upgrade tier. + # Collection is idle when items have not been collected within the last idleSpeed interval. + idleSpeed = 20 + + [Upgrades.Magnet.Level2] + enableUpgrade = true + # + # Range is blocks out from drawer as: [horizontal, up, down] + range = [4, 2, 0] + # + # Ticks between active collection when this is the highest upgrade tier. + activeSpeed = 10 + # + # Ticks between collection checks when this is the highest upgrade tier. + # Collection is idle when items have not been collected within the last idleSpeed interval. + idleSpeed = 20 + + [Upgrades.Magnet.Level3] + enableUpgrade = true + # + # Range is blocks out from drawer as: [horizontal, up, down] + range = [8, 3, 0] + # + # Ticks between active collection when this is the highest upgrade tier. + activeSpeed = 5 + # + # Ticks between collection checks when this is the highest upgrade tier. + # Collection is idle when items have not been collected within the last idleSpeed interval. + idleSpeed = 20 + + # Restricts capacity of drawer to one stack. + [Upgrades.OneStack] + enableUpgrade = true + + # Allows drawers with contents to be freely carried when heavy drawers is enabled. + [Upgrades.Portability] + enableUpgrade = true + + # Lets drawers emit redstone signals based on their fill level. + [Upgrades.Redstone] + enableUpgrade = true + # + # Min redstone upgrades output the minimum signal of all drawers in block. + enableMinUpgrade = true + # + # Max redstone upgrades output the maximum signal of all drawers in block. + enableMaxUpgrade = true + # + # Whether redstone upgrades should emit an analog redstone signal, + # requiring the use of a comparator to read it. + analogOutput = true + + # Lets drawers connect to a controller wirelessly. + [Upgrades.Remote] + enableUpgrade = true + # + # Group variant connects all drawers connected to the upgraded block. + enableGroupUpgrade = true + # + # Sets the max range of the single-variant remote upgrade. + # The range is capped by the controller range. Set to 0 to match controller range. + maxRange = 0 + # + # Sets the max range of the group-variant remote upgrade. + # The range is capped by the controller range. Set to 0 to match controller range. + maxGroupRange = 0 + + # Causes drawers to accept but void compatible items when they are filled to capacity. + [Upgrades.Void] + enableUpgrade = true + +# Configuration around tools, namely the various 'keys' that can be used on drawers. +[Tools] + + # Drawer keys are used to lock drawers to the items they already hold. + [Tools.DrawerKey] + enable = true + + # Quantify keys are used to show or hide the count of items on the face of drawers. + [Tools.QuantifyKey] + enable = true + # + # Show labels by default on newly placed drawers. + showDefault = false + + # Concealment keys are used to show or hide the item labels on the face of drawers. + # The primary use of this key is for performance by disabling the more expensive dynamic rendering. + [Tools.ConcealmentKey] + enable = true + + # Personal keys allow drawers to be locked to their owners, so only they can place or take items. + [Tools.PersonalKey] + enable = true + + # Priority keys change the priority of drawers when finding a compatible slot to insert items into. + [Tools.PriorityKey] + enable = true + + # Suspend keys stop external interaction, e.g. from hopper or magnet upgrades. + [Tools.PauseKey] + enable = true + +# Configuration around integration with third party mods. +[Integration] + + # Configuration around the CoFH Core mod. + # Adds support for a CoFH groups personal key. + [Integration.CoFHCore] + # Enables CoFH Core integration if mod is present. + enable = true + + # Configuration around the FTB Chunks mod. + # Improves support for claimed chunks. + [Integration.FTBChunks] + # Enables FTB Chunks integration if mod is present. + enable = true + + # Configuration around the FTB Teams mod. + # Adds support for a teams personal key. + [Integration.FTBTeams] + # Enables FTB Teams integration if mod is present. + enable = true + # + # Enables recipe to obtain key from another supported personal key in crafting grid. + enableCycleRecipe = true + + # Configuration around the WAILA/HWYLA/Jade family of block inspection mods. + [Integration.WAILA] + # Enables Jade integration if mod is present. + enable = true + # When true, shows quantity as NxS + R (by stack size) rather than count + stackRemainder = true + # + # When true, does not show current quantities unless quantify key was used + respectQuantifyKey = false + diff --git a/index.toml b/index.toml index 35124cb..67e895e 100644 --- a/index.toml +++ b/index.toml @@ -361,8 +361,8 @@ file = "config/storagedrawers-client.toml" hash = "327bfd458ff2b57c072af1f192bd8f828f5e91cd6d3551345ef13d1f599e2f78" [[files]] -file = "config/storagedrawers-common.toml" -hash = "fe186891b497287dd2e784a3e0a735d6c0755b01c3b317912ad9417b34fffd95" +file = "config/storagedrawers-common.v2.toml" +hash = "3cdf5d0ed3194267ef373fda7e63bb9bcc231b0ef4028c9466ae4ded2b0bf630" [[files]] file = "config/toastcontrol-common.toml" @@ -530,11 +530,11 @@ hash = "00d52fe8c1f206d103984a8f632f712748a7bef18648e02e9be2739a440dfd3f" [[files]] file = "kubejs/client_scripts/jei/hidden_items.js" -hash = "2951d1ff9ee74a378ddd65660f8dac889824c2dc29c40480c749260f8871e842" +hash = "da1d071fe0d02f05ec5a94726a6b5f5014aff441acea105e28939f2ffb227014" [[files]] file = "kubejs/client_scripts/tooltips.js" -hash = "43a07653ef7b7c9f734f6a244e78ec91fd443b47577b354a8fa3e06f02579bba" +hash = "4cd0855fa47e70ad05638740a8cccfd560221277e6bfd98950b2d48689aa45c6" [[files]] file = "kubejs/config/client.properties" @@ -682,11 +682,11 @@ hash = "a5f8f6e63d636dad1485f889a887c89ea690c245e804ba1b50ad0018d9847150" [[files]] file = "kubejs/server_scripts/storage_drawers/drawers.js" -hash = "4ea5601c95dbe9b0cb5466b9b2de27fca46c8dd5ad0857bdc5c6b8f51ec91ed6" +hash = "84fbb6dab6e29e70cbc9af1badb2d749e5be3b940d38bec3c3b364977c357037" [[files]] file = "kubejs/server_scripts/storage_drawers/upgrades.js" -hash = "bd13a7b35349d3003e0f33d71223e22f74beae731b5a5805b4e556c59ac8c3f4" +hash = "62c275c960ecbd5e615af89a2147d46c9db3fb84224ec33678047e0fcc195276" [[files]] file = "kubejs/server_scripts/tags/ae2.js" @@ -961,7 +961,7 @@ metafile = true [[files]] file = "mods/gregtech-storage-drawers.pw.toml" -hash = "a71e50b12d6ad878ef5b81a27e78277951acdf9a22964f0be8bd786356a61444" +hash = "385a5b3d937405c0fbf9bac790ea268138bbede0ce1da07a0ce562edca16c5a6" metafile = true [[files]] @@ -1116,7 +1116,7 @@ metafile = true [[files]] file = "mods/storage-drawers.pw.toml" -hash = "b5280a819e67fcc922f041ec277823ff8574565472c8afd9a36afbe716f9542c" +hash = "371b68e257eaca322ca4e95f4aa8d95441d84110b69243dda818f743a0111ba5" metafile = true [[files]] diff --git a/kubejs/client_scripts/jei/hidden_items.js b/kubejs/client_scripts/jei/hidden_items.js index 25460f8..c23c5eb 100644 --- a/kubejs/client_scripts/jei/hidden_items.js +++ b/kubejs/client_scripts/jei/hidden_items.js @@ -3,6 +3,11 @@ JEIEvents.hideItems(event => { // Hide AE2 facades event.hide('ae2:facade') + // Hide the useless storage drawers stuff + event.hide('storagedrawers:personal_key_cofh') + event.hide('storagedrawers:portability_upgrade') + event.hide('storagedrawers:conversion_upgrade') + // Hide all irrelevant stonetype ores event.hide('#forge:ores_in_ground/sand') event.hide('#forge:ores_in_ground/red_sand') @@ -44,4 +49,4 @@ JEIEvents.hideItems(event => { event.hide('expatternprovider:circuit_cutter') -}) \ No newline at end of file +}) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 4a54913..0daad59 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -7,9 +7,11 @@ ItemEvents.tooltip((event) => { "storagedrawers:redstone_upgrade", "storagedrawers:min_redstone_upgrade", "storagedrawers:max_redstone_upgrade", + "storagedrawers:compacting_drawers_2", "storagedrawers:compacting_drawers_3", + "storagedrawers:compacting_half_drawers_2", + "storagedrawers:compacting_half_drawers_3", "storagedrawers:fill_level_upgrade", - "storagedrawers:illumination_upgrade", "expatternprovider:caner", "ae2:inscriber", @@ -33,7 +35,9 @@ ItemEvents.tooltip((event) => { event.add("expatternprovider:fishbig", Text.gray("Congratulations! You won Minecraft.")); - event.add(["enderstorage:ender_chest", "enderstorage:ender_tank", "enderstorage:ender_pouch"], + event.add(["enderstorage:ender_chest", "enderstorage:ender_tank", "enderstorage:ender_pouch"], Text.red("WARNING: These are deprcated and will be removed in a future update.\nPlease convert them into the GT covers in a crafting table.") ); + + event.add("storagedrawers:personal_key_ftb", Text.gray("Craft me with a regular personal key in a crafting grid.")); }); diff --git a/kubejs/server_scripts/storage_drawers/drawers.js b/kubejs/server_scripts/storage_drawers/drawers.js index c8a2e3e..12314f3 100644 --- a/kubejs/server_scripts/storage_drawers/drawers.js +++ b/kubejs/server_scripts/storage_drawers/drawers.js @@ -1,7 +1,5 @@ ServerEvents.recipes((event) => { const greg = event.recipes.gtceu; - event.remove({ mod: "storagedrawers" }); - event.remove({ mod: "gtstoragedrawers" }); const woodTypes = [ "oak", "spruce", diff --git a/kubejs/server_scripts/storage_drawers/upgrades.js b/kubejs/server_scripts/storage_drawers/upgrades.js index 93d088d..d170cfc 100644 --- a/kubejs/server_scripts/storage_drawers/upgrades.js +++ b/kubejs/server_scripts/storage_drawers/upgrades.js @@ -1,4 +1,20 @@ ServerEvents.recipes((event) => { + event.remove({ + not: [ + { id: "storagedrawers:personal_key" }, + { id: "storagedrawers:personal_key_cycle" }, + { id: "storagedrawers:priority_key" }, + { id: "storagedrawers:quantify_key" }, + { id: "storagedrawers:suspend_key" }, + { id: "storagedrawers:shroud_key" }, + { id: "storagedrawers:keybutton_conscealment" }, + { id: "storagedrawers:keybutton_drawer" }, + { id: "storagedrawers:keybutton_quantify" } + ], + mod: "storagedrawers" + }); + + event.remove({ mod: "gtstoragedrawers" }); // Upgrade Template event.shaped("storagedrawers:upgrade_template", ["SPS", "SWS", " d "], { S: "#forge:screws/iron", @@ -17,58 +33,32 @@ ServerEvents.recipes((event) => { .duration(60) .EUt(24); - // Upgrade 1 + // Storage Upgrade lvl 1 event.shaped("storagedrawers:obsidian_storage_upgrade", ["PTP"], { P: "#forge:plates/obsidian", T: "storagedrawers:upgrade_template", }); - // Upgrade 2 - event.shaped("storagedrawers:iron_storage_upgrade", ["S S", "PTP", "S S"], { - S: "#forge:rods/iron", - P: "#forge:plates/iron", - T: "storagedrawers:upgrade_template", + // Storage Upgrades lvl 2+ + // rod material, plate material, upgrade name + const upgrades = [ + {rod_mat: "bronze", plate_mat: "copper", upgrade: "copper"}, + {rod_mat: "steel", plate_mat: "wrought_iron", upgrade: "iron"}, + {rod_mat: "gold", plate_mat: "rose_gold", upgrade: "gold"}, + {rod_mat: "aluminium", plate_mat: "emerald", upgrade: "emerald"}, + {rod_mat: "aluminium", plate_mat: "olivine", upgrade: "emerald"}, + {rod_mat: "stainless_steel", plate_mat: "diamond", upgrade: "diamond"}, + {rod_mat: "titanium", plate_mat: "black_steel", upgrade: "netherite"}, + ]; + + upgrades.forEach((e) => { + event.shaped(`storagedrawers:${e.upgrade}_storage_upgrade`, ["S S", "PTP", "S S"], { + S: `#forge:rods/${e.rod_mat}`, + P: `#forge:plates/${e.plate_mat}`, + T: "storagedrawers:upgrade_template", + }); }); - // Upgrade 3 - event.shaped("storagedrawers:gold_storage_upgrade", ["S S", "PTP", "S S"], { - S: "#forge:rods/gold", - P: "#forge:plates/rose_gold", - T: "storagedrawers:upgrade_template", - }); - - // Upgrade 4 - event.shaped( - "storagedrawers:diamond_storage_upgrade", - ["S S", "PTP", "S S"], - { - S: "#forge:rods/stainless_steel", - P: "#forge:plates/diamond", - T: "storagedrawers:upgrade_template", - } - ); - - // Upgrade 5 - event.shaped( - "storagedrawers:emerald_storage_upgrade", - ["S S", "PTP", "S S"], - { - S: "#forge:rods/titanium", - P: "#forge:plates/emerald", - T: "storagedrawers:upgrade_template", - } - ); - // Upgrade 5 2 - event.shaped( - "storagedrawers:emerald_storage_upgrade", - ["S S", "PTP", "S S"], - { - S: "#forge:rods/titanium", - P: "#forge:plates/olivine", - T: "storagedrawers:upgrade_template", - } - ); - // Storage Downgrade event.shaped("storagedrawers:one_stack_upgrade", ["PTP"], { P: "flint", @@ -81,6 +71,58 @@ ServerEvents.recipes((event) => { T: "storagedrawers:upgrade_template", }); + // Illumination Upgrade + event.shaped("storagedrawers:illumination_upgrade", ["GTG"], { + G: "minecraft:glowstone", + T: "storagedrawers:upgrade_template" + }); + + // Balance Upgrade + event.shaped("storagedrawers:balance_fill_upgrade", ["P P", "CTC"], { + P: "gtceu:tin_small_item_pipe", + C: "gtceu:lv_conveyor_module", + T: "storagedrawers:upgrade_template" + }); + + // Hopper Upgrade + event.shaped("storagedrawers:hopper_upgrade", ["P", "C", "T"], { + P: "gtceu:tin_large_item_pipe", + C: "gtceu:lv_conveyor_module", + T: "storagedrawers:upgrade_template", + }); + + // Magnet Upgrades + for (let i = 1; i <= 3; i++) { + let sd_tier = ""; + if (i > 1) { + sd_tier = `_${i}`; + } + let gt_tier = GTValues.VN[i].toLowerCase(); + event.shaped(`storagedrawers:magnet_upgrade${sd_tier}`, ["RCR", "RTR"], { + R: "#forge:rods/steel", + C: `gtceu:${gt_tier}_item_collector`, + T: "storagedrawers:upgrade_template", + }); + } + + // Remote Upgrade + event.shaped("storagedrawers:remote_upgrade", [" C ", "ETE"], { + C: "#gtceu:circuits/lv", + E: "gtceu:lv_emitter", + T: "storagedrawers:upgrade_template", + }); + + // Remote Group Upgrade + event.shaped("storagedrawers:remote_group_upgrade", [" E", "CT", " E"], { + C: "#gtceu:circuits/lv", + E: "gtceu:lv_emitter", + T: "storagedrawers:upgrade_template", + }); + + // Conversion recipes + event.shapeless("storagedrawers:remote_group_upgrade", ["storagedrawers:remote_upgrade"]); + event.shapeless("storagedrawers:remote_upgrade", ["storagedrawers:remote_group_upgrade"]); + // Drawer Key event.shaped("storagedrawers:drawer_key", [" BP", "TPP", "Gs "], { B: "#forge:bolts/gold", @@ -89,4 +131,22 @@ ServerEvents.recipes((event) => { G: "#forge:plates/gold", s: "#forge:tools/saws", }); + + // Keyring + event.shaped("storagedrawers:keyring", ["HR"], { + H: "#forge:tools/hammers", + R: "#forge:rings/iron" + }); + + // Drawer Puller + event.shaped("storagedrawers:drawer_puller", ["RH"], { + H: "#forge:tools/hammers", + R: "#forge:rods/long/iron" + }); + + // Framing Table + event.shaped("storagedrawers:framing_table", ["FFF", "FSF"], { + F: "#storagedrawers:trim", + S: "#forge:tools/saws" + }); }); diff --git a/mods/gregtech-storage-drawers.pw.toml b/mods/gregtech-storage-drawers.pw.toml index bd6620c..d9fcf36 100644 --- a/mods/gregtech-storage-drawers.pw.toml +++ b/mods/gregtech-storage-drawers.pw.toml @@ -1,13 +1,13 @@ name = "GregTech Storage Drawers" -filename = "gtstoragedrawers-1.20.1-1.0.1.jar" +filename = "gtstoragedrawers-1.20.1-1.0.2.jar" side = "both" [download] hash-format = "sha1" -hash = "ef1856f6aa8ca5e4f41e86153e9160def3f66880" +hash = "f0fd877857f5d1e2cae6421c1b63a085cbe2f452" mode = "metadata:curseforge" [update] [update.curseforge] -file-id = 6805649 +file-id = 7036004 project-id = 1310132 diff --git a/mods/storage-drawers.pw.toml b/mods/storage-drawers.pw.toml index ce4737f..52989e4 100644 --- a/mods/storage-drawers.pw.toml +++ b/mods/storage-drawers.pw.toml @@ -1,13 +1,13 @@ name = "Storage Drawers" -filename = "StorageDrawers-1.20.1-12.9.14.jar" +filename = "StorageDrawers-forge-1.20.1-12.14.3.jar" side = "both" [download] hash-format = "sha1" -hash = "0f96a4f409515d660ed7fb206edb2fd998bfbf29" +hash = "afca74c6e18883632e74e15a549004bfca245a90" mode = "metadata:curseforge" [update] [update.curseforge] -file-id = 6549483 +file-id = 6994481 project-id = 223852 diff --git a/pack.toml b/pack.toml index 9bb9a03..539a3d9 100644 --- a/pack.toml +++ b/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "eb4169464535c4bbad2b1e14201bba8ad71f63089d424793245ff77d9c38db4d" +hash = "750d1e0446c3e5b86e7c79c93a4f162a049ed6d125f58aec07d2e6603ae16410" [versions] forge = "47.4.6"