First Machine Age's Mods (Combined repo.)
Revisión | a6c48519f7f1fe961c94dd5e22025468cf8fe8ba (tree) |
---|---|
Tiempo | 2020-10-30 10:13:48 |
Autor | melchior <melchior@user...> |
Commiter | melchior |
W.I.P. False wall, Boltable Door changes
@@ -77,6 +77,7 @@ | ||
77 | 77 | <Compile Include="BlockBehaviors\BlockBehaviorVerticalOrientation.cs" /> |
78 | 78 | <Compile Include="BlockClasses\CollapsingBlock.cs" /> |
79 | 79 | <Compile Include="BlockEntityClasses\CollapsingBlockEntity.cs" /> |
80 | + <Compile Include="BlockClasses\FalseWall.cs" /> | |
80 | 81 | </ItemGroup> |
81 | 82 | <ItemGroup> |
82 | 83 | <Folder Include="BlockClasses\" /> |
@@ -171,6 +172,15 @@ | ||
171 | 172 | <None Include="assets\defensive\recipes\grid\false_floor.json"> |
172 | 173 | <CopyToOutputDirectory>Always</CopyToOutputDirectory> |
173 | 174 | </None> |
175 | + <None Include="assets\defensive\shapes\block\stone\false_wall_lower.json"> | |
176 | + <CopyToOutputDirectory>Always</CopyToOutputDirectory> | |
177 | + </None> | |
178 | + <None Include="assets\defensive\blocktypes\stone\false_wall.json"> | |
179 | + <CopyToOutputDirectory>Always</CopyToOutputDirectory> | |
180 | + </None> | |
181 | + <None Include="assets\defensive\shapes\block\stone\false_wall_upper.json"> | |
182 | + <CopyToOutputDirectory>Always</CopyToOutputDirectory> | |
183 | + </None> | |
174 | 184 | </ItemGroup> |
175 | 185 | <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
176 | 186 | </Project> |
\ No newline at end of file |
@@ -62,6 +62,7 @@ namespace FirstMachineAge | ||
62 | 62 | private void RegisterBlockClasses( ) |
63 | 63 | { |
64 | 64 | CoreAPI.RegisterBlockClass("BoltableDoor", typeof(BoltableDoor)); |
65 | + CoreAPI.RegisterBlockClass("FalseWall", typeof(FalseWall)); | |
65 | 66 | CoreAPI.RegisterBlockEntityClass(BoltableDoorEntityNameKey, typeof(BoltableDoorBlockEntity)); |
66 | 67 | |
67 | 68 | CoreAPI.RegisterBlockClass("CollapsingBlock", typeof(CollapsingBlock)); |
@@ -12,6 +12,8 @@ namespace FirstMachineAge | ||
12 | 12 | { |
13 | 13 | public class BoltableDoor : BlockBaseDoor |
14 | 14 | { |
15 | + private const string HideTooltipKey = @"HideTooltip";//Only, When closed! | |
16 | + | |
15 | 17 | public BoltableDoor( ) |
16 | 18 | { |
17 | 19 |
@@ -155,7 +157,12 @@ namespace FirstMachineAge | ||
155 | 157 | } |
156 | 158 | |
157 | 159 | public bool IsOpen { |
158 | - get { return this.Variant["state"] == "opened"; }//state: ["closed", "opened"] | |
160 | + get { return IsOpened( ); }//state: ["closed", "opened"] | |
161 | + } | |
162 | + | |
163 | + public bool HideTooltip { | |
164 | + get | |
165 | + { return this.Attributes[HideTooltipKey].AsBool( );} | |
159 | 166 | } |
160 | 167 | |
161 | 168 | public override bool IsOpened() |
@@ -0,0 +1,46 @@ | ||
1 | +using System; | |
2 | + | |
3 | +using Vintagestory.API.Common; | |
4 | +using Vintagestory.API.Config; | |
5 | +using Vintagestory.API.MathTools; | |
6 | + | |
7 | +namespace FirstMachineAge | |
8 | +{ | |
9 | + public class FalseWall : BoltableDoor | |
10 | + { | |
11 | + public FalseWall( ) | |
12 | + { | |
13 | + | |
14 | + } | |
15 | + | |
16 | + public override string GetPlacedBlockName(IWorldAccessor world, BlockPos pos) | |
17 | + { | |
18 | + if (this.IsOpen) { | |
19 | + if (!String.IsNullOrEmpty(this.Material)) { | |
20 | + return Lang.Get("FMA:block-false_wall-open"); | |
21 | + } | |
22 | + } | |
23 | + else { | |
24 | + if (!String.IsNullOrEmpty(this.Material)) { | |
25 | + return Lang.Get(GlobalConstants.DefaultDomain + $":block-stonebricks-{this.Material}"); | |
26 | + } | |
27 | + } | |
28 | + | |
29 | + return @"Error?"; | |
30 | + } | |
31 | + | |
32 | + | |
33 | + private string Material { | |
34 | + /* | |
35 | + { code: "cover", states: [ "sand","gravel" ] }, | |
36 | + { code: "material", loadFromProperties: "block/rock", combine: "SelectiveMultiply", onVariant: "cover" }, | |
37 | + { code: "alt_cover", states: [ "soil" ], combine: "Add" }, | |
38 | + */ | |
39 | + get | |
40 | + { | |
41 | + return this.Variant[@"material"]; | |
42 | + } | |
43 | + } | |
44 | + } | |
45 | +} | |
46 | + |
@@ -22,7 +22,9 @@ namespace FirstMachineAge | ||
22 | 22 | |
23 | 23 | } |
24 | 24 | |
25 | - | |
25 | + public BoltableDoor DoorBlock { | |
26 | + get { return this.Block as BoltableDoor; } | |
27 | + } | |
26 | 28 | |
27 | 29 | public override void FromTreeAtributes(ITreeAttribute tree, IWorldAccessor worldAccessForResolve) |
28 | 30 | { |
@@ -41,8 +43,15 @@ namespace FirstMachineAge | ||
41 | 43 | public override void GetBlockInfo(IPlayer forPlayer, StringBuilder dsc) |
42 | 44 | { |
43 | 45 | base.GetBlockInfo(forPlayer, dsc); |
44 | - BoltableDoorBlockEntity realEntity = (this.Block as BoltableDoor).Entity(this.Pos.Copy( )); | |
45 | - if (realEntity != null) dsc.AppendLine($"Bolted: {(realEntity.Bolted?"<font color='red'>Yes</font>":"No")}"); | |
46 | + | |
47 | + if (DoorBlock.IsOpen == false ) | |
48 | + { | |
49 | + if (forPlayer.CurrentBlockSelection.Face != DoorBlock.GetDirection( ) ) | |
50 | + { | |
51 | + //BoltableDoorBlockEntity realEntity = DoorBlock.Entity(this.Pos.Copy( )); | |
52 | + dsc.AppendLine($"Bolted: {(this.Bolted ? "<font color='red'>Yes</font>" : "No")}"); | |
53 | + } | |
54 | + } | |
46 | 55 | } |
47 | 56 | } |
48 | 57 | } |
@@ -0,0 +1,126 @@ | ||
1 | +{ | |
2 | + code: "false_wall", | |
3 | + class: "FalseWall", | |
4 | + renderpass: "OpaqueNoCull", | |
5 | + entityClassByType: { | |
6 | + "*-down-*": null, | |
7 | + "*-up-*": "BoltableDoorEntity", | |
8 | + }, | |
9 | + heldTpIdleAnimation: "holdunderarm", | |
10 | + attributes: { | |
11 | + handbook: { | |
12 | + groupBy: ["false_wall-*"] | |
13 | + }, | |
14 | + }, | |
15 | + variantgroups: [ | |
16 | + { loadFromProperties: "abstract/horizontalorientation" }, | |
17 | + { code: "part", states: ["down", "up"] }, | |
18 | + { code: "state", states: ["closed", "opened"] }, | |
19 | + { code: "material", loadFromProperties: "block/rock" }, | |
20 | + ], | |
21 | + creativeinventory: { "general": ["false_wall-north-down-closed-*"], "decorative": ["false_wall-north-down-closed-*"] }, | |
22 | + textures: { | |
23 | + "stone": { base: "game:block/stone/brick/{material}1" }, | |
24 | + "wood": { base: "game:block/wood/planks/oak1" }, | |
25 | + }, | |
26 | + shapeinventory: { base: "block/wood/heavydoor_inv" }, | |
27 | + shapebytype: { | |
28 | + "*-north-down-closed-*": { base: "block/stone/false_wall_lower", rotateY: 0 }, | |
29 | + "*-north-up-closed-*": { base: "block/stone/false_wall_upper", rotateY: 0 }, | |
30 | + "*-north-down-opened-*": { base: "block/stone/false_wall_lower" , rotateY: -90, offsetX: -0.80 }, | |
31 | + "*-north-up-opened-*": { base: "block/stone/false_wall_upper", rotateY: -90, offsetX: -0.80 }, | |
32 | + | |
33 | + "*-east-down-closed-*": { base:"block/stone/false_wall_lower", rotateY: 90 }, | |
34 | + "*-east-up-closed-*": { base: "block/stone/false_wall_upper", rotateY: 90 }, | |
35 | + "*-east-down-opened-*": { base: "block/stone/false_wall_lower", rotateY: 180, offsetX: -0.80 }, | |
36 | + "*-east-up-opened-*": { base: "block/stone/false_wall_upper", rotateY: 180, offsetX: -0.80 }, | |
37 | + | |
38 | + "*-south-down-closed-*": { base: "block/stone/false_wall_lower", rotateY: 180 }, | |
39 | + "*-south-up-closed-*": { base: "block/stone/false_wall_upper", rotateY:180 }, | |
40 | + "*-south-down-opened-*": { base: "block/stone/false_wall_lower", rotateY: 270, offsetX: -0.80 }, | |
41 | + "*-south-up-opened-*": { base: "block/stone/false_wall_upper", rotateY: 270, offsetX: -0.80 }, | |
42 | + | |
43 | + "*-west-down-closed-*": { base: "block/stone/false_wall_lower", rotateY: 270 }, | |
44 | + "*-west-up-closed-*": { base: "block/stone/false_wall_upper", rotateY: 270 }, | |
45 | + "*-west-down-opened-*": { base: "block/stone/false_wall_lower", rotateY: 0, offsetX: -0.80 }, | |
46 | + "*-west-up-opened-*": { base: "block/stone/false_wall_upper", rotateY: 0, offsetX: -0.80 }, | |
47 | + }, | |
48 | + blockmaterial: "Stone", | |
49 | + replaceable: 500, | |
50 | + resistance: 4.0, | |
51 | + lightAbsorption: 25, | |
52 | + sidesolid: { | |
53 | + all: false | |
54 | + }, | |
55 | + sideopaque: { | |
56 | + all: false | |
57 | + }, | |
58 | + guiTransform: { | |
59 | + origin: { x: 0.5, y: 1, z: 0.5 }, | |
60 | + scale: 0.75 | |
61 | + }, | |
62 | + fpHandTransform: { | |
63 | + translation: { x: -0.27, y: 0.18, z: 0.72 }, | |
64 | + rotation: { x: 120, y: 42, z: 0 }, | |
65 | + scale: 1.11 | |
66 | + }, | |
67 | + tpHandTransform: { | |
68 | + translation: { x: -1.1, y: -0.7, z: -0.6 }, | |
69 | + rotation: { x: 14, y: 0, z: 59 }, | |
70 | + scale: 0.6 | |
71 | + }, | |
72 | + groundTransform: { | |
73 | + rotation: { x: -90, y: 0, z: 0 }, | |
74 | + origin: { x: 0.5, y: 0, z: 0.44 }, | |
75 | + scale: 2.15 | |
76 | + }, | |
77 | + selectionboxesByType: { | |
78 | + "*-north-down-closed-*": [ | |
79 | + { x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.25 }, | |
80 | + ], | |
81 | + "*-north-up-closed-*": [ | |
82 | + { x1: 0, y1: 0, z1: 0, x2: 1, y2: 1, z2: 0.25 }, | |
83 | + { x1: 0.4, y1: 0.5, z1: 0, x2: 0.9, y2: 0.65, z2: 0.25 } | |
84 | + ], | |
85 | + "*-west-down-closed-*": [ | |
86 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 90}, | |
87 | + ], | |
88 | + "*-west-up-closed-*": [ | |
89 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 90}, | |
90 | + { x1: 0.05, y1: 0.225, z1: 0.67, x2: 0.4125, y2: 0.55, z2: 0.875 , rotateY: 90} | |
91 | + ], | |
92 | + "*-east-down-closed-*": [ | |
93 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 270}, | |
94 | + ], | |
95 | + "*-east-up-closed-*": [ | |
96 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 270}, | |
97 | + { x1: 0.05, y1: 0.225, z1: 0.67, x2: 0.4125, y2: 0.55, z2: 0.875, rotateY: 270} | |
98 | + ], | |
99 | + "*-south-down-closed-*": [ | |
100 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 180}, | |
101 | + ], | |
102 | + "*-south-up-closed-*": [ | |
103 | + { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1 , rotateY: 180}, | |
104 | + { x1: 0.05, y1: 0.225, z1: 0.67, x2: 0.4125, y2: 0.55, z2: 0.875 , rotateY: 180} | |
105 | + ], | |
106 | + }, | |
107 | + collisionbox: { x1: 0, y1: 0, z1: 0.875, x2: 1, y2: 1, z2: 1, | |
108 | + rotateYByType: { | |
109 | + "*-north-*-opened-*": -90, | |
110 | + "*-north-*-closed-*": 0, | |
111 | + "*-west-*-opened-*": 0, | |
112 | + "*-west-*-closed-*": 270, | |
113 | + "*-east-*-opened-*": 180, | |
114 | + "*-east-*-closed-*": 90, | |
115 | + "*-south-*-opened-*": 270, | |
116 | + "*-south-*-closed-*": 180, | |
117 | + } | |
118 | + }, | |
119 | + sounds: { | |
120 | + "place": "game:block/planks", | |
121 | + "hit": "game:block/planks", | |
122 | + "break": "game:block/planks", | |
123 | + "walk": "game:walk/wood" | |
124 | + }, | |
125 | + materialDensity: 5000 | |
126 | +} |
@@ -0,0 +1,73 @@ | ||
1 | +{ | |
2 | + "editor": { | |
3 | + "allAngles": false, | |
4 | + "entityTextureMode": false | |
5 | + }, | |
6 | + "textureWidth": 16, | |
7 | + "textureHeight": 16, | |
8 | + "textureSizes": { | |
9 | + }, | |
10 | + "textures": { | |
11 | + "stone": "game:block/stone/brick/granite", | |
12 | + "wood": "game:block/wood/planks/wood" | |
13 | + }, | |
14 | + "elements": [ | |
15 | + { | |
16 | + "name": "FalseFace", | |
17 | + "from": [ 0.0, 0.0, 0.0 ], | |
18 | + "to": [ 16.0, 16.0, 1.0 ], | |
19 | + "faces": { | |
20 | + "north": { "texture": "#stone", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, | |
21 | + "east": { "texture": "#stone", "uv": [ 0.5, 0.0, 1.5, 16.0 ] }, | |
22 | + "south": { "texture": "#stone", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, | |
23 | + "west": { "texture": "#stone", "uv": [ 14.5, 0.0, 15.5, 16.0 ] }, | |
24 | + "up": { "texture": "#stone", "uv": [ 0.0, 3.5, 16.0, 4.5 ] }, | |
25 | + "down": { "texture": "#stone", "uv": [ 0.0, 10.5, 16.0, 11.5 ] } | |
26 | + }, | |
27 | + "children": [ | |
28 | + { | |
29 | + "name": "WoodSupport1", | |
30 | + "from": [ 0.25, 1.0, 1.0 ], | |
31 | + "to": [ 15.75, 3.0, 2.0 ], | |
32 | + "rotationOrigin": [ 0.0, 1.0, 1.0 ], | |
33 | + "faces": { | |
34 | + "north": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
35 | + "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
36 | + "south": { "texture": "#wood", "uv": [ 0.0, 2.0, 15.5, 4.0 ] }, | |
37 | + "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
38 | + "up": { "texture": "#wood", "uv": [ 0.0, 13.5, 15.5, 14.5 ] }, | |
39 | + "down": { "texture": "#wood", "uv": [ 0.0, 8.0, 15.5, 9.0 ] } | |
40 | + } | |
41 | + }, | |
42 | + { | |
43 | + "name": "WoodSupport2", | |
44 | + "from": [ 0.25, 13.0, 1.0 ], | |
45 | + "to": [ 15.75, 15.0, 2.0 ], | |
46 | + "rotationOrigin": [ 0.0, 0.0, 1.0 ], | |
47 | + "faces": { | |
48 | + "north": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
49 | + "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
50 | + "south": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
51 | + "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
52 | + "up": { "texture": "#wood", "uv": [ 0.0, 2.5, 15.5, 3.5 ] }, | |
53 | + "down": { "texture": "#wood", "uv": [ 0.0, 3.5, 15.5, 4.5 ] } | |
54 | + } | |
55 | + }, | |
56 | + { | |
57 | + "name": "WoodSupport3", | |
58 | + "from": [ 4.5, 4.0, 2.0 ], | |
59 | + "to": [ 20.5, 6.0, 3.0 ], | |
60 | + "rotationOrigin": [ 6.0, 0.0, 0.0 ], | |
61 | + "rotationZ": 50.0, | |
62 | + "faces": { | |
63 | + "north": { "texture": "#wood", "uv": [ 0.0, 7.5, 16.0, 9.5 ] }, | |
64 | + "east": { "texture": "#wood", "uv": [ 1.0, 1.5, 2.0, 3.5 ] }, | |
65 | + "south": { "texture": "#wood", "uv": [ 0.0, 7.0, 16.0, 9.0 ] }, | |
66 | + "west": { "texture": "#wood", "uv": [ 1.0, 1.5, 2.0, 3.5 ] }, | |
67 | + "up": { "texture": "#wood", "uv": [ 0.0, 2.5, 16.0, 3.5 ] }, | |
68 | + "down": { "texture": "#wood", "uv": [ 0.0, 12.0, 16.0, 13.0 ] } | |
69 | + } | |
70 | + } | |
71 | + ] | |
72 | + } | |
73 | + ]} | |
\ No newline at end of file |
@@ -0,0 +1,131 @@ | ||
1 | +{ | |
2 | + "editor": { | |
3 | + "allAngles": false, | |
4 | + "entityTextureMode": false | |
5 | + }, | |
6 | + "textureWidth": 16, | |
7 | + "textureHeight": 16, | |
8 | + "textureSizes": { | |
9 | + }, | |
10 | + "textures": { | |
11 | + "stone": "game:block/stone/brick/granite", | |
12 | + "wood": "game:block/wood/planks/wood" | |
13 | + }, | |
14 | + "elements": [ | |
15 | + { | |
16 | + "name": "FalseFace", | |
17 | + "from": [ 0.0, 0.0, 0.0 ], | |
18 | + "to": [ 16.0, 16.0, 1.0 ], | |
19 | + "faces": { | |
20 | + "north": { "texture": "#stone", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, | |
21 | + "east": { "texture": "#stone", "uv": [ 0.5, 0.0, 1.5, 16.0 ] }, | |
22 | + "south": { "texture": "#stone", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, | |
23 | + "west": { "texture": "#stone", "uv": [ 14.5, 0.0, 15.5, 16.0 ] }, | |
24 | + "up": { "texture": "#stone", "uv": [ 0.0, 3.5, 16.0, 4.5 ] }, | |
25 | + "down": { "texture": "#stone", "uv": [ 0.0, 10.5, 16.0, 11.5 ] } | |
26 | + }, | |
27 | + "children": [ | |
28 | + { | |
29 | + "name": "WoodSupport1", | |
30 | + "from": [ 0.25, 1.0, 1.0 ], | |
31 | + "to": [ 15.75, 3.0, 2.0 ], | |
32 | + "rotationOrigin": [ 0.0, 1.0, 1.0 ], | |
33 | + "faces": { | |
34 | + "north": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
35 | + "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
36 | + "south": { "texture": "#wood", "uv": [ 0.0, 2.0, 15.5, 4.0 ] }, | |
37 | + "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
38 | + "up": { "texture": "#wood", "uv": [ 0.0, 13.5, 15.5, 14.5 ] }, | |
39 | + "down": { "texture": "#wood", "uv": [ 0.0, 8.0, 15.5, 9.0 ] } | |
40 | + } | |
41 | + }, | |
42 | + { | |
43 | + "name": "WoodSupport2", | |
44 | + "from": [ 0.25, 13.0, 1.0 ], | |
45 | + "to": [ 15.75, 15.0, 2.0 ], | |
46 | + "rotationOrigin": [ 0.0, 0.0, 1.0 ], | |
47 | + "faces": { | |
48 | + "north": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
49 | + "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
50 | + "south": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
51 | + "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
52 | + "up": { "texture": "#wood", "uv": [ 0.0, 2.5, 15.5, 3.5 ] }, | |
53 | + "down": { "texture": "#wood", "uv": [ 0.0, 3.5, 15.5, 4.5 ] } | |
54 | + } | |
55 | + }, | |
56 | + { | |
57 | + "name": "WoodSupport3", | |
58 | + "from": [ 10.0, 1.0, 2.0 ], | |
59 | + "to": [ 12.0, 15.0, 3.0 ], | |
60 | + "rotationOrigin": [ 3.0, 0.0, 0.0 ], | |
61 | + "faces": { | |
62 | + "north": { "texture": "#wood", "uv": [ 0.0, 7.5, 2.0, 21.5 ] }, | |
63 | + "east": { "texture": "#wood", "uv": [ 1.0, 1.5, 2.0, 15.5 ] }, | |
64 | + "south": { "texture": "#wood", "uv": [ 0.0, 7.0, 2.0, 21.0 ] }, | |
65 | + "west": { "texture": "#wood", "uv": [ 1.0, 1.5, 2.0, 15.5 ] }, | |
66 | + "up": { "texture": "#wood", "uv": [ 0.0, 2.5, 2.0, 3.5 ] }, | |
67 | + "down": { "texture": "#wood", "uv": [ 0.0, 12.0, 2.0, 13.0 ] } | |
68 | + }, | |
69 | + "children": [ | |
70 | + { | |
71 | + "name": "Bolt1", | |
72 | + "from": [ -2.75, 7.05, -0.95 ], | |
73 | + "to": [ 6.35, 9.05, -0.1 ], | |
74 | + "rotationOrigin": [ 0.0, 7.0, 0.0 ], | |
75 | + "faces": { | |
76 | + "north": { "texture": "#null", "uv": [ 0.0, 0.0, 9.0, 2.0 ] }, | |
77 | + "east": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 2.0 ] }, | |
78 | + "south": { "texture": "#null", "uv": [ 0.0, 0.0, 9.0, 2.0 ] }, | |
79 | + "west": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 2.0 ] }, | |
80 | + "up": { "texture": "#null", "uv": [ 0.0, 0.0, 9.0, 0.5 ] }, | |
81 | + "down": { "texture": "#null", "uv": [ 0.0, 0.0, 9.0, 0.5 ] } | |
82 | + }, | |
83 | + "children": [ | |
84 | + { | |
85 | + "name": "Bolt2", | |
86 | + "from": [ 1.5, 0.5, 0.75 ], | |
87 | + "to": [ 2.35, 1.35, 3.75 ], | |
88 | + "faces": { | |
89 | + "north": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 0.5 ] }, | |
90 | + "east": { "texture": "#null", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, | |
91 | + "south": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 0.5 ] }, | |
92 | + "west": { "texture": "#null", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, | |
93 | + "up": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 3.0 ] }, | |
94 | + "down": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 3.0 ] } | |
95 | + } | |
96 | + }, | |
97 | + { | |
98 | + "name": "Bolt3", | |
99 | + "from": [ 5.5, 0.5, 0.75 ], | |
100 | + "to": [ 6.35, 1.35, 3.75 ], | |
101 | + "rotationOrigin": [ 4.0, 0.0, -1.0 ], | |
102 | + "faces": { | |
103 | + "north": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 0.5 ] }, | |
104 | + "east": { "texture": "#null", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, | |
105 | + "south": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 0.5 ] }, | |
106 | + "west": { "texture": "#null", "uv": [ 0.0, 0.0, 3.0, 0.5 ] }, | |
107 | + "up": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 3.0 ] }, | |
108 | + "down": { "texture": "#null", "uv": [ 0.0, 0.0, 0.5, 3.0 ] } | |
109 | + } | |
110 | + } | |
111 | + ] | |
112 | + } | |
113 | + ] | |
114 | + }, | |
115 | + { | |
116 | + "name": "WoodSupport4", | |
117 | + "from": [ 0.25, 6.0, 1.0 ], | |
118 | + "to": [ 15.75, 8.0, 2.0 ], | |
119 | + "rotationOrigin": [ 0.0, 6.0, 1.0 ], | |
120 | + "faces": { | |
121 | + "north": { "texture": "#wood", "uv": [ 0.0, 1.0, 15.5, 3.0 ] }, | |
122 | + "east": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
123 | + "south": { "texture": "#wood", "uv": [ 0.0, 2.0, 15.5, 4.0 ] }, | |
124 | + "west": { "texture": "#wood", "uv": [ 0.0, 0.0, 1.0, 2.0 ] }, | |
125 | + "up": { "texture": "#wood", "uv": [ 0.0, 13.5, 15.5, 14.5 ] }, | |
126 | + "down": { "texture": "#wood", "uv": [ 0.0, 8.0, 15.5, 9.0 ] } | |
127 | + } | |
128 | + } | |
129 | + ] | |
130 | + } | |
131 | + ]} | |
\ No newline at end of file |