From 679d7033f9fc020a50f1ce402e8dadca72b74108 Mon Sep 17 00:00:00 2001 From: NotEvil Date: Tue, 14 Apr 2026 17:47:32 +0200 Subject: [PATCH 1/3] feat(D-01/B): add can_attach_padlock field to data-driven items (B0) - DataDrivenItemDefinition: add canAttachPadlock boolean (default true) - DataDrivenItemParser: parse "can_attach_padlock" from JSON - DataDrivenBondageItem: add static canAttachPadlockTo(stack) method - AnvilEventHandler: check V2 definition before allowing padlock attach --- .../remake/events/system/AnvilEventHandler.java | 6 +++++- .../bondage/datadriven/DataDrivenBondageItem.java | 13 +++++++++++++ .../datadriven/DataDrivenItemDefinition.java | 3 +++ .../v2/bondage/datadriven/DataDrivenItemParser.java | 4 ++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tiedup/remake/events/system/AnvilEventHandler.java b/src/main/java/com/tiedup/remake/events/system/AnvilEventHandler.java index 68e9a88..d7050b3 100644 --- a/src/main/java/com/tiedup/remake/events/system/AnvilEventHandler.java +++ b/src/main/java/com/tiedup/remake/events/system/AnvilEventHandler.java @@ -40,7 +40,11 @@ public class AnvilEventHandler { // Check if item can have a padlock attached (tape, slime, vine, web cannot) if (!lockable.canAttachPadlock()) { - return; // Item type cannot have padlock + return; // Item type cannot have padlock (V1) + } + // V2 data-driven items: check definition's can_attach_padlock field + if (!com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.canAttachPadlockTo(left)) { + return; } // Item must not already have a padlock attached diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenBondageItem.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenBondageItem.java index 3bf2e04..f73ecf4 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenBondageItem.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenBondageItem.java @@ -436,6 +436,19 @@ public class DataDrivenBondageItem extends AbstractV2BondageItem { ); } + /** + * Stack-aware padlock attachment check for data-driven items. + * Returns false for organic items (slime, vine, web, tape) that have + * {@code can_attach_padlock: false} in their JSON definition. + */ + public static boolean canAttachPadlockTo(ItemStack stack) { + DataDrivenItemDefinition def = DataDrivenItemRegistry.get(stack); + if (def != null) { + return def.canAttachPadlock(); + } + return true; + } + // ===== FACTORY ===== /** diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java index fa5d9e4..ce1a4db 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemDefinition.java @@ -58,6 +58,9 @@ public record DataDrivenItemDefinition( /** Whether this item can be locked with a padlock. */ boolean lockable, + /** Whether a padlock can be attached to this item. False for organic items (slime, vine, web, tape). */ + boolean canAttachPadlock, + /** Whether this item supports color variants. */ boolean supportsColor, diff --git a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java index 9c4dd1c..91f5d91 100644 --- a/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java +++ b/src/main/java/com/tiedup/remake/v2/bondage/datadriven/DataDrivenItemParser.java @@ -200,6 +200,9 @@ public final class DataDrivenItemParser { // Optional: lockable (default true) boolean lockable = getBooleanOrDefault(root, "lockable", true); + // Optional: can_attach_padlock (default true). False for organic items. + boolean canAttachPadlock = getBooleanOrDefault(root, "can_attach_padlock", true); + // Optional: supports_color (default false) boolean supportsColor = getBooleanOrDefault( root, @@ -335,6 +338,7 @@ public final class DataDrivenItemParser { posePriority, escapeDifficulty, lockable, + canAttachPadlock, supportsColor, tintChannels, icon, From 258223bf68e64131fce8fa9e51dc133da99b7acc Mon Sep 17 00:00:00 2001 From: NotEvil Date: Tue, 14 Apr 2026 17:52:19 +0200 Subject: [PATCH 2/3] feat(D-01/B): 47 data-driven item definitions + cleanup test files 16 binds: ropes, armbinder, dogbinder, chain, ribbon, slime, vine_seed, web_bind, shibari, leather_straps, medical_straps, beam_cuffs, duct_tape, straitjacket, wrap, latex_sack 19 gags: cloth_gag, ropes_gag, cleave_gag, ribbon_gag, ball_gag, ball_gag_strap, tape_gag, wrap_gag, slime_gag, vine_gag, web_gag, panel_gag, beam_panel_gag, chain_panel_gag, latex_gag, tube_gag, bite_gag, sponge_gag, baguette_gag 2 blindfolds, 1 earplugs, 1 mittens 5 collars (classic, shock, shock_auto, gps, choke) with ownership component 3 combos (hood, medical_gag, ball_gag_3d) All items config-driven via ResistanceComponent (id) and GaggingComponent (material). Organic items have can_attach_padlock: false. Removed 4 test files (test_component_gag, test_handcuffs, test_leg_cuffs). --- .../assets/tiedup/tiedup_items/armbinder.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/baguette_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/ball_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/ball_gag_3d.json | 28 ++++++++++++++++ .../tiedup/tiedup_items/ball_gag_strap.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/beam_cuffs.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/beam_panel_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/bite_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/blindfold_mask.json | 26 +++++++++++++++ .../assets/tiedup/tiedup_items/chain.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/chain_panel_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/choke_collar.json | 25 +++++++++++++++ .../tiedup_items/classic_blindfold.json | 26 +++++++++++++++ .../tiedup/tiedup_items/classic_collar.json | 24 ++++++++++++++ .../tiedup/tiedup_items/classic_earplugs.json | 23 +++++++++++++ .../tiedup/tiedup_items/cleave_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/cloth_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/dogbinder.json | 32 +++++++++++++++++++ .../assets/tiedup/tiedup_items/duct_tape.json | 30 +++++++++++++++++ .../tiedup/tiedup_items/gps_collar.json | 27 ++++++++++++++++ .../assets/tiedup/tiedup_items/hood.json | 31 ++++++++++++++++++ .../assets/tiedup/tiedup_items/latex_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/latex_sack.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/leather_mittens.json | 21 ++++++++++++ .../tiedup/tiedup_items/leather_straps.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/medical_gag.json | 27 ++++++++++++++++ .../tiedup/tiedup_items/medical_straps.json | 31 ++++++++++++++++++ .../assets/tiedup/tiedup_items/panel_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/ribbon.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/ribbon_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/ropes.json | 31 ++++++++++++++++++ .../assets/tiedup/tiedup_items/ropes_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/shibari.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/shock_collar.json | 27 ++++++++++++++++ .../tiedup_items/shock_collar_auto.json | 28 ++++++++++++++++ .../assets/tiedup/tiedup_items/slime.json | 30 +++++++++++++++++ .../assets/tiedup/tiedup_items/slime_gag.json | 28 ++++++++++++++++ .../tiedup/tiedup_items/sponge_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/straitjacket.json | 31 ++++++++++++++++++ .../assets/tiedup/tiedup_items/tape_gag.json | 28 ++++++++++++++++ .../tiedup/tiedup_items/test_handcuffs.json | 15 --------- .../tiedup/tiedup_items/test_leg_cuffs.json | 18 ----------- .../assets/tiedup/tiedup_items/tube_gag.json | 29 +++++++++++++++++ .../assets/tiedup/tiedup_items/vine_gag.json | 28 ++++++++++++++++ .../assets/tiedup/tiedup_items/vine_seed.json | 30 +++++++++++++++++ .../assets/tiedup/tiedup_items/web_bind.json | 30 +++++++++++++++++ .../assets/tiedup/tiedup_items/web_gag.json | 28 ++++++++++++++++ .../assets/tiedup/tiedup_items/wrap.json | 31 ++++++++++++++++++ .../assets/tiedup/tiedup_items/wrap_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/armbinder.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/baguette_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/ball_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/ball_gag_3d.json | 28 ++++++++++++++++ .../tiedup/tiedup_items/ball_gag_strap.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/beam_cuffs.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/beam_panel_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/bite_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/blindfold_mask.json | 26 +++++++++++++++ .../data/tiedup/tiedup_items/chain.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/chain_panel_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/choke_collar.json | 25 +++++++++++++++ .../tiedup_items/classic_blindfold.json | 26 +++++++++++++++ .../tiedup/tiedup_items/classic_collar.json | 24 ++++++++++++++ .../tiedup/tiedup_items/classic_earplugs.json | 23 +++++++++++++ .../data/tiedup/tiedup_items/cleave_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/cloth_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/dogbinder.json | 32 +++++++++++++++++++ .../data/tiedup/tiedup_items/duct_tape.json | 30 +++++++++++++++++ .../data/tiedup/tiedup_items/gps_collar.json | 27 ++++++++++++++++ .../data/tiedup/tiedup_items/hood.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/latex_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/latex_sack.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/leather_mittens.json | 21 ++++++++++++ .../tiedup/tiedup_items/leather_straps.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/medical_gag.json | 27 ++++++++++++++++ .../tiedup/tiedup_items/medical_straps.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/panel_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/ribbon.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/ribbon_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/ropes.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/ropes_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/shibari.json | 31 ++++++++++++++++++ .../tiedup/tiedup_items/shock_collar.json | 27 ++++++++++++++++ .../tiedup_items/shock_collar_auto.json | 28 ++++++++++++++++ .../data/tiedup/tiedup_items/slime.json | 30 +++++++++++++++++ .../data/tiedup/tiedup_items/slime_gag.json | 28 ++++++++++++++++ .../data/tiedup/tiedup_items/sponge_gag.json | 29 +++++++++++++++++ .../tiedup/tiedup_items/straitjacket.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/tape_gag.json | 28 ++++++++++++++++ .../tiedup_items/test_component_gag.json | 24 -------------- .../tiedup/tiedup_items/test_handcuffs.json | 14 -------- .../data/tiedup/tiedup_items/tube_gag.json | 29 +++++++++++++++++ .../data/tiedup/tiedup_items/vine_gag.json | 28 ++++++++++++++++ .../data/tiedup/tiedup_items/vine_seed.json | 30 +++++++++++++++++ .../data/tiedup/tiedup_items/web_bind.json | 30 +++++++++++++++++ .../data/tiedup/tiedup_items/web_gag.json | 28 ++++++++++++++++ .../data/tiedup/tiedup_items/wrap.json | 31 ++++++++++++++++++ .../data/tiedup/tiedup_items/wrap_gag.json | 29 +++++++++++++++++ 98 files changed, 2706 insertions(+), 71 deletions(-) create mode 100644 src/main/resources/assets/tiedup/tiedup_items/armbinder.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/baguette_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ball_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ball_gag_3d.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ball_gag_strap.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/beam_cuffs.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/beam_panel_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/bite_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/blindfold_mask.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/chain.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/chain_panel_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/choke_collar.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/classic_blindfold.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/classic_collar.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/classic_earplugs.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/cleave_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/cloth_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/dogbinder.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/duct_tape.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/gps_collar.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/hood.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/latex_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/latex_sack.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/leather_mittens.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/leather_straps.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/medical_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/medical_straps.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/panel_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ribbon.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ribbon_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ropes.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/ropes_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/shibari.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/shock_collar.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/shock_collar_auto.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/slime.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/slime_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/sponge_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/straitjacket.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/tape_gag.json delete mode 100644 src/main/resources/assets/tiedup/tiedup_items/test_handcuffs.json delete mode 100644 src/main/resources/assets/tiedup/tiedup_items/test_leg_cuffs.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/tube_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/vine_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/vine_seed.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/web_bind.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/web_gag.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/wrap.json create mode 100644 src/main/resources/assets/tiedup/tiedup_items/wrap_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/armbinder.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/baguette_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ball_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ball_gag_3d.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ball_gag_strap.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/beam_cuffs.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/beam_panel_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/bite_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/blindfold_mask.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/chain.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/chain_panel_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/choke_collar.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/classic_blindfold.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/classic_collar.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/classic_earplugs.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/cleave_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/cloth_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/dogbinder.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/duct_tape.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/gps_collar.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/hood.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/latex_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/latex_sack.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/leather_mittens.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/leather_straps.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/medical_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/medical_straps.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/panel_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ribbon.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ribbon_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ropes.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/ropes_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/shibari.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/shock_collar.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/shock_collar_auto.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/slime.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/slime_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/sponge_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/straitjacket.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/tape_gag.json delete mode 100644 src/main/resources/data/tiedup/tiedup_items/test_component_gag.json delete mode 100644 src/main/resources/data/tiedup/tiedup_items/test_handcuffs.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/tube_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/vine_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/vine_seed.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/web_bind.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/web_gag.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/wrap.json create mode 100644 src/main/resources/data/tiedup/tiedup_items/wrap_gag.json diff --git a/src/main/resources/assets/tiedup/tiedup_items/armbinder.json b/src/main/resources/assets/tiedup/tiedup_items/armbinder.json new file mode 100644 index 0000000..0766cea --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/armbinder.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Armbinder", + "translation_key": "item.tiedup.armbinder", + "model": "tiedup:models/gltf/v2/binds/armbinder.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/baguette_gag.json b/src/main/resources/assets/tiedup/tiedup_items/baguette_gag.json new file mode 100644 index 0000000..c9fbaf7 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/baguette_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Baguette Gag", + "translation_key": "item.tiedup.baguette_gag", + "model": "tiedup:models/gltf/v2/gags/baguette_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "baguette" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ball_gag.json b/src/main/resources/assets/tiedup/tiedup_items/ball_gag.json new file mode 100644 index 0000000..f440e4c --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ball_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag", + "translation_key": "item.tiedup.ball_gag", + "model": "tiedup:models/gltf/v2/gags/ball_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ball_gag_3d.json b/src/main/resources/assets/tiedup/tiedup_items/ball_gag_3d.json new file mode 100644 index 0000000..9eb3b10 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ball_gag_3d.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag 3D", + "translation_key": "item.tiedup.ball_gag_3d", + "model": "tiedup:models/gltf/v2/combos/ball_gag_3d.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ball_gag_strap.json b/src/main/resources/assets/tiedup/tiedup_items/ball_gag_strap.json new file mode 100644 index 0000000..123fc92 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ball_gag_strap.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag Strap", + "translation_key": "item.tiedup.ball_gag_strap", + "model": "tiedup:models/gltf/v2/gags/ball_gag_strap.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/beam_cuffs.json b/src/main/resources/assets/tiedup/tiedup_items/beam_cuffs.json new file mode 100644 index 0000000..f2a22f4 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/beam_cuffs.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Beam Cuffs", + "translation_key": "item.tiedup.beam_cuffs", + "model": "tiedup:models/gltf/v2/binds/beam_cuffs.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "chain" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/beam_panel_gag.json b/src/main/resources/assets/tiedup/tiedup_items/beam_panel_gag.json new file mode 100644 index 0000000..f6a79ca --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/beam_panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Beam Panel Gag", + "translation_key": "item.tiedup.beam_panel_gag", + "model": "tiedup:models/gltf/v2/gags/beam_panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/bite_gag.json b/src/main/resources/assets/tiedup/tiedup_items/bite_gag.json new file mode 100644 index 0000000..aabe80e --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/bite_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Bite Gag", + "translation_key": "item.tiedup.bite_gag", + "model": "tiedup:models/gltf/v2/gags/bite_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "bite" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/blindfold_mask.json b/src/main/resources/assets/tiedup/tiedup_items/blindfold_mask.json new file mode 100644 index 0000000..fd167aa --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/blindfold_mask.json @@ -0,0 +1,26 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Blindfold Mask", + "translation_key": "item.tiedup.blindfold_mask", + "model": "tiedup:models/gltf/v2/blindfolds/blindfold_mask.glb", + "regions": [ + "EYES" + ], + "pose_priority": 5, + "escape_difficulty": 30, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/chain.json b/src/main/resources/assets/tiedup/tiedup_items/chain.json new file mode 100644 index 0000000..1b65798 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/chain.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Chains", + "translation_key": "item.tiedup.chain", + "model": "tiedup:models/gltf/v2/binds/chain.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "chain" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/chain_panel_gag.json b/src/main/resources/assets/tiedup/tiedup_items/chain_panel_gag.json new file mode 100644 index 0000000..f31fb74 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/chain_panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Chain Panel Gag", + "translation_key": "item.tiedup.chain_panel_gag", + "model": "tiedup:models/gltf/v2/gags/chain_panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/choke_collar.json b/src/main/resources/assets/tiedup/tiedup_items/choke_collar.json new file mode 100644 index 0000000..6a9b9a9 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/choke_collar.json @@ -0,0 +1,25 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Choke Collar", + "translation_key": "item.tiedup.choke_collar", + "model": "tiedup:models/gltf/v2/collars/choke_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "choking": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/classic_blindfold.json b/src/main/resources/assets/tiedup/tiedup_items/classic_blindfold.json new file mode 100644 index 0000000..2b79cff --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/classic_blindfold.json @@ -0,0 +1,26 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Blindfold", + "translation_key": "item.tiedup.classic_blindfold", + "model": "tiedup:models/gltf/v2/blindfolds/classic_blindfold.glb", + "regions": [ + "EYES" + ], + "pose_priority": 5, + "escape_difficulty": 30, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/classic_collar.json b/src/main/resources/assets/tiedup/tiedup_items/classic_collar.json new file mode 100644 index 0000000..fcae2eb --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/classic_collar.json @@ -0,0 +1,24 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Classic Collar", + "translation_key": "item.tiedup.classic_collar", + "model": "tiedup:models/gltf/v2/collars/classic_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/classic_earplugs.json b/src/main/resources/assets/tiedup/tiedup_items/classic_earplugs.json new file mode 100644 index 0000000..a9944b7 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/classic_earplugs.json @@ -0,0 +1,23 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Earplugs", + "translation_key": "item.tiedup.classic_earplugs", + "model": "tiedup:models/gltf/v2/earplugs/classic_earplugs.glb", + "regions": [ + "EARS" + ], + "pose_priority": 5, + "escape_difficulty": 20, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/cleave_gag.json b/src/main/resources/assets/tiedup/tiedup_items/cleave_gag.json new file mode 100644 index 0000000..6032aff --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/cleave_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Cleave Gag", + "translation_key": "item.tiedup.cleave_gag", + "model": "tiedup:models/gltf/v2/gags/cleave_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/cloth_gag.json b/src/main/resources/assets/tiedup/tiedup_items/cloth_gag.json new file mode 100644 index 0000000..dffcab7 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/cloth_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Cloth Gag", + "translation_key": "item.tiedup.cloth_gag", + "model": "tiedup:models/gltf/v2/gags/cloth_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/dogbinder.json b/src/main/resources/assets/tiedup/tiedup_items/dogbinder.json new file mode 100644 index 0000000..871668f --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/dogbinder.json @@ -0,0 +1,32 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Dogbinder", + "translation_key": "item.tiedup.dogbinder", + "model": "tiedup:models/gltf/v2/binds/dogbinder.glb", + "regions": [ + "ARMS" + ], + "pose_type": "DOG", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + }, + "movement_style": "CRAWL" +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json b/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json new file mode 100644 index 0000000..8d94ea8 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Duct Tape", + "translation_key": "item.tiedup.duct_tape", + "model": "tiedup:models/gltf/v2/binds/duct_tape.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "tape" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/gps_collar.json b/src/main/resources/assets/tiedup/tiedup_items/gps_collar.json new file mode 100644 index 0000000..3b72630 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/gps_collar.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "GPS Collar", + "translation_key": "item.tiedup.gps_collar", + "model": "tiedup:models/gltf/v2/collars/gps_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "gps": { + "safe_zone_radius": 50 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/hood.json b/src/main/resources/assets/tiedup/tiedup_items/hood.json new file mode 100644 index 0000000..5e97f35 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/hood.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Hood", + "translation_key": "item.tiedup.hood", + "model": "tiedup:models/gltf/v2/combos/hood.glb", + "regions": [ + "EYES" + ], + "blocked_regions": [ + "EYES", + "EARS" + ], + "pose_priority": 10, + "escape_difficulty": 40, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "gagging": { + "material": "stuffed" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/latex_gag.json b/src/main/resources/assets/tiedup/tiedup_items/latex_gag.json new file mode 100644 index 0000000..23c58ce --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/latex_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Latex Gag", + "translation_key": "item.tiedup.latex_gag", + "model": "tiedup:models/gltf/v2/gags/latex_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "latex" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/latex_sack.json b/src/main/resources/assets/tiedup/tiedup_items/latex_sack.json new file mode 100644 index 0000000..fe9ed7a --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/latex_sack.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Latex Sack", + "translation_key": "item.tiedup.latex_sack", + "model": "tiedup:models/gltf/v2/binds/latex_sack.glb", + "regions": [ + "ARMS" + ], + "pose_type": "LATEX_SACK", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "latex_sack" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/leather_mittens.json b/src/main/resources/assets/tiedup/tiedup_items/leather_mittens.json new file mode 100644 index 0000000..c82c6ea --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/leather_mittens.json @@ -0,0 +1,21 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Leather Mittens", + "translation_key": "item.tiedup.leather_mittens", + "model": "tiedup:models/gltf/v2/mittens/leather_mittens.glb", + "regions": [ + "HANDS" + ], + "pose_priority": 5, + "escape_difficulty": 20, + "lockable": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/leather_straps.json b/src/main/resources/assets/tiedup/tiedup_items/leather_straps.json new file mode 100644 index 0000000..d1628a0 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/leather_straps.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Leather Straps", + "translation_key": "item.tiedup.leather_straps", + "model": "tiedup:models/gltf/v2/binds/leather_straps.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/medical_gag.json b/src/main/resources/assets/tiedup/tiedup_items/medical_gag.json new file mode 100644 index 0000000..a1af652 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/medical_gag.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Medical Gag", + "translation_key": "item.tiedup.medical_gag", + "model": "tiedup:models/gltf/v2/combos/medical_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "blinding": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/medical_straps.json b/src/main/resources/assets/tiedup/tiedup_items/medical_straps.json new file mode 100644 index 0000000..a520ff1 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/medical_straps.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Medical Straps", + "translation_key": "item.tiedup.medical_straps", + "model": "tiedup:models/gltf/v2/binds/medical_straps.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/panel_gag.json b/src/main/resources/assets/tiedup/tiedup_items/panel_gag.json new file mode 100644 index 0000000..12054f4 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Panel Gag", + "translation_key": "item.tiedup.panel_gag", + "model": "tiedup:models/gltf/v2/gags/panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ribbon.json b/src/main/resources/assets/tiedup/tiedup_items/ribbon.json new file mode 100644 index 0000000..c8c0d99 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ribbon.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ribbon", + "translation_key": "item.tiedup.ribbon", + "model": "tiedup:models/gltf/v2/binds/ribbon.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "ribbon" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ribbon_gag.json b/src/main/resources/assets/tiedup/tiedup_items/ribbon_gag.json new file mode 100644 index 0000000..544cc0b --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ribbon_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ribbon Gag", + "translation_key": "item.tiedup.ribbon_gag", + "model": "tiedup:models/gltf/v2/gags/ribbon_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ropes.json b/src/main/resources/assets/tiedup/tiedup_items/ropes.json new file mode 100644 index 0000000..c02a543 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ropes.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ropes", + "translation_key": "item.tiedup.ropes", + "model": "tiedup:models/gltf/v2/binds/ropes.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "rope" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/ropes_gag.json b/src/main/resources/assets/tiedup/tiedup_items/ropes_gag.json new file mode 100644 index 0000000..ca3dcc1 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/ropes_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Rope Gag", + "translation_key": "item.tiedup.ropes_gag", + "model": "tiedup:models/gltf/v2/gags/ropes_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/shibari.json b/src/main/resources/assets/tiedup/tiedup_items/shibari.json new file mode 100644 index 0000000..19a346a --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/shibari.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Shibari", + "translation_key": "item.tiedup.shibari", + "model": "tiedup:models/gltf/v2/binds/shibari.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "rope" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/shock_collar.json b/src/main/resources/assets/tiedup/tiedup_items/shock_collar.json new file mode 100644 index 0000000..c5ff161 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/shock_collar.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Shock Collar", + "translation_key": "item.tiedup.shock_collar", + "model": "tiedup:models/gltf/v2/collars/shock_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "shock": { + "damage": 2.0 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/shock_collar_auto.json b/src/main/resources/assets/tiedup/tiedup_items/shock_collar_auto.json new file mode 100644 index 0000000..e988804 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/shock_collar_auto.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Auto Shock Collar", + "translation_key": "item.tiedup.shock_collar_auto", + "model": "tiedup:models/gltf/v2/collars/shock_collar_auto.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "shock": { + "damage": 2.0, + "auto_interval": 200 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/slime.json b/src/main/resources/assets/tiedup/tiedup_items/slime.json new file mode 100644 index 0000000..9485645 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/slime.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Slime Bind", + "translation_key": "item.tiedup.slime", + "model": "tiedup:models/gltf/v2/binds/slime.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "slime" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json b/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json new file mode 100644 index 0000000..79d3f1d --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Slime Gag", + "translation_key": "item.tiedup.slime_gag", + "model": "tiedup:models/gltf/v2/gags/slime_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/sponge_gag.json b/src/main/resources/assets/tiedup/tiedup_items/sponge_gag.json new file mode 100644 index 0000000..9e8ffb1 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/sponge_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Sponge Gag", + "translation_key": "item.tiedup.sponge_gag", + "model": "tiedup:models/gltf/v2/gags/sponge_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "sponge" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/straitjacket.json b/src/main/resources/assets/tiedup/tiedup_items/straitjacket.json new file mode 100644 index 0000000..e790fe5 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/straitjacket.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Straitjacket", + "translation_key": "item.tiedup.straitjacket", + "model": "tiedup:models/gltf/v2/binds/straitjacket.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STRAITJACKET", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "straitjacket" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json b/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json new file mode 100644 index 0000000..a68e176 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Tape Gag", + "translation_key": "item.tiedup.tape_gag", + "model": "tiedup:models/gltf/v2/gags/tape_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "tape" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/test_handcuffs.json b/src/main/resources/assets/tiedup/tiedup_items/test_handcuffs.json deleted file mode 100644 index e9ee163..0000000 --- a/src/main/resources/assets/tiedup/tiedup_items/test_handcuffs.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "tiedup:bondage_item", - "display_name": "Data-Driven Handcuffs", - "creator": "TiedUp! Team", - "model": "tiedup:models/gltf/v2/handcuffs/cuffs_prototype.glb", - "regions": ["ARMS"], - "pose_priority": 30, - "escape_difficulty": 100, - "lockable": true, - "icon": "tiedup:item/beam_cuffs", - "animation_bones": { - "idle": ["rightArm", "leftArm"], - "struggle": ["rightArm", "leftArm"] - } -} diff --git a/src/main/resources/assets/tiedup/tiedup_items/test_leg_cuffs.json b/src/main/resources/assets/tiedup/tiedup_items/test_leg_cuffs.json deleted file mode 100644 index 36605cb..0000000 --- a/src/main/resources/assets/tiedup/tiedup_items/test_leg_cuffs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "tiedup:bondage_item", - "display_name": "Prototype Leg Cuffs", - "model": "tiedup:models/gltf/leg_cuffs_proto.glb", - "regions": ["LEGS"], - "pose_priority": 30, - "escape_difficulty": 5, - "lockable": true, - "movement_style": "shuffle", - "supports_color": true, - "tint_channels": { - "tintable_1": "#808080" - }, - "animation_bones": { - "idle": ["rightLeg", "leftLeg"], - "struggle": ["rightLeg", "leftLeg"] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/tube_gag.json b/src/main/resources/assets/tiedup/tiedup_items/tube_gag.json new file mode 100644 index 0000000..07c1c23 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/tube_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Tube Gag", + "translation_key": "item.tiedup.tube_gag", + "model": "tiedup:models/gltf/v2/gags/tube_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ring" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json b/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json new file mode 100644 index 0000000..837da78 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Vine Gag", + "translation_key": "item.tiedup.vine_gag", + "model": "tiedup:models/gltf/v2/gags/vine_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json b/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json new file mode 100644 index 0000000..96ce0f9 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Vine Bind", + "translation_key": "item.tiedup.vine_seed", + "model": "tiedup:models/gltf/v2/binds/vine_seed.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "vine" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/web_bind.json b/src/main/resources/assets/tiedup/tiedup_items/web_bind.json new file mode 100644 index 0000000..b08ead1 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/web_bind.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Web Bind", + "translation_key": "item.tiedup.web_bind", + "model": "tiedup:models/gltf/v2/binds/web_bind.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "web" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/web_gag.json b/src/main/resources/assets/tiedup/tiedup_items/web_gag.json new file mode 100644 index 0000000..69427e3 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/web_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Web Gag", + "translation_key": "item.tiedup.web_gag", + "model": "tiedup:models/gltf/v2/gags/web_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/wrap.json b/src/main/resources/assets/tiedup/tiedup_items/wrap.json new file mode 100644 index 0000000..813f485 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/wrap.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Wrap", + "translation_key": "item.tiedup.wrap", + "model": "tiedup:models/gltf/v2/binds/wrap.glb", + "regions": [ + "ARMS" + ], + "pose_type": "WRAP", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "wrap" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tiedup/tiedup_items/wrap_gag.json b/src/main/resources/assets/tiedup/tiedup_items/wrap_gag.json new file mode 100644 index 0000000..2d188e8 --- /dev/null +++ b/src/main/resources/assets/tiedup/tiedup_items/wrap_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Wrap Gag", + "translation_key": "item.tiedup.wrap_gag", + "model": "tiedup:models/gltf/v2/gags/wrap_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/armbinder.json b/src/main/resources/data/tiedup/tiedup_items/armbinder.json new file mode 100644 index 0000000..0766cea --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/armbinder.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Armbinder", + "translation_key": "item.tiedup.armbinder", + "model": "tiedup:models/gltf/v2/binds/armbinder.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/baguette_gag.json b/src/main/resources/data/tiedup/tiedup_items/baguette_gag.json new file mode 100644 index 0000000..c9fbaf7 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/baguette_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Baguette Gag", + "translation_key": "item.tiedup.baguette_gag", + "model": "tiedup:models/gltf/v2/gags/baguette_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "baguette" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ball_gag.json b/src/main/resources/data/tiedup/tiedup_items/ball_gag.json new file mode 100644 index 0000000..f440e4c --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ball_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag", + "translation_key": "item.tiedup.ball_gag", + "model": "tiedup:models/gltf/v2/gags/ball_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ball_gag_3d.json b/src/main/resources/data/tiedup/tiedup_items/ball_gag_3d.json new file mode 100644 index 0000000..9eb3b10 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ball_gag_3d.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag 3D", + "translation_key": "item.tiedup.ball_gag_3d", + "model": "tiedup:models/gltf/v2/combos/ball_gag_3d.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ball_gag_strap.json b/src/main/resources/data/tiedup/tiedup_items/ball_gag_strap.json new file mode 100644 index 0000000..123fc92 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ball_gag_strap.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ball Gag Strap", + "translation_key": "item.tiedup.ball_gag_strap", + "model": "tiedup:models/gltf/v2/gags/ball_gag_strap.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ball" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/beam_cuffs.json b/src/main/resources/data/tiedup/tiedup_items/beam_cuffs.json new file mode 100644 index 0000000..f2a22f4 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/beam_cuffs.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Beam Cuffs", + "translation_key": "item.tiedup.beam_cuffs", + "model": "tiedup:models/gltf/v2/binds/beam_cuffs.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "chain" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/beam_panel_gag.json b/src/main/resources/data/tiedup/tiedup_items/beam_panel_gag.json new file mode 100644 index 0000000..f6a79ca --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/beam_panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Beam Panel Gag", + "translation_key": "item.tiedup.beam_panel_gag", + "model": "tiedup:models/gltf/v2/gags/beam_panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/bite_gag.json b/src/main/resources/data/tiedup/tiedup_items/bite_gag.json new file mode 100644 index 0000000..aabe80e --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/bite_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Bite Gag", + "translation_key": "item.tiedup.bite_gag", + "model": "tiedup:models/gltf/v2/gags/bite_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "bite" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/blindfold_mask.json b/src/main/resources/data/tiedup/tiedup_items/blindfold_mask.json new file mode 100644 index 0000000..fd167aa --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/blindfold_mask.json @@ -0,0 +1,26 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Blindfold Mask", + "translation_key": "item.tiedup.blindfold_mask", + "model": "tiedup:models/gltf/v2/blindfolds/blindfold_mask.glb", + "regions": [ + "EYES" + ], + "pose_priority": 5, + "escape_difficulty": 30, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/chain.json b/src/main/resources/data/tiedup/tiedup_items/chain.json new file mode 100644 index 0000000..1b65798 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/chain.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Chains", + "translation_key": "item.tiedup.chain", + "model": "tiedup:models/gltf/v2/binds/chain.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "chain" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/chain_panel_gag.json b/src/main/resources/data/tiedup/tiedup_items/chain_panel_gag.json new file mode 100644 index 0000000..f31fb74 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/chain_panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Chain Panel Gag", + "translation_key": "item.tiedup.chain_panel_gag", + "model": "tiedup:models/gltf/v2/gags/chain_panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/choke_collar.json b/src/main/resources/data/tiedup/tiedup_items/choke_collar.json new file mode 100644 index 0000000..6a9b9a9 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/choke_collar.json @@ -0,0 +1,25 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Choke Collar", + "translation_key": "item.tiedup.choke_collar", + "model": "tiedup:models/gltf/v2/collars/choke_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "choking": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/classic_blindfold.json b/src/main/resources/data/tiedup/tiedup_items/classic_blindfold.json new file mode 100644 index 0000000..2b79cff --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/classic_blindfold.json @@ -0,0 +1,26 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Blindfold", + "translation_key": "item.tiedup.classic_blindfold", + "model": "tiedup:models/gltf/v2/blindfolds/classic_blindfold.glb", + "regions": [ + "EYES" + ], + "pose_priority": 5, + "escape_difficulty": 30, + "lockable": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/classic_collar.json b/src/main/resources/data/tiedup/tiedup_items/classic_collar.json new file mode 100644 index 0000000..fcae2eb --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/classic_collar.json @@ -0,0 +1,24 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Classic Collar", + "translation_key": "item.tiedup.classic_collar", + "model": "tiedup:models/gltf/v2/collars/classic_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/classic_earplugs.json b/src/main/resources/data/tiedup/tiedup_items/classic_earplugs.json new file mode 100644 index 0000000..a9944b7 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/classic_earplugs.json @@ -0,0 +1,23 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Earplugs", + "translation_key": "item.tiedup.classic_earplugs", + "model": "tiedup:models/gltf/v2/earplugs/classic_earplugs.glb", + "regions": [ + "EARS" + ], + "pose_priority": 5, + "escape_difficulty": 20, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/cleave_gag.json b/src/main/resources/data/tiedup/tiedup_items/cleave_gag.json new file mode 100644 index 0000000..6032aff --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/cleave_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Cleave Gag", + "translation_key": "item.tiedup.cleave_gag", + "model": "tiedup:models/gltf/v2/gags/cleave_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/cloth_gag.json b/src/main/resources/data/tiedup/tiedup_items/cloth_gag.json new file mode 100644 index 0000000..dffcab7 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/cloth_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Cloth Gag", + "translation_key": "item.tiedup.cloth_gag", + "model": "tiedup:models/gltf/v2/gags/cloth_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/dogbinder.json b/src/main/resources/data/tiedup/tiedup_items/dogbinder.json new file mode 100644 index 0000000..871668f --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/dogbinder.json @@ -0,0 +1,32 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Dogbinder", + "translation_key": "item.tiedup.dogbinder", + "model": "tiedup:models/gltf/v2/binds/dogbinder.glb", + "regions": [ + "ARMS" + ], + "pose_type": "DOG", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + }, + "movement_style": "CRAWL" +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/duct_tape.json b/src/main/resources/data/tiedup/tiedup_items/duct_tape.json new file mode 100644 index 0000000..8d94ea8 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/duct_tape.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Duct Tape", + "translation_key": "item.tiedup.duct_tape", + "model": "tiedup:models/gltf/v2/binds/duct_tape.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "tape" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/gps_collar.json b/src/main/resources/data/tiedup/tiedup_items/gps_collar.json new file mode 100644 index 0000000..3b72630 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/gps_collar.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "GPS Collar", + "translation_key": "item.tiedup.gps_collar", + "model": "tiedup:models/gltf/v2/collars/gps_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "gps": { + "safe_zone_radius": 50 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/hood.json b/src/main/resources/data/tiedup/tiedup_items/hood.json new file mode 100644 index 0000000..5e97f35 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/hood.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Hood", + "translation_key": "item.tiedup.hood", + "model": "tiedup:models/gltf/v2/combos/hood.glb", + "regions": [ + "EYES" + ], + "blocked_regions": [ + "EYES", + "EARS" + ], + "pose_priority": 10, + "escape_difficulty": 40, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "blindfold" + }, + "blinding": {}, + "gagging": { + "material": "stuffed" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/latex_gag.json b/src/main/resources/data/tiedup/tiedup_items/latex_gag.json new file mode 100644 index 0000000..23c58ce --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/latex_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Latex Gag", + "translation_key": "item.tiedup.latex_gag", + "model": "tiedup:models/gltf/v2/gags/latex_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "latex" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/latex_sack.json b/src/main/resources/data/tiedup/tiedup_items/latex_sack.json new file mode 100644 index 0000000..fe9ed7a --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/latex_sack.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Latex Sack", + "translation_key": "item.tiedup.latex_sack", + "model": "tiedup:models/gltf/v2/binds/latex_sack.glb", + "regions": [ + "ARMS" + ], + "pose_type": "LATEX_SACK", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "latex_sack" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/leather_mittens.json b/src/main/resources/data/tiedup/tiedup_items/leather_mittens.json new file mode 100644 index 0000000..c82c6ea --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/leather_mittens.json @@ -0,0 +1,21 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Leather Mittens", + "translation_key": "item.tiedup.leather_mittens", + "model": "tiedup:models/gltf/v2/mittens/leather_mittens.glb", + "regions": [ + "HANDS" + ], + "pose_priority": 5, + "escape_difficulty": 20, + "lockable": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/leather_straps.json b/src/main/resources/data/tiedup/tiedup_items/leather_straps.json new file mode 100644 index 0000000..d1628a0 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/leather_straps.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Leather Straps", + "translation_key": "item.tiedup.leather_straps", + "model": "tiedup:models/gltf/v2/binds/leather_straps.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/medical_gag.json b/src/main/resources/data/tiedup/tiedup_items/medical_gag.json new file mode 100644 index 0000000..a1af652 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/medical_gag.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Medical Gag", + "translation_key": "item.tiedup.medical_gag", + "model": "tiedup:models/gltf/v2/combos/medical_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "blinding": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/medical_straps.json b/src/main/resources/data/tiedup/tiedup_items/medical_straps.json new file mode 100644 index 0000000..a520ff1 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/medical_straps.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Medical Straps", + "translation_key": "item.tiedup.medical_straps", + "model": "tiedup:models/gltf/v2/binds/medical_straps.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "armbinder" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/panel_gag.json b/src/main/resources/data/tiedup/tiedup_items/panel_gag.json new file mode 100644 index 0000000..12054f4 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/panel_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Panel Gag", + "translation_key": "item.tiedup.panel_gag", + "model": "tiedup:models/gltf/v2/gags/panel_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "panel" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ribbon.json b/src/main/resources/data/tiedup/tiedup_items/ribbon.json new file mode 100644 index 0000000..c8c0d99 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ribbon.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ribbon", + "translation_key": "item.tiedup.ribbon", + "model": "tiedup:models/gltf/v2/binds/ribbon.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "ribbon" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ribbon_gag.json b/src/main/resources/data/tiedup/tiedup_items/ribbon_gag.json new file mode 100644 index 0000000..544cc0b --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ribbon_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ribbon Gag", + "translation_key": "item.tiedup.ribbon_gag", + "model": "tiedup:models/gltf/v2/gags/ribbon_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ropes.json b/src/main/resources/data/tiedup/tiedup_items/ropes.json new file mode 100644 index 0000000..c02a543 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ropes.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Ropes", + "translation_key": "item.tiedup.ropes", + "model": "tiedup:models/gltf/v2/binds/ropes.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "rope" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/ropes_gag.json b/src/main/resources/data/tiedup/tiedup_items/ropes_gag.json new file mode 100644 index 0000000..ca3dcc1 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/ropes_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Rope Gag", + "translation_key": "item.tiedup.ropes_gag", + "model": "tiedup:models/gltf/v2/gags/ropes_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "cloth" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/shibari.json b/src/main/resources/data/tiedup/tiedup_items/shibari.json new file mode 100644 index 0000000..19a346a --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/shibari.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Shibari", + "translation_key": "item.tiedup.shibari", + "model": "tiedup:models/gltf/v2/binds/shibari.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": true, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "rope" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/shock_collar.json b/src/main/resources/data/tiedup/tiedup_items/shock_collar.json new file mode 100644 index 0000000..c5ff161 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/shock_collar.json @@ -0,0 +1,27 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Shock Collar", + "translation_key": "item.tiedup.shock_collar", + "model": "tiedup:models/gltf/v2/collars/shock_collar.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "shock": { + "damage": 2.0 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/shock_collar_auto.json b/src/main/resources/data/tiedup/tiedup_items/shock_collar_auto.json new file mode 100644 index 0000000..e988804 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/shock_collar_auto.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "regions": [ + "NECK" + ], + "pose_priority": 5, + "escape_difficulty": 80, + "lockable": true, + "animation_bones": { + "idle": [ + "body" + ] + }, + "display_name": "Auto Shock Collar", + "translation_key": "item.tiedup.shock_collar_auto", + "model": "tiedup:models/gltf/v2/collars/shock_collar_auto.glb", + "components": { + "ownership": {}, + "lockable": {}, + "resistance": { + "id": "collar" + }, + "shock": { + "damage": 2.0, + "auto_interval": 200 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/slime.json b/src/main/resources/data/tiedup/tiedup_items/slime.json new file mode 100644 index 0000000..9485645 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/slime.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Slime Bind", + "translation_key": "item.tiedup.slime", + "model": "tiedup:models/gltf/v2/binds/slime.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "slime" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/slime_gag.json b/src/main/resources/data/tiedup/tiedup_items/slime_gag.json new file mode 100644 index 0000000..79d3f1d --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/slime_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Slime Gag", + "translation_key": "item.tiedup.slime_gag", + "model": "tiedup:models/gltf/v2/gags/slime_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/sponge_gag.json b/src/main/resources/data/tiedup/tiedup_items/sponge_gag.json new file mode 100644 index 0000000..9e8ffb1 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/sponge_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Sponge Gag", + "translation_key": "item.tiedup.sponge_gag", + "model": "tiedup:models/gltf/v2/gags/sponge_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "sponge" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/straitjacket.json b/src/main/resources/data/tiedup/tiedup_items/straitjacket.json new file mode 100644 index 0000000..e790fe5 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/straitjacket.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Straitjacket", + "translation_key": "item.tiedup.straitjacket", + "model": "tiedup:models/gltf/v2/binds/straitjacket.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STRAITJACKET", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "straitjacket" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/tape_gag.json b/src/main/resources/data/tiedup/tiedup_items/tape_gag.json new file mode 100644 index 0000000..a68e176 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/tape_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Tape Gag", + "translation_key": "item.tiedup.tape_gag", + "model": "tiedup:models/gltf/v2/gags/tape_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": true, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "tape" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/test_component_gag.json b/src/main/resources/data/tiedup/tiedup_items/test_component_gag.json deleted file mode 100644 index b7adc12..0000000 --- a/src/main/resources/data/tiedup/tiedup_items/test_component_gag.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "type": "tiedup:bondage_item", - "display_name": "Component Test Gag", - "model": "tiedup:models/gltf/v2/handcuffs/cuffs_prototype.glb", - "regions": ["MOUTH"], - "pose_priority": 10, - "escape_difficulty": 3, - "lockable": true, - "animation_bones": { - "idle": [] - }, - "components": { - "lockable": { - "lock_resistance": 200 - }, - "resistance": { - "base": 80 - }, - "gagging": { - "comprehension": 0.15, - "range": 8.0 - } - } -} diff --git a/src/main/resources/data/tiedup/tiedup_items/test_handcuffs.json b/src/main/resources/data/tiedup/tiedup_items/test_handcuffs.json deleted file mode 100644 index 97c188c..0000000 --- a/src/main/resources/data/tiedup/tiedup_items/test_handcuffs.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "tiedup:bondage_item", - "display_name": "Data-Driven Handcuffs", - "model": "tiedup:models/gltf/v2/handcuffs/cuffs_prototype.glb", - "regions": ["ARMS"], - "pose_priority": 30, - "escape_difficulty": 100, - "lockable": true, - "icon": "tiedup:item/beam_cuffs", - "animation_bones": { - "idle": ["rightArm", "leftArm"], - "struggle": ["rightArm", "leftArm"] - } -} diff --git a/src/main/resources/data/tiedup/tiedup_items/tube_gag.json b/src/main/resources/data/tiedup/tiedup_items/tube_gag.json new file mode 100644 index 0000000..07c1c23 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/tube_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Tube Gag", + "translation_key": "item.tiedup.tube_gag", + "model": "tiedup:models/gltf/v2/gags/tube_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "ring" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/vine_gag.json b/src/main/resources/data/tiedup/tiedup_items/vine_gag.json new file mode 100644 index 0000000..837da78 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/vine_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Vine Gag", + "translation_key": "item.tiedup.vine_gag", + "model": "tiedup:models/gltf/v2/gags/vine_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/vine_seed.json b/src/main/resources/data/tiedup/tiedup_items/vine_seed.json new file mode 100644 index 0000000..96ce0f9 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/vine_seed.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Vine Bind", + "translation_key": "item.tiedup.vine_seed", + "model": "tiedup:models/gltf/v2/binds/vine_seed.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "vine" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/web_bind.json b/src/main/resources/data/tiedup/tiedup_items/web_bind.json new file mode 100644 index 0000000..b08ead1 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/web_bind.json @@ -0,0 +1,30 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Web Bind", + "translation_key": "item.tiedup.web_bind", + "model": "tiedup:models/gltf/v2/binds/web_bind.glb", + "regions": [ + "ARMS" + ], + "pose_type": "STANDARD", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "resistance": { + "id": "web" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/web_gag.json b/src/main/resources/data/tiedup/tiedup_items/web_gag.json new file mode 100644 index 0000000..69427e3 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/web_gag.json @@ -0,0 +1,28 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Web Gag", + "translation_key": "item.tiedup.web_gag", + "model": "tiedup:models/gltf/v2/gags/web_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": false, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/wrap.json b/src/main/resources/data/tiedup/tiedup_items/wrap.json new file mode 100644 index 0000000..813f485 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/wrap.json @@ -0,0 +1,31 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Wrap", + "translation_key": "item.tiedup.wrap", + "model": "tiedup:models/gltf/v2/binds/wrap.glb", + "regions": [ + "ARMS" + ], + "pose_type": "WRAP", + "pose_priority": 30, + "escape_difficulty": 100, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "rightArm", + "leftArm" + ], + "struggle": [ + "rightArm", + "leftArm" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "wrap" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tiedup/tiedup_items/wrap_gag.json b/src/main/resources/data/tiedup/tiedup_items/wrap_gag.json new file mode 100644 index 0000000..2d188e8 --- /dev/null +++ b/src/main/resources/data/tiedup/tiedup_items/wrap_gag.json @@ -0,0 +1,29 @@ +{ + "type": "tiedup:bondage_item", + "display_name": "Wrap Gag", + "translation_key": "item.tiedup.wrap_gag", + "model": "tiedup:models/gltf/v2/gags/wrap_gag.glb", + "regions": [ + "MOUTH" + ], + "pose_priority": 10, + "escape_difficulty": 50, + "lockable": true, + "can_attach_padlock": true, + "supports_color": false, + "animation_bones": { + "idle": [ + "head" + ] + }, + "components": { + "lockable": {}, + "resistance": { + "id": "gag" + }, + "gagging": { + "material": "stuffed" + }, + "adjustable": {} + } +} \ No newline at end of file From 530b86a9a72ffefa3c79b7fc9d33e70520430ac2 Mon Sep 17 00:00:00 2001 From: NotEvil Date: Tue, 14 Apr 2026 17:59:27 +0200 Subject: [PATCH 3/3] fix(D-01/B): hood missing MOUTH block + organic items lockable:false MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hood: add MOUTH to blocked_regions — prevents double gag stacking - 8 organic items (slime, vine, web, tape): set lockable:false at top level for consistency with can_attach_padlock:false --- src/main/resources/assets/tiedup/tiedup_items/duct_tape.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/hood.json | 3 ++- src/main/resources/assets/tiedup/tiedup_items/slime.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/slime_gag.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/tape_gag.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/vine_gag.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/vine_seed.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/web_bind.json | 2 +- src/main/resources/assets/tiedup/tiedup_items/web_gag.json | 2 +- src/main/resources/data/tiedup/tiedup_items/duct_tape.json | 2 +- src/main/resources/data/tiedup/tiedup_items/hood.json | 3 ++- src/main/resources/data/tiedup/tiedup_items/slime.json | 2 +- src/main/resources/data/tiedup/tiedup_items/slime_gag.json | 2 +- src/main/resources/data/tiedup/tiedup_items/tape_gag.json | 2 +- src/main/resources/data/tiedup/tiedup_items/vine_gag.json | 2 +- src/main/resources/data/tiedup/tiedup_items/vine_seed.json | 2 +- src/main/resources/data/tiedup/tiedup_items/web_bind.json | 2 +- src/main/resources/data/tiedup/tiedup_items/web_gag.json | 2 +- 18 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json b/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json index 8d94ea8..2542047 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json +++ b/src/main/resources/assets/tiedup/tiedup_items/duct_tape.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": true, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/hood.json b/src/main/resources/assets/tiedup/tiedup_items/hood.json index 5e97f35..a07b239 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/hood.json +++ b/src/main/resources/assets/tiedup/tiedup_items/hood.json @@ -8,7 +8,8 @@ ], "blocked_regions": [ "EYES", - "EARS" + "EARS", + "MOUTH" ], "pose_priority": 10, "escape_difficulty": 40, diff --git a/src/main/resources/assets/tiedup/tiedup_items/slime.json b/src/main/resources/assets/tiedup/tiedup_items/slime.json index 9485645..b2f02fa 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/slime.json +++ b/src/main/resources/assets/tiedup/tiedup_items/slime.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json b/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json index 79d3f1d..b33a8ae 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json +++ b/src/main/resources/assets/tiedup/tiedup_items/slime_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json b/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json index a68e176..b475ad0 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json +++ b/src/main/resources/assets/tiedup/tiedup_items/tape_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": true, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json b/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json index 837da78..6076659 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json +++ b/src/main/resources/assets/tiedup/tiedup_items/vine_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json b/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json index 96ce0f9..e54de28 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json +++ b/src/main/resources/assets/tiedup/tiedup_items/vine_seed.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/web_bind.json b/src/main/resources/assets/tiedup/tiedup_items/web_bind.json index b08ead1..6e28b72 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/web_bind.json +++ b/src/main/resources/assets/tiedup/tiedup_items/web_bind.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/assets/tiedup/tiedup_items/web_gag.json b/src/main/resources/assets/tiedup/tiedup_items/web_gag.json index 69427e3..ef3323a 100644 --- a/src/main/resources/assets/tiedup/tiedup_items/web_gag.json +++ b/src/main/resources/assets/tiedup/tiedup_items/web_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/duct_tape.json b/src/main/resources/data/tiedup/tiedup_items/duct_tape.json index 8d94ea8..2542047 100644 --- a/src/main/resources/data/tiedup/tiedup_items/duct_tape.json +++ b/src/main/resources/data/tiedup/tiedup_items/duct_tape.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": true, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/hood.json b/src/main/resources/data/tiedup/tiedup_items/hood.json index 5e97f35..a07b239 100644 --- a/src/main/resources/data/tiedup/tiedup_items/hood.json +++ b/src/main/resources/data/tiedup/tiedup_items/hood.json @@ -8,7 +8,8 @@ ], "blocked_regions": [ "EYES", - "EARS" + "EARS", + "MOUTH" ], "pose_priority": 10, "escape_difficulty": 40, diff --git a/src/main/resources/data/tiedup/tiedup_items/slime.json b/src/main/resources/data/tiedup/tiedup_items/slime.json index 9485645..b2f02fa 100644 --- a/src/main/resources/data/tiedup/tiedup_items/slime.json +++ b/src/main/resources/data/tiedup/tiedup_items/slime.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/slime_gag.json b/src/main/resources/data/tiedup/tiedup_items/slime_gag.json index 79d3f1d..b33a8ae 100644 --- a/src/main/resources/data/tiedup/tiedup_items/slime_gag.json +++ b/src/main/resources/data/tiedup/tiedup_items/slime_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/tape_gag.json b/src/main/resources/data/tiedup/tiedup_items/tape_gag.json index a68e176..b475ad0 100644 --- a/src/main/resources/data/tiedup/tiedup_items/tape_gag.json +++ b/src/main/resources/data/tiedup/tiedup_items/tape_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": true, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/vine_gag.json b/src/main/resources/data/tiedup/tiedup_items/vine_gag.json index 837da78..6076659 100644 --- a/src/main/resources/data/tiedup/tiedup_items/vine_gag.json +++ b/src/main/resources/data/tiedup/tiedup_items/vine_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/vine_seed.json b/src/main/resources/data/tiedup/tiedup_items/vine_seed.json index 96ce0f9..e54de28 100644 --- a/src/main/resources/data/tiedup/tiedup_items/vine_seed.json +++ b/src/main/resources/data/tiedup/tiedup_items/vine_seed.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/web_bind.json b/src/main/resources/data/tiedup/tiedup_items/web_bind.json index b08ead1..6e28b72 100644 --- a/src/main/resources/data/tiedup/tiedup_items/web_bind.json +++ b/src/main/resources/data/tiedup/tiedup_items/web_bind.json @@ -9,7 +9,7 @@ "pose_type": "STANDARD", "pose_priority": 30, "escape_difficulty": 100, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": { diff --git a/src/main/resources/data/tiedup/tiedup_items/web_gag.json b/src/main/resources/data/tiedup/tiedup_items/web_gag.json index 69427e3..ef3323a 100644 --- a/src/main/resources/data/tiedup/tiedup_items/web_gag.json +++ b/src/main/resources/data/tiedup/tiedup_items/web_gag.json @@ -8,7 +8,7 @@ ], "pose_priority": 10, "escape_difficulty": 50, - "lockable": true, + "lockable": false, "can_attach_padlock": false, "supports_color": false, "animation_bones": {