Micah Holmes Posted December 11, 2025 Report Posted December 11, 2025 I made a few new shield shapes/items recently and I have one that is not appearing in the GUI or on screen. I vaguely remember there was a way to adjust position of items in game but i don't remember how. Item Model: In game: Item code; { code: "shield", class: "ItemShield", storageFlags: 257, attributes: { shield: { blockSoundLightByType: { "*": "held/shieldblock-wood-light" }, blockSoundHeavyByType: { "*": "held/shieldblock-wood-heavy" }, protectionChance: { "passive-projectile": 0.2, "active-projectile": 1, "passive": 0.2, "active": 0.9 }, projectileDamageAbsorptionByType: { "*": 3 }, damageAbsorptionByType: { "*": 3 } }, handbook: { groupBy: ["shield-*"] }, rackable: true, toolrackTransformByType: { "shield-scutum": { translation: { x: 0.3, y: -0.62, z: 0.8 }, rotation: { x: 91, y: -6, z: 0 }, scale: 1.5 }, "*": { translation: { x: 0.3, y: -0.62, z: -0.625 }, rotation: { x: 91, y: -6, z: -90 }, scale: 1.5 } }, moldrackable: true, onmoldrackTransformByType: { "shield-scutum": { translation: { x: 0.82, y: 0.5, z: -0.45 }, rotation: { x: -90, y: 82, z: 90 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.2 }, "*": { translation: { x: 0.74, y: 0.5, z: -0.4 }, rotation: { x: -90, y: 82, z: 90 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.01 } }, groundStorageTransformByType: { "shield-scutum": { translation: { x: -0.5, y: -0.2, z: -0.2 }, rotation: { x: 21, y: 168, z: -81 }, scale: 1 }, "*": { translation: { x: -0.42, y: -0.45, z: -0.105 }, rotation: { x: 21, y: 179, z: -90 }, scale: 1 } }, // Note: variantgroups inside attributes. Used to generate all variants for the creative inventory dynamically, and for valid recipe checking variantGroups: { "metal": [ "silver" ], "wood": ["aged" ], "color": [ "purple"], "deco": ["none" ] }, durabilityGains: { "wood": { "aged": -200, "ebony": 30, "purpleheart": 20, "oak": 15 } }, attachableToEntity: { categoryCode: "shield", texturePrefixCode: "shield", attachedShapeByType: { "shield-scutum": { base: "shields/scutum3" }, "*": { base: "shields/scutum3" } } }, allowedVariants: [ { construction: "woodmetal", wood: "*", metal: "*", color: "*", deco: "none" }, { construction: "woodmetalleather", wood: "*", metal: "*", color: "*", deco: "none" }, { construction: "metal", wood: null, metal: "*", color: "*", deco: "none" }, { construction: "woodmetal", wood: "*", metal: "*", color: "*", deco: "ornate" }, { construction: "woodmetalleather", wood: "*", metal: "*", color: "*", deco: "ornate" }, { construction: "metal", wood: null, metal: "*", color: "*", deco: "ornate" }, ] }, behaviors: [{ name: "GroundStorable", properties: { layout: 'WallHalves', wallOffY: 1, ctrlKey: true, selectionBox: { x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.1, z2: 1 }, collisionBox: { x1: 0, y1: 0, z1: 0, x2: 0, y2: 0, z2: 0 }, } }], variantgroups: [ { code: "construction", states: [ "scutum" ] } ], creativeinventory: { "general": ["shield-scutum"], "items": ["shield-scutum"], "tools": ["shield-scutum"] }, shapeByType: { "shield-scutum": { base: "shields/scutum3" }, "*": { base: "shields/scutum3" } }, textures: { "wood": { "base": "stain/oak-4" }, "trim1": { "base": "debarked/pine" }, "trim2": { "base": "debarked/pine" } }, durabilitybytype: { "shield-scutum": 80 }, fpHandTransformByType: { "shield-scutum": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 9, y: 154, z: 86 }, origin: { x: 0.2, y: 0, z: 0.23 }, scale: 5.38 }, "*": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 10, y: 149, z: 90 }, origin: { x: 0, y: -0.1, z: 0.3 }, scale: 5.38 } }, guiTransformByType: { "shield-scutum": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 34, y: 32, z: -163 }, origin: { x: 0.28, y: -0.28, z: 0.47 }, scale: 1.8 }, "*": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 34, y: 32, z: -163 }, origin: { x: 0.21, y: -0.21, z: 0.49 }, scale: 1.8 } }, groundTransform: { translation: { x: 0, y: 0.37, z: 0 }, rotation: { x: -93, y: 0, z: 0 }, origin: { x: 0.5, y: 0, z: 0.43 }, scale: 5 }, tpHandTransformByType: { "shield-scutum": { translation: { x: -0.93, y: 0.04, z: -0.92 }, rotation: { x: 0, y: 1, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 }, "*": { translation: { x: -0.98, y: 0, z: -0.85 }, rotation: { x: -4, y: 4, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 } }, tpOffHandTransformByType: { "shield-scutum": { translation: { x: -0.12, y: 0.05, z: -0.078 }, rotation: { x: 0, y: 180, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 }, "*": { translation: { x: -0.13, y: 0.01, z: -0.01 }, rotation: { x: -4, y: 173, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 } } } Pretty sure here is my code area that needs adjusted: fpHandTransformByType: { "shield-scutum": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 9, y: 154, z: 86 }, origin: { x: 0.2, y: 0, z: 0.23 }, scale: 5.38 }, "*": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 10, y: 149, z: 90 }, origin: { x: 0, y: -0.1, z: 0.3 }, scale: 5.38 } }, guiTransformByType: { "shield-scutum": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 34, y: 32, z: -163 }, origin: { x: 0.28, y: -0.28, z: 0.47 }, scale: 1.8 }, "*": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 34, y: 32, z: -163 }, origin: { x: 0.21, y: -0.21, z: 0.49 }, scale: 1.8 } }, groundTransform: { translation: { x: 0, y: 0.37, z: 0 }, rotation: { x: -93, y: 0, z: 0 }, origin: { x: 0.5, y: 0, z: 0.43 }, scale: 5 }, tpHandTransformByType: { "shield-scutum": { translation: { x: -0.93, y: 0.04, z: -0.92 }, rotation: { x: 0, y: 1, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 }, "*": { translation: { x: -0.98, y: 0, z: -0.85 }, rotation: { x: -4, y: 4, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 } }, tpOffHandTransformByType: { "shield-scutum": { translation: { x: -0.12, y: 0.05, z: -0.078 }, rotation: { x: 0, y: 180, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 }, "*": { translation: { x: -0.13, y: 0.01, z: -0.01 }, rotation: { x: -4, y: 173, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1 } } }
The Insanity God Posted December 11, 2025 Report Posted December 11, 2025 the command you are thinking of is ".tfedit" (used while holding the item to bring up an interface for live editing these position transforms)
Micah Holmes Posted December 11, 2025 Author Report Posted December 11, 2025 @The Insanity God Just tested it again, it appears to not want to render? I have the object but its not rendering on screen? I'm little confused how to solve that issue. Is my problem with the shape? { "editor": { "collapsedPaths": "Root/Center/bend3,Root/Center/bend4", "allAngles": false, "entityTextureMode": false }, "textureWidth": 16, "textureHeight": 16, "textureSizes": { }, "textures": { "wood": "stain/kapok-4", "trim1": "debarked/purpleheart", "trim2": "debarked/purpleheart" }, "elements": [ { "name": "Center", "from": [ 0.0, -4.0, 4.0 ], "to": [ 3.0, 4.0, 5.0 ], "rotationOrigin": [ 0.0, -4.0, 4.0 ], "faces": { "north": { "texture": "#wood", "uv": [ 0.0, 0.0, 3.0, 8.0 ] }, "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "south": { "texture": "#wood", "uv": [ 0.0, 0.0, 3.0, 8.0 ] }, "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "up": { "texture": "#wood", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }, "down": { "texture": "#wood", "uv": [ 0.0, 0.0, 3.0, 1.0 ] } }, "children": [ { "name": "bend1", "from": [ 0.79, 0.0, -1.9 ], "to": [ 1.79, 8.0, -0.9 ], "rotationOrigin": [ 0.0, 0.0, -1.0 ], "rotationY": -112.5, "faces": { "north": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "south": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "up": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "down": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } }, "children": [ { "name": "Plate2", "from": [ 1.0, 0.0, 0.0 ], "to": [ 1.2, 1.0, 1.0 ], "rotationOrigin": [ 1.0, 0.0, 0.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] } } }, { "name": "Plate1", "from": [ 1.0, 7.0, 0.0 ], "to": [ 1.2, 8.0, 1.0 ], "rotationOrigin": [ 1.0, 7.0, 0.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] } } } ] }, { "name": "bend2", "from": [ 0.656, 0.0, -1.7 ], "to": [ 1.656, 8.0, -0.7 ], "rotationOrigin": [ 0.0, 0.0, -1.0 ], "rotationY": -135.0, "faces": { "north": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "south": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "up": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "down": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } }, "children": [ { "name": "Plate6", "from": [ 1.0, 0.0, 0.0 ], "to": [ 1.2, 1.0, 1.0 ], "rotationOrigin": [ 1.0, 0.0, 0.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] } } }, { "name": "Plate7", "from": [ 1.0, 7.0, 0.0 ], "to": [ 1.2, 8.0, 1.0 ], "rotationOrigin": [ 1.0, 7.0, 0.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] } } } ] }, { "name": "bend3", "from": [ 2.6, 0.0, -0.1 ], "to": [ 3.6, 8.0, 0.9 ], "rotationOrigin": [ 3.0, 0.0, 0.0 ], "rotationY": 22.5, "faces": { "north": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "south": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "up": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "down": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } }, "children": [ { "name": "Plate", "from": [ 0.0, 0.0, 1.0 ], "to": [ 1.0, 1.0, 1.2 ], "rotationOrigin": [ 0.0, 0.0, 1.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] } } }, { "name": "Plate3", "from": [ 0.0, 7.0, 1.0 ], "to": [ 1.0, 8.0, 1.2 ], "rotationOrigin": [ 0.0, 7.0, 1.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] } } } ] }, { "name": "bend4", "from": [ 3.4, 0.0, -0.7 ], "to": [ 4.4, 8.0, 0.3 ], "rotationOrigin": [ 4.0, 0.0, 0.0 ], "rotationY": 45.0, "faces": { "north": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "south": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 8.0 ] }, "up": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "down": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 1.0 ] } }, "children": [ { "name": "Plate4", "from": [ 0.0, 0.0, 1.0 ], "to": [ 1.0, 1.0, 1.2 ], "rotationOrigin": [ 0.0, 0.0, 1.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] } } }, { "name": "Plate5", "from": [ 0.0, 7.0, 1.0 ], "to": [ 1.0, 8.0, 1.2 ], "rotationOrigin": [ 0.0, 7.0, 1.0 ], "faces": { "north": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "east": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 1.0 ] }, "west": { "texture": "#trim1", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] }, "down": { "texture": "#trim1", "uv": [ 0.0, 0.0, 1.0, 0.5 ] } } } ] } ] }, { "name": "PlateTop", "from": [ 0.0, 3.0, 5.0 ], "to": [ 3.0, 4.0, 5.2 ], "rotationOrigin": [ 0.0, 3.0, 5.0 ], "faces": { "north": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }, "east": { "texture": "#trim2", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }, "west": { "texture": "#trim2", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, "down": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 0.5 ] } } }, { "name": "PlateTop2", "from": [ 0.0, -4.0, 5.0 ], "to": [ 3.0, -3.0, 5.2 ], "rotationOrigin": [ 0.0, -4.0, 5.0 ], "faces": { "north": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }, "east": { "texture": "#trim2", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "south": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 1.0 ] }, "west": { "texture": "#trim2", "uv": [ 0.0, 0.0, 0.5, 1.0 ] }, "up": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, "down": { "texture": "#trim2", "uv": [ 0.0, 0.0, 3.0, 0.5 ] } } } ]}
Solution The Insanity God Posted December 11, 2025 Solution Report Posted December 11, 2025 No the shape is fine, from the looks of it `ItemShield` has a lot of logic for rendering shields through attributes. The "construction" variant group states are used in a hard coded ways so a lot of the logic in `ItemShield` is not working because your item does not have one of the expected [ "crude", "woodmetal", "woodmetalleather", "metal", "blackguard" ] states variantgroups: [ { code: "construction", states: [ "scutum" ] } ], Relevant code: https://github.com/anegostudios/vssurvivalmod/blob/84c80e85f36e31d3b6454021da0fbbba4cba71a3/Item/ItemShield.cs#L53
Micah Holmes Posted December 11, 2025 Author Report Posted December 11, 2025 @The Insanity God you would be 100% correct. So unless I use one of those names it will not render the shield/object. Also found out no matter what I do in my Lang file, it forces the "Crude" sheild name for example: "item-shield-wscutum-crude-*": "Wooden scutum shield", Here is my item code: { code: "shield-wscutum", class: "ItemShield", storageFlags: 257, attributes: { shield: { blockSoundLightByType: { "*": "held/shieldblock-wood-light" }, blockSoundHeavyByType: { "*": "held/shieldblock-wood-heavy" }, protectionChanceByType: { "*-apprentice": { "passive-projectile": 0.1, "active-projectile": 0.9, "passive": 0.1, "active": 0.8 }, "*-journeyman": { "passive-projectile": 0.15, "active-projectile": 0.9, "passive": 0.15, "active": 0.85 }, "*-artisan": { "passive-projectile": 0.2, "active-projectile": 0.95, "passive": 0.2, "active": 0.9 }, "*-master": { "passive-projectile": 0.2, "active-projectile": 1, "passive": 0.2, "active": 0.95 }, "*-grandmaster": { "passive-projectile": 0.3, "active-projectile": 1, "passive": 0.3, "active": 0.98 } }, projectileDamageAbsorptionByType: { "*-apprentice": 1, "*-journeyman": 1.5, "*-artisan*": 2, "*-master": 3, "*-grandmaster": 4 }, damageAbsorptionByType: { "*-apprentice": 1, "*-journeyman": 1.5, "*-artisan*": 2, "*-master": 3, "*-grandmaster": 4 } }, handbook: { groupBy: ["shield-*"] }, rackable: true, toolrackTransformByType: { "shield-wscutum-*": { translation: { x: 0.3, y: -0.62, z: 0.8 }, rotation: { x: 91, y: -6, z: 0 }, scale: 1.5 } }, moldrackable: false, onmoldrackTransformByType: { "shield-wscutum-*": { translation: { x: 0.82, y: 0.5, z: -0.45 }, rotation: { x: -90, y: 82, z: 90 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.2 } }, groundStorageTransformByType: { "shield-wscutum-*": { translation: { x: -0.5, y: -0.2, z: -0.2 }, rotation: { x: 21, y: 168, z: -81 }, scale: 1 } }, durabilityGains: { "wood": { "aged": -200, "ebony": 30, "purpleheart": 20, "oak": 15 } }, attachableToEntity: { categoryCode: "shield", texturePrefixCode: "shield", attachedShapeByType: { "shield-wscutum-*": { base: "shields/scutum" } } } }, behaviors: [{ name: "GroundStorable", properties: { layout: 'WallHalves', wallOffY: 1, ctrlKey: true, selectionBox: { x1: 0, y1: 0, z1: 0, x2: 1, y2: 0.1, z2: 1 }, collisionBox: { x1: 0, y1: 0, z1: 0, x2: 0, y2: 0, z2: 0 }, } }], variantgroups: [ { code: "construction", states: [ "crude" ] }, { code: "type", states: ["apprentice", "journeyman", "artisan", "master", "grandmaster" ] } ], creativeinventory: { "general": ["shield-wscutum-*"], "items": ["shield-wscutum-*"], "tools": ["shield-wscutum-*"] }, shapeByType: { "shield-wscutum-*": { base: "shields/scutum" } }, durabilitybytype: { "*-apprentice": 80, "*-journeyman": 150, "*-artisan*": 250, "*-master": 300, "*-grandmaster": 400 }, fpHandTransformByType: { "shield-wscutum-*": { translation: { x: -0.86, y: 0.04, z: -0.8 }, rotation: { x: 0, y: 1, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.2 } }, guiTransformByType: { "shield-wscutum-*": { translation: { x: 0, y: 0, z: 0 }, rotation: { x: 34, y: 32, z: -166 }, origin: { x: 0.28, y: -0.28, z: 0.47 }, scale: 1.96 } }, groundTransform: { translation: { x: 0, y: 0.37, z: 0 }, rotation: { x: -93, y: 0, z: 0 }, origin: { x: 0.5, y: 0, z: 0.43 }, scale: 5 }, tpHandTransformByType: { "shield-wscutum-*": { translation: { x: -0.86, y: 0.04, z: -0.8 }, rotation: { x: 0, y: 1, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.2 } }, tpOffHandTransformByType: { "shield-wscutum-*": { translation: { x: 0, y: 0.2, z: -0.078 }, rotation: { x: 0, y: 180, z: 0 }, origin: { x: 0.5, y: 0, z: 0.5 }, scale: 1.2 } } } Every shield I made is "crude shield". they hard coded this object. I hope they plan to fix that in the future since the game is mod based.
The Insanity God Posted December 11, 2025 Report Posted December 11, 2025 (edited) Well I mean it's not really a limitation for code mods, but yeah still quite a lot of this stuff that needs to be refactored to be less hard coded. Edited December 11, 2025 by The Insanity God 1
Micah Holmes Posted December 11, 2025 Author Report Posted December 11, 2025 Well for now it's too much work for me to refactor it. If I was going to build a dll and all that jazz, id build logic for a well. Unfortunately my mod pack won't have additional shields sade face. Lol anyway thank you @The Insanity God for helping. Really appreciate it.
Recommended Posts