• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-cqtcocoa誰得pythonphprubygameguibathyscaphec翻訳計画中(planning stage)omegatframeworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

VS plugin mod for Basic Armour


Commit MetaInfo

Révision3c3693c35a5a395190341bd1151d966f833b80e0 (tree)
l'heure2019-07-31 05:27:09
Auteurmelchior <melchior@user...>
Commitermelchior

Message de Log

Incomplete shield bash feature *wip*
Addl. debugging logging

Change Summary

Modification

--- a/ArmourMod/Armour/EntityArmourPlayer.cs
+++ b/ArmourMod/Armour/EntityArmourPlayer.cs
@@ -7,7 +7,6 @@ using Vintagestory.API.Common;
77 using Vintagestory.API.Client;
88 using Vintagestory.API.Server;
99
10-
1110 namespace ArmourMod
1211 {
1312 public class EntityArmourPlayer : EntityPlayer
@@ -151,6 +150,10 @@ namespace ArmourMod
151150 float beforeDamage = damage;
152151 //TODO: evaluate postion vector of strike to determine WHEN position of armour offers protection
153152
153+ #if DEBUG
154+ Logger.VerboseDebug($"DamageSource:{damageSource.Source} HitPos:{damageSource.HitPosition} Type: {damageSource.Type} Entity: {damageSource.SourceEntity} Block: {damageSource.sourceBlock} ORIGIN : {damageSource.sourcePos} ");
155+ #endif
156+
154157 if (DamageFilters != null && DamageFilters.Count > 0)
155158 {
156159 //Evaluate damge type
@@ -158,7 +161,7 @@ namespace ArmourMod
158161 //Pass along
159162
160163 #if DEBUG
161- Logger.VerboseDebug("{0} has Damage Filters#{1}", this.PlayerUID, DamageFilters.Count);
164+ Logger.VerboseDebug("{0} has Damage Filters# {1}", this.GetName(), DamageFilters.Count);
162165 #endif
163166
164167 switch (damageSource.Type) {
@@ -199,13 +202,21 @@ namespace ArmourMod
199202 Logger.VerboseDebug("Reduced: {0} Dmg from {2}; [{1}]", damage, damageSource.Type.ToString( ), beforeDamage);
200203 #endif
201204
202- //All worn Armours adsorb damage themselves...
205+ //All worn Armours absorb damage themselves...
203206 List<EnumCharacterDressType> slotsList = this.DamageFilters.Keys.ToList( );
204207
205208 foreach (var slotId in slotsList) {
206- ItemSlot slot = this.GearInventory[( int )slotId];
207- Item armourItem = slot.Itemstack.Item;
208209
210+ ItemSlot slot;
211+ if (slotId != EnumCharacterDressType.Arm) {
212+ slot = this.GearInventory[( int )slotId];
213+
214+ } else {
215+ slot = this.LeftHandItemSlot;
216+ }
217+
218+ Item armourItem = slot.Itemstack.Item;
219+ //RESEARCH: Why does this trigger modify events on item slot from server? SPAMMY!
209220 armourItem.DamageItem(ServerAPI.World, this, slot, 1);
210221 }
211222 }
@@ -255,14 +266,14 @@ namespace ArmourMod
255266 {
256267 var watchedSlot = this.GearInventory[slotId];
257268 #if DEBUG
258- Logger.VerboseDebug( "GearSlotModified:{0}", slotId );
269+ Logger.VerboseDebug( "GearSlotModified:{0} ({1})", (EnumCharacterDressType)slotId, slotId );
259270 #endif
260271 if ( !watchedSlot.Empty ) {
261272
262273 if ( (watchedSlot.StorageType.HasFlag( EnumItemStorageFlags.Outfit) || watchedSlot.StorageType.HasFlag(EnumItemStorageFlags.Offhand) )
263274 && watchedSlot.Itemstack.Class == EnumItemClass.Item ) {
264275 #if DEBUG
265- Logger.VerboseDebug( "Equiped a AF this: {0}", watchedSlot.Itemstack.Item.Code.ToString() );
276+ Logger.VerboseDebug( "Equiped this: {0}", watchedSlot.Itemstack.Item.Code.ToString() );
266277 #endif
267278 //replace / add damage filter when applicable armor item in slot (which ever that is?)
268279
@@ -412,10 +423,14 @@ namespace ArmourMod
412423 {
413424 DamageFilters = new Dictionary<EnumCharacterDressType, DamageFilter>( Enum.GetNames(typeof(EnumCharacterDressType)).Length );
414425
415- if ( this.GearInventory.Count > 0 ) {
416- foreach(ItemSlot itemSlot in this.GearInventory ) {
426+ if ( this.GearInventory.Count > 0 || this.LeftHandItemSlot.StackSize > 0) {
427+
428+ var combinedInventory = new List<ItemSlot>(this.GearInventory);
429+ combinedInventory.Add(this.LeftHandItemSlot);
417430
418- int slotId = this.GearInventory.GetSlotId( itemSlot );
431+ foreach(ItemSlot itemSlot in combinedInventory ) {
432+
433+ int slotId = itemSlot.Inventory.GetSlotId( itemSlot );
419434 if ( !itemSlot.Empty ) {
420435
421436 if ( (itemSlot.StorageType.HasFlag(EnumItemStorageFlags.Outfit) || itemSlot.StorageType.HasFlag(EnumItemStorageFlags.Offhand) ) && itemSlot.Itemstack.Class == EnumItemClass.Item ) {
@@ -423,7 +438,7 @@ namespace ArmourMod
423438 if ( CheckIfItemHasDamageFilter(itemSlot) )
424439 {
425440 #if DEBUG
426- CoreAPI.World.Logger.VerboseDebug( "DF: Consider item:{0}", itemSlot.Itemstack.Item.Code.ToString( ) );
441+ CoreAPI.World.Logger.VerboseDebug( "DF: Consider thing:{0}", itemSlot.Itemstack.Item.Code.ToString( ) );
427442 #endif
428443
429444 DamageFilter dmgFilt = DamageFilter.ConstructFilter( itemSlot);
@@ -472,7 +487,7 @@ namespace ArmourMod
472487 //Encumberance needs direct application / removal here;
473488 if (finalFilter.encumberanceMultiplier > 0 && finalFilter.encumberanceMultiplier < 1.0) {
474489 this.SetWalkSpeedModifier(armourEncumberanceKey, finalFilter.encumberanceMultiplier, false);
475- Logger.VerboseDebug("New Walk Speed Mult: {0}", this.GetWalkSpeedMultiplier( ));
490+ Logger.VerboseDebug("New Walk Speed Mult: {0:N2}", this.GetWalkSpeedMultiplier( ));
476491 } else {
477492 this.RemoveWalkSpeedModifier(armourEncumberanceKey);
478493 }
@@ -545,6 +560,7 @@ namespace ArmourMod
545560
546561
547562
563+
548564 }
549565 }
550566
--- a/ArmourMod/Armour/ItemArmour.cs
+++ b/ArmourMod/Armour/ItemArmour.cs
@@ -13,13 +13,13 @@ namespace ArmourMod
1313 {
1414 public class ItemArmour : ItemDress
1515 {
16- public override void GetHeldItemInfo(ItemStack stack, StringBuilder dsc, IWorldAccessor world, bool withDebugInfo)
16+ public override void GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, bool withDebugInfo)
1717 {
1818 //base.GetHeldItemInfo(stack, dsc, world, withDebugInfo);
1919
2020 if (this.Durability > 1) {
2121
22- int defDur = stack.Attributes.GetInt("durability", this.Durability);
22+ int defDur = inSlot.Itemstack.Attributes.GetInt("durability", this.Durability);
2323
2424 //byte greenComponent = (byte)(255 * (float)this.Durability / (float)defDur);
2525 //byte redComponent = (byte)(0xff - greenComponent);
@@ -30,20 +30,20 @@ namespace ArmourMod
3030 }
3131
3232 //Display Protection values & Weight / dissadvantages
33- var blunt = stack.ItemAttributes["BluntProtection"].AsFloat( );
34- var piercing = stack.ItemAttributes["PiercingProtection"].AsFloat( );
35- var slashing = stack.ItemAttributes["SlashingProtection"].AsFloat( );
36- var crushing = stack.ItemAttributes["CrushingProtection"].AsFloat( );
37- var flame = stack.ItemAttributes["FireProtection"].AsFloat( );
38- var encumberance = stack.ItemAttributes["Encumberance"].AsFloat(1F );
33+ var blunt = inSlot.Itemstack.ItemAttributes["BluntProtection"].AsFloat( );
34+ var piercing = inSlot.Itemstack.ItemAttributes["PiercingProtection"].AsFloat( );
35+ var slashing = inSlot.Itemstack.ItemAttributes["SlashingProtection"].AsFloat( );
36+ var crushing = inSlot.Itemstack.ItemAttributes["CrushingProtection"].AsFloat( );
37+ var flame = inSlot.Itemstack.ItemAttributes["FireProtection"].AsFloat( );
38+ var encumberance = inSlot.Itemstack.ItemAttributes["Encumberance"].AsFloat(1F );
3939
4040 dsc.AppendFormat($"Blunt {blunt:P1}\n Piercing {piercing:P1}\n Slashing {slashing:P1}\n Crushing {crushing:P1}\n Flame {flame:P1}\n Encumberance {encumberance:N2}X\n");
4141
4242 EnumCharacterDressType dresstype;
43- string strdress = stack.ItemAttributes["clothescategory"].AsString( );
43+ string strdress = inSlot.Itemstack.ItemAttributes["clothescategory"].AsString( );
4444
4545 if (Enum.TryParse(strdress, true, out dresstype)) {
46- dsc.AppendLine(Lang.Get("Cloth Category: {0}", Lang.Get("clothcategory-" + stack.ItemAttributes["clothescategory"].AsString( ))));
46+ dsc.AppendLine(Lang.Get("Cloth Category: {0}", Lang.Get("clothcategory-" + inSlot.Itemstack.ItemAttributes["clothescategory"].AsString( ))));
4747 }
4848
4949 }
--- /dev/null
+++ b/ArmourMod/Armour/ShieldBasher.cs
@@ -0,0 +1,54 @@
1+using System;
2+
3+using Vintagestory.API.Common;
4+using Vintagestory.API.Client;
5+using Vintagestory.API.Server;
6+using Vintagestory.API.MathTools;
7+
8+
9+namespace ArmourMod
10+{
11+ public class ShieldBasher
12+ {
13+ protected ICoreAPI CoreAPI;
14+ protected ICoreClientAPI ClientAPI;
15+ protected ICoreServerAPI ServerAPI;
16+ protected ILogger Logger;
17+
18+ private const string _shieldBaskKey = @"shieldbash";
19+
20+ public ShieldBasher( )
21+ {
22+ ClientAPI.Input.RegisterHotKey(_shieldBaskKey, "Shield Bash", GlKeys.BackSlash, HotkeyType.CharacterControls);
23+ ClientAPI.Input.SetHotKeyHandler(_shieldBaskKey, TriggerShieldBash);
24+ }
25+
26+ //CLIENT SIDE!
27+ protected bool TriggerShieldBash(KeyCombination keyCmb)
28+ {
29+ //Send Channel Packet to server...
30+
31+ //Start, client side animations?
32+
33+
34+
35+ return true;//What does this do??
36+ }
37+
38+
39+ private void PerformShieldBash(EntitySelection bonkee, EntityPlayer player)
40+ {
41+ DamageSource damageSource = new DamageSource( );
42+
43+ //Push away from...self
44+ bonkee.Entity.ServerPos.Motion.Add(
45+ GameMath.Sin(damageSource.SourceEntity.ServerPos.Yaw + GameMath.PIHALF) / 10,
46+ damageSource.SourceEntity.ServerPos.Pitch + GameMath.PIHALF / 10,
47+ GameMath.Cos(damageSource.SourceEntity.ServerPos.Yaw + GameMath.PIHALF) / 10
48+ );
49+
50+ (( IServerPlayer )ServerAPI.World.PlayerByUid(player.PlayerUID)).SendPositionToClient( );
51+ }
52+ }
53+}
54+
--- /dev/null
+++ b/ArmourMod/assets/armourmod/itemtypes/wearable/item-offhand-buckler-wood.json
@@ -0,0 +1,51 @@
1+{
2+ code: "buckler-wood",
3+ class: "ItemArmour",
4+ storageFlags: 257,
5+ heldRightTpIdleAnimation: "holdinglanternrighthand",
6+ heldLeftTpIdleAnimation: "holdinglanternlefthand",
7+ attributes:
8+ {
9+ BluntProtection:0.13,
10+ PiercingProtection:0.1,
11+ SlashingProtection:0.1,
12+ CrushingProtection:0.05,
13+ FireProtection:0.01
14+ },
15+ shape: {
16+ base: "item/armour/buckler"
17+ },
18+ durability: 50,
19+ creativeinventory: { "general": ["*"], "items": ["*"], "clothing": ["*"] },
20+ textures: {
21+ aged:{ base: "game:block/wood/debarked/aged"},
22+ },
23+ fpHandTransform: {
24+ translation: { x: 0, y: -0.05, z: -0.6 },
25+ rotation: { x: -100, y: -180, z: 90 },
26+ origin: { x: 0.5, y: 0, z: 0.5 },
27+ scale: 0.8
28+ },
29+ guiTransform: {
30+ translation: { x: 0, y: 1, z: 0 },
31+ rotation: { x: 2, y: 0, z: 0 },
32+ origin: { x: 0.45, y: 0.55, z: 0.5 },
33+ scale: 1.6
34+ },
35+ tpHandTransform: {
36+ translation: { x: 0, y: -0.05, z: -0.6 },
37+ rotation: { x: -90, y: -180, z: 90 },
38+ origin: { x: 0.5, y: 0, z: 0.5 },
39+ scale: 0.8
40+ },
41+ groundTransform: {
42+ rotation: { x: 0, y: -1, z: 90 },
43+ origin: { x: 0.39, y: 0.25, z: 0.5 },
44+ scale: 2.8
45+ },
46+ combustibleProps: {
47+ burnTemperature: 600,
48+ burnDuration: 12,
49+ },
50+ materialDensity: 600
51+}
\ No newline at end of file
--- /dev/null
+++ b/ArmourMod/assets/bunnyviking/shapes/item/armament/shield/shield_buckler.json
@@ -0,0 +1,132 @@
1+{
2+ "editor": {
3+ "allAngles": false,
4+ "singleTexture": false
5+ },
6+ "textureWidth": 16,
7+ "textureHeight": 16,
8+ "textures": {
9+ "shield_buckler": "shield_buckler"
10+ },
11+ "elements": [
12+ {
13+ "name": "buckler_root",
14+ "from": [ 6.0, 7.0, 6.0 ],
15+ "to": [ 10.0, 8.0, 10.0 ],
16+ "rotationOrigin": [ 8.0, 7.0, 8.0 ],
17+ "rotationX": 90.0,
18+ "faces": {
19+ "north": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
20+ "east": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
21+ "south": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
22+ "west": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
23+ "up": { "texture": "#shield_buckler", "uv": [ 2.0, 2.0, 6.0, 6.0 ] },
24+ "down": { "texture": "#shield_buckler", "uv": [ 10.0, 2.0, 14.0, 6.0 ] }
25+ },
26+ "children": [
27+ {
28+ "name": "s_01",
29+ "from": [ -1.0, -1.0, -1.0 ],
30+ "to": [ 5.0, 0.0, 0.0 ],
31+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
32+ "faces": {
33+ "north": { "texture": "#shield_buckler", "uv": [ 1.0, 9.0, 7.0, 10.0 ] },
34+ "east": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
35+ "south": { "texture": "#shield_buckler", "uv": [ 1.0, 9.0, 7.0, 10.0 ] },
36+ "west": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
37+ "up": { "texture": "#shield_buckler", "uv": [ 1.0, 1.0, 2.0, 7.0 ], "rotation": 90 },
38+ "down": { "texture": "#shield_buckler", "uv": [ 1.0, 1.0, 2.0, 7.0 ], "rotation": 90 }
39+ }
40+ },
41+ {
42+ "name": "s_02",
43+ "from": [ 0.0, -1.0, -2.0 ],
44+ "to": [ 4.0, 0.0, -1.0 ],
45+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
46+ "faces": {
47+ "north": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
48+ "east": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
49+ "south": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
50+ "west": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
51+ "up": { "texture": "#shield_buckler", "uv": [ 0.0, 2.0, 1.0, 6.0 ], "rotation": 90 },
52+ "down": { "texture": "#shield_buckler", "uv": [ 8.0, 2.0, 9.0, 6.0 ], "rotation": 90 }
53+ }
54+ },
55+ {
56+ "name": "s_03",
57+ "from": [ 0.0, -1.0, -2.0 ],
58+ "to": [ 4.0, 0.0, 0.0 ],
59+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
60+ "rotationY": 90.0,
61+ "faces": {
62+ "north": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
63+ "east": { "texture": "#shield_buckler", "uv": [ 3.0, 9.0, 5.0, 10.0 ] },
64+ "south": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
65+ "west": { "texture": "#shield_buckler", "uv": [ 3.0, 9.0, 5.0, 10.0 ] },
66+ "up": { "texture": "#shield_buckler", "uv": [ 2.0, 6.0, 6.0, 8.0 ] },
67+ "down": { "texture": "#shield_buckler", "uv": [ 10.0, 6.0, 14.0, 8.0 ] }
68+ }
69+ },
70+ {
71+ "name": "s_04",
72+ "from": [ 0.0, -1.0, -2.0 ],
73+ "to": [ 4.0, 0.0, -1.0 ],
74+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
75+ "rotationY": 180.0,
76+ "faces": {
77+ "north": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
78+ "east": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
79+ "south": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
80+ "west": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
81+ "up": { "texture": "#shield_buckler", "uv": [ 7.0, 2.0, 8.0, 6.0 ], "rotation": 90 },
82+ "down": { "texture": "#shield_buckler", "uv": [ 15.0, 2.0, 16.0, 6.0 ], "rotation": 90 }
83+ }
84+ },
85+ {
86+ "name": "s_05",
87+ "from": [ 0.0, -1.0, -2.0 ],
88+ "to": [ 4.0, 0.0, 0.0 ],
89+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
90+ "rotationY": -90.0,
91+ "faces": {
92+ "north": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
93+ "east": { "texture": "#shield_buckler", "uv": [ 3.0, 9.0, 5.0, 10.0 ] },
94+ "south": { "texture": "#shield_buckler", "uv": [ 2.0, 9.0, 6.0, 10.0 ] },
95+ "west": { "texture": "#shield_buckler", "uv": [ 3.0, 9.0, 5.0, 10.0 ] },
96+ "up": { "texture": "#shield_buckler", "uv": [ 2.0, 0.0, 6.0, 2.0 ] },
97+ "down": { "texture": "#shield_buckler", "uv": [ 10.0, 0.0, 14.0, 2.0 ] }
98+ }
99+ },
100+ {
101+ "name": "s_06",
102+ "from": [ -1.0, -1.0, -1.0 ],
103+ "to": [ 5.0, 0.0, 0.0 ],
104+ "rotationOrigin": [ 2.0, 0.0, 2.0 ],
105+ "rotationY": -180.0,
106+ "faces": {
107+ "north": { "texture": "#shield_buckler", "uv": [ 1.0, 9.0, 7.0, 10.0 ] },
108+ "east": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
109+ "south": { "texture": "#shield_buckler", "uv": [ 1.0, 9.0, 7.0, 10.0 ] },
110+ "west": { "texture": "#shield_buckler", "uv": [ 3.5, 9.0, 4.5, 10.0 ] },
111+ "up": { "texture": "#shield_buckler", "uv": [ 6.0, 1.0, 7.0, 7.0 ], "rotation": 90 },
112+ "down": { "texture": "#shield_buckler", "uv": [ 14.0, 1.0, 15.0, 7.0 ], "rotation": 90 }
113+ }
114+ },
115+ {
116+ "name": "grip",
117+ "from": [ -1.0, -1.3, 1.5 ],
118+ "to": [ 5.0, -1.1, 2.5 ],
119+ "shade": false,
120+ "rotationOrigin": [ 2.0, -1.1, 1.5 ],
121+ "faces": {
122+ "north": { "texture": "#shield_buckler", "uv": [ 9.0, 9.0, 15.0, 10.0 ], "rotation": 90, "autoUv": false },
123+ "east": { "texture": "#shield_buckler", "uv": [ 9.0, 9.0, 10.0, 10.0 ], "autoUv": false },
124+ "south": { "texture": "#shield_buckler", "uv": [ 9.0, 9.0, 15.0, 10.0 ], "autoUv": false },
125+ "west": { "texture": "#shield_buckler", "uv": [ 14.0, 9.0, 15.0, 10.0 ], "autoUv": false },
126+ "up": { "texture": "#shield_buckler", "uv": [ 9.0, 9.0, 15.0, 10.0 ], "autoUv": false },
127+ "down": { "texture": "#shield_buckler", "uv": [ 9.0, 9.0, 15.0, 10.0 ], "autoUv": false }
128+ }
129+ }
130+ ]
131+ }
132+ ]}
\ No newline at end of file
--- /dev/null
+++ b/ArmourMod/assets/bunnyviking/shapes/item/armament/shield/shield_heater_curved.json
@@ -0,0 +1,144 @@
1+{
2+ "editor": {
3+ "allAngles": false,
4+ "singleTexture": false
5+ },
6+ "textureWidth": 16,
7+ "textureHeight": 16,
8+ "textures": {
9+ "shield_heater": "shield_heater",
10+ "shield_heater_back": "shield_heater_back"
11+ },
12+ "elements": [
13+ {
14+ "name": "front",
15+ "from": [ 5.0, 16.0, 9.0 ],
16+ "to": [ 11.0, 17.0, 24.0 ],
17+ "rotationOrigin": [ 8.0, 16.0, 9.0 ],
18+ "rotationX": 90.0,
19+ "faces": {
20+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 6.0 ], "rotation": 90 },
21+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 15.0 ], "rotation": 90 },
22+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 6.0 ], "rotation": 90 },
23+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 15.0 ], "rotation": 90 },
24+ "up": { "texture": "#shield_heater", "uv": [ 3.0, 0.0, 9.0, 15.0 ] },
25+ "down": { "texture": "#shield_heater_back", "uv": [ 3.0, 0.0, 9.0, 15.0 ] }
26+ },
27+ "children": [
28+ {
29+ "name": "sides_01",
30+ "from": [ -2.0, -1.0, 0.0 ],
31+ "to": [ 0.0, 0.0, 14.0 ],
32+ "rotationOrigin": [ 0.0, -1.0, 0.0 ],
33+ "faces": {
34+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
35+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
36+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
37+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
38+ "up": { "texture": "#shield_heater", "uv": [ 1.0, 0.0, 3.0, 14.0 ] },
39+ "down": { "texture": "#shield_heater_back", "uv": [ 1.0, 0.0, 3.0, 14.0 ] }
40+ }
41+ },
42+ {
43+ "name": "sides_02",
44+ "from": [ 6.0, -1.0, 0.0 ],
45+ "to": [ 8.0, 0.0, 14.0 ],
46+ "rotationOrigin": [ 6.0, -1.0, 0.0 ],
47+ "faces": {
48+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
49+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
50+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
51+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
52+ "up": { "texture": "#shield_heater", "uv": [ 9.0, 0.0, 11.0, 14.0 ] },
53+ "down": { "texture": "#shield_heater_back", "uv": [ 9.0, 0.0, 11.0, 14.0 ] }
54+ }
55+ },
56+ {
57+ "name": "sides_03",
58+ "from": [ 8.0, -2.0, 1.0 ],
59+ "to": [ 9.0, -1.0, 13.0 ],
60+ "rotationOrigin": [ 8.0, -2.0, 1.0 ],
61+ "faces": {
62+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 2.0 ] },
63+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
64+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 2.0 ] },
65+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
66+ "up": { "texture": "#shield_heater", "uv": [ 11.0, 1.0, 12.0, 13.0 ] },
67+ "down": { "texture": "#shield_heater_back", "uv": [ 11.0, 1.0, 12.0, 13.0 ] }
68+ }
69+ },
70+ {
71+ "name": "sides_04",
72+ "from": [ -3.0, -2.0, 1.0 ],
73+ "to": [ -2.0, -1.0, 13.0 ],
74+ "rotationOrigin": [ -2.0, -2.0, 1.0 ],
75+ "faces": {
76+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 2.0 ], "rotation": 90 },
77+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
78+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 2.0 ], "rotation": 90 },
79+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
80+ "up": { "texture": "#shield_heater", "uv": [ 0.0, 1.0, 1.0, 13.0 ] },
81+ "down": { "texture": "#shield_heater_back", "uv": [ 0.0, 1.0, 1.0, 13.0 ] }
82+ }
83+ },
84+ {
85+ "name": "sides_05",
86+ "from": [ 1.0, 0.0, 15.0 ],
87+ "to": [ 5.0, 1.0, 16.0 ],
88+ "rotationOrigin": [ 2.0, 0.0, 15.0 ],
89+ "faces": {
90+ "north": { "texture": "#shield_heater", "uv": [ 15.0, 12.0, 16.0, 16.0 ], "rotation": 90, "autoUv": false },
91+ "east": { "texture": "#shield_heater", "uv": [ 15.0, 15.0, 16.0, 16.0 ] },
92+ "south": { "texture": "#shield_heater", "uv": [ 15.0, 12.0, 16.0, 16.0 ], "rotation": 90 },
93+ "west": { "texture": "#shield_heater", "uv": [ 15.0, 15.0, 16.0, 16.0 ] },
94+ "up": { "texture": "#shield_heater", "uv": [ 4.0, 15.0, 8.0, 16.0 ] },
95+ "down": { "texture": "#shield_heater_back", "uv": [ 4.0, 15.0, 8.0, 16.0 ] }
96+ }
97+ },
98+ {
99+ "name": "grip_01",
100+ "from": [ 0.0, -1.0, 4.0 ],
101+ "to": [ 1.0, 0.0, 5.0 ],
102+ "rotationOrigin": [ 1.0, -1.0, 4.0 ],
103+ "faces": {
104+ "north": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
105+ "east": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
106+ "south": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
107+ "west": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
108+ "up": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
109+ "down": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] }
110+ }
111+ },
112+ {
113+ "name": "grip_02",
114+ "from": [ 5.0, -1.0, 4.0 ],
115+ "to": [ 6.0, 0.0, 5.0 ],
116+ "rotationOrigin": [ 5.0, -1.0, 4.0 ],
117+ "faces": {
118+ "north": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
119+ "east": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
120+ "south": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
121+ "west": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
122+ "up": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
123+ "down": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ] }
124+ },
125+ "children": [
126+ {
127+ "name": "grip_03",
128+ "from": [ -5.0, -0.2, 0.0 ],
129+ "to": [ 1.0, 0.0, 1.0 ],
130+ "rotationOrigin": [ -2.0, 0.0, 0.0 ],
131+ "faces": {
132+ "north": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "autoUv": false },
133+ "east": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ], "autoUv": false },
134+ "south": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "autoUv": false },
135+ "west": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 1.0 ], "autoUv": false },
136+ "up": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "rotation": 90 },
137+ "down": { "texture": "#shield_heater", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "rotation": 90 }
138+ }
139+ }
140+ ]
141+ }
142+ ]
143+ }
144+ ]}
\ No newline at end of file
--- /dev/null
+++ b/ArmourMod/assets/bunnyviking/shapes/item/armament/shield/shield_heater_straight.json
@@ -0,0 +1,152 @@
1+{
2+ "editor": {
3+ "allAngles": false,
4+ "singleTexture": false
5+ },
6+ "textureWidth": 16,
7+ "textureHeight": 16,
8+ "textures": {
9+ "shield_heater_straight": "shield_heater_straight",
10+ "shield_heater_straight_back": "shield_heater_straight_back"
11+ },
12+ "elements": [
13+ {
14+ "name": "front",
15+ "from": [ 5.0, 16.0, 9.0 ],
16+ "to": [ 11.0, 17.0, 24.0 ],
17+ "shade": false,
18+ "rotationOrigin": [ 8.0, 16.0, 9.0 ],
19+ "rotationX": 90.0,
20+ "faces": {
21+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 6.0 ], "rotation": 90 },
22+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 15.0 ], "rotation": 90 },
23+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 6.0 ], "rotation": 90 },
24+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 15.0 ], "rotation": 90 },
25+ "up": { "texture": "#shield_heater_straight", "uv": [ 3.0, 0.0, 9.0, 15.0 ] },
26+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 3.0, 0.0, 9.0, 15.0 ] }
27+ },
28+ "children": [
29+ {
30+ "name": "sides_01",
31+ "from": [ -2.0, 0.0, 0.0 ],
32+ "to": [ 0.0, 1.0, 14.0 ],
33+ "shade": false,
34+ "faces": {
35+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
36+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
37+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
38+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
39+ "up": { "texture": "#shield_heater_straight", "uv": [ 1.0, 0.0, 3.0, 14.0 ] },
40+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 1.0, 0.0, 3.0, 14.0 ] }
41+ }
42+ },
43+ {
44+ "name": "sides_02",
45+ "from": [ 6.0, 0.0, 0.0 ],
46+ "to": [ 8.0, 1.0, 14.0 ],
47+ "shade": false,
48+ "rotationOrigin": [ 6.0, 0.0, 0.0 ],
49+ "faces": {
50+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
51+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
52+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 2.0 ], "rotation": 90 },
53+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 0.0, 16.0, 14.0 ], "rotation": 90 },
54+ "up": { "texture": "#shield_heater_straight", "uv": [ 9.0, 0.0, 11.0, 14.0 ] },
55+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 9.0, 0.0, 11.0, 14.0 ] }
56+ }
57+ },
58+ {
59+ "name": "sides_03",
60+ "from": [ 8.0, 0.0, 1.0 ],
61+ "to": [ 9.0, 1.0, 13.0 ],
62+ "shade": false,
63+ "rotationOrigin": [ 8.0, 0.0, 1.0 ],
64+ "faces": {
65+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 2.0 ] },
66+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
67+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 2.0 ] },
68+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
69+ "up": { "texture": "#shield_heater_straight", "uv": [ 11.0, 1.0, 12.0, 13.0 ] },
70+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 11.0, 1.0, 12.0, 13.0 ] }
71+ }
72+ },
73+ {
74+ "name": "sides_04",
75+ "from": [ -3.0, 0.0, 1.0 ],
76+ "to": [ -2.0, 1.0, 13.0 ],
77+ "shade": false,
78+ "rotationOrigin": [ -2.0, 0.0, 1.0 ],
79+ "faces": {
80+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 2.0 ], "rotation": 90 },
81+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
82+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 2.0 ], "rotation": 90 },
83+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 1.0, 16.0, 13.0 ], "rotation": 90 },
84+ "up": { "texture": "#shield_heater_straight", "uv": [ 0.0, 1.0, 1.0, 13.0 ] },
85+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 0.0, 1.0, 1.0, 13.0 ] }
86+ }
87+ },
88+ {
89+ "name": "sides_05",
90+ "from": [ 1.0, 0.0, 15.0 ],
91+ "to": [ 5.0, 1.0, 16.0 ],
92+ "shade": false,
93+ "rotationOrigin": [ 2.0, 0.0, 15.0 ],
94+ "faces": {
95+ "north": { "texture": "#shield_heater_straight", "uv": [ 15.0, 12.0, 16.0, 16.0 ], "rotation": 90, "autoUv": false },
96+ "east": { "texture": "#shield_heater_straight", "uv": [ 15.0, 15.0, 16.0, 16.0 ] },
97+ "south": { "texture": "#shield_heater_straight", "uv": [ 15.0, 12.0, 16.0, 16.0 ], "rotation": 90 },
98+ "west": { "texture": "#shield_heater_straight", "uv": [ 15.0, 15.0, 16.0, 16.0 ] },
99+ "up": { "texture": "#shield_heater_straight", "uv": [ 4.0, 15.0, 8.0, 16.0 ] },
100+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 4.0, 15.0, 8.0, 16.0 ] }
101+ }
102+ },
103+ {
104+ "name": "grip_01",
105+ "from": [ 0.0, -1.0, 4.0 ],
106+ "to": [ 1.0, 0.0, 5.0 ],
107+ "shade": false,
108+ "rotationOrigin": [ 1.0, -1.0, 4.0 ],
109+ "faces": {
110+ "north": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
111+ "east": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
112+ "south": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
113+ "west": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
114+ "up": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
115+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] }
116+ }
117+ },
118+ {
119+ "name": "grip_02",
120+ "from": [ 5.0, -1.0, 4.0 ],
121+ "to": [ 6.0, 0.0, 5.0 ],
122+ "shade": false,
123+ "rotationOrigin": [ 5.0, -1.0, 4.0 ],
124+ "faces": {
125+ "north": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
126+ "east": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
127+ "south": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
128+ "west": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
129+ "up": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] },
130+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ] }
131+ },
132+ "children": [
133+ {
134+ "name": "grip_03",
135+ "from": [ -5.0, -0.2, 0.0 ],
136+ "to": [ 1.0, 0.0, 1.0 ],
137+ "shade": false,
138+ "rotationOrigin": [ -2.0, 0.0, 0.0 ],
139+ "faces": {
140+ "north": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "autoUv": false },
141+ "east": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ], "autoUv": false },
142+ "south": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "autoUv": false },
143+ "west": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 1.0 ], "autoUv": false },
144+ "up": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "rotation": 90 },
145+ "down": { "texture": "#shield_heater_straight_back", "uv": [ 13.0, 0.0, 14.0, 6.0 ], "rotation": 90 }
146+ }
147+ }
148+ ]
149+ }
150+ ]
151+ }
152+ ]}
\ No newline at end of file
--- /dev/null
+++ b/ArmourMod/assets/bunnyviking/shapes/item/armament/shield/shield_round_basic.json
@@ -0,0 +1,255 @@
1+{
2+ "editor": {
3+ "allAngles": false,
4+ "singleTexture": false
5+ },
6+ "textureWidth": 16,
7+ "textureHeight": 16,
8+ "textures": {
9+ "shield_round_back": "shield_round_back",
10+ "shield_round": "shield_round",
11+ "shield_edging_grip": "shield_edging_grip"
12+ },
13+ "elements": [
14+ {
15+ "name": "shield_root",
16+ "from": [ 5.0, 2.0, 1.0 ],
17+ "to": [ 11.0, 3.0, 15.0 ],
18+ "rotationOrigin": [ 8.0, 2.0, 8.0 ],
19+ "faces": {
20+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ], "autoUv": false },
21+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 14.0, 1.0 ] },
22+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
23+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 14.0, 1.0 ] },
24+ "up": { "texture": "#shield_round", "uv": [ 5.0, 1.0, 11.0, 15.0 ] },
25+ "down": { "texture": "#shield_round_back", "uv": [ 5.0, 1.0, 11.0, 15.0 ] }
26+ },
27+ "children": [
28+ {
29+ "name": "001",
30+ "from": [ 6.0, 0.0, 0.5 ],
31+ "to": [ 7.0, 1.0, 13.5 ],
32+ "rotationOrigin": [ 3.0, 0.0, 6.5 ],
33+ "faces": {
34+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
35+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
36+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
37+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
38+ "up": { "texture": "#shield_round", "uv": [ 11.0, 1.5, 12.0, 14.5 ] },
39+ "down": { "texture": "#shield_round_back", "uv": [ 11.0, 1.5, 12.0, 14.5 ] }
40+ },
41+ "children": [
42+ {
43+ "name": "002",
44+ "from": [ 2.0, 0.0, 1.5 ],
45+ "to": [ 3.0, 1.0, 11.5 ],
46+ "rotationOrigin": [ 2.0, 0.0, 1.5 ],
47+ "faces": {
48+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
49+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 10.0, 1.0 ] },
50+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
51+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 10.0, 1.0 ] },
52+ "up": { "texture": "#shield_round", "uv": [ 13.0, 3.0, 14.0, 13.0 ] },
53+ "down": { "texture": "#shield_round_back", "uv": [ 13.0, 3.0, 14.0, 13.0 ] }
54+ },
55+ "children": [
56+ {
57+ "name": "003",
58+ "from": [ 1.0, 0.0, 2.0 ],
59+ "to": [ 2.0, 1.0, 8.0 ],
60+ "rotationOrigin": [ 1.0, 0.0, 2.0 ],
61+ "faces": {
62+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
63+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
64+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
65+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
66+ "up": { "texture": "#shield_round", "uv": [ 14.0, 5.0, 15.0, 11.0 ] },
67+ "down": { "texture": "#shield_round_back", "uv": [ 14.0, 5.0, 15.0, 11.0 ] }
68+ },
69+ "children": [
70+ {
71+ "name": "004",
72+ "from": [ 1.0, 0.0, 1.0 ],
73+ "to": [ 2.0, 1.0, 5.0 ],
74+ "rotationOrigin": [ 1.0, 0.0, 1.0 ],
75+ "faces": {
76+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
77+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
78+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
79+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
80+ "up": { "texture": "#shield_round", "uv": [ 15.0, 6.0, 16.0, 10.0 ] },
81+ "down": { "texture": "#shield_round_back", "uv": [ 15.0, 6.0, 16.0, 10.0 ] }
82+ }
83+ }
84+ ]
85+ },
86+ {
87+ "name": "005",
88+ "from": [ -1.0, 0.0, -1.0 ],
89+ "to": [ 0.0, 1.0, 11.0 ],
90+ "rotationOrigin": [ -1.0, 0.0, -1.0 ],
91+ "faces": {
92+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
93+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 12.0, 1.0 ] },
94+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
95+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 12.0, 1.0 ] },
96+ "up": { "texture": "#shield_round", "uv": [ 12.0, 2.0, 13.0, 14.0 ] },
97+ "down": { "texture": "#shield_round_back", "uv": [ 12.0, 2.0, 13.0, 14.0 ] }
98+ }
99+ },
100+ {
101+ "name": "006",
102+ "from": [ -10.0, 0.0, -1.0 ],
103+ "to": [ -9.0, 1.0, 11.0 ],
104+ "rotationOrigin": [ -10.0, 0.0, -1.0 ],
105+ "faces": {
106+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
107+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 12.0, 1.0 ] },
108+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
109+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 12.0, 1.0 ] },
110+ "up": { "texture": "#shield_round", "uv": [ 3.0, 2.0, 4.0, 14.0 ] },
111+ "down": { "texture": "#shield_round_back", "uv": [ 3.0, 2.0, 4.0, 14.0 ] }
112+ }
113+ }
114+ ]
115+ }
116+ ]
117+ },
118+ {
119+ "name": "007",
120+ "from": [ 1.0, 0.0, -1.0 ],
121+ "to": [ 5.0, 1.0, 0.0 ],
122+ "rotationOrigin": [ 1.0, 0.0, 0.0 ],
123+ "faces": {
124+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
125+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
126+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
127+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
128+ "up": { "texture": "#shield_round", "uv": [ 6.0, 0.0, 10.0, 1.0 ] },
129+ "down": { "texture": "#shield_round_back", "uv": [ 6.0, 0.0, 10.0, 1.0 ] }
130+ }
131+ },
132+ {
133+ "name": "008",
134+ "from": [ 1.0, 0.0, 14.0 ],
135+ "to": [ 5.0, 1.0, 15.0 ],
136+ "rotationOrigin": [ 1.0, 0.0, 14.0 ],
137+ "faces": {
138+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
139+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
140+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
141+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
142+ "up": { "texture": "#shield_round", "uv": [ 6.0, 15.0, 10.0, 16.0 ] },
143+ "down": { "texture": "#shield_round_back", "uv": [ 6.0, 15.0, 10.0, 16.0 ] }
144+ }
145+ },
146+ {
147+ "name": "009",
148+ "from": [ 6.0, 0.0, 1.5 ],
149+ "to": [ 7.0, 1.0, 14.5 ],
150+ "rotationOrigin": [ 3.0, 0.0, 7.5 ],
151+ "rotationY": 180.0,
152+ "faces": {
153+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
154+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
155+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
156+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 13.0, 1.0 ] },
157+ "up": { "texture": "#shield_round", "uv": [ 4.0, 1.5, 5.0, 14.5 ] },
158+ "down": { "texture": "#shield_round_back", "uv": [ 4.0, 1.5, 5.0, 14.5 ] }
159+ },
160+ "children": [
161+ {
162+ "name": "010",
163+ "from": [ 2.0, 0.0, 1.5 ],
164+ "to": [ 3.0, 1.0, 11.5 ],
165+ "rotationOrigin": [ 2.0, 0.0, 1.5 ],
166+ "faces": {
167+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
168+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 10.0, 1.0 ] },
169+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
170+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 10.0, 1.0 ] },
171+ "up": { "texture": "#shield_round", "uv": [ 2.0, 3.0, 3.0, 13.0 ] },
172+ "down": { "texture": "#shield_round_back", "uv": [ 2.0, 3.0, 3.0, 13.0 ] }
173+ },
174+ "children": [
175+ {
176+ "name": "011",
177+ "from": [ 1.0, 0.0, 2.0 ],
178+ "to": [ 2.0, 1.0, 8.0 ],
179+ "rotationOrigin": [ 1.0, 0.0, 2.0 ],
180+ "faces": {
181+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
182+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
183+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
184+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 6.0, 1.0 ] },
185+ "up": { "texture": "#shield_round", "uv": [ 1.0, 5.0, 2.0, 11.0 ] },
186+ "down": { "texture": "#shield_round_back", "uv": [ 1.0, 5.0, 2.0, 11.0 ] }
187+ },
188+ "children": [
189+ {
190+ "name": "012",
191+ "from": [ 1.0, 0.0, 1.0 ],
192+ "to": [ 2.0, 1.0, 5.0 ],
193+ "rotationOrigin": [ 1.0, 0.0, 1.0 ],
194+ "faces": {
195+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
196+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
197+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 1.0, 1.0 ] },
198+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 0.0, 4.0, 1.0 ] },
199+ "up": { "texture": "#shield_round", "uv": [ 0.0, 6.0, 1.0, 10.0 ] },
200+ "down": { "texture": "#shield_round_back", "uv": [ 0.0, 6.0, 1.0, 10.0 ] }
201+ }
202+ }
203+ ]
204+ }
205+ ]
206+ }
207+ ]
208+ },
209+ {
210+ "name": "013",
211+ "from": [ 0.0, -1.0, 6.0 ],
212+ "to": [ 1.0, 0.0, 7.0 ],
213+ "rotationOrigin": [ 1.0, -1.0, 6.0 ],
214+ "faces": {
215+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
216+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
217+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
218+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
219+ "up": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
220+ "down": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] }
221+ },
222+ "children": [
223+ {
224+ "name": "014",
225+ "from": [ 0.0, -0.2, 0.0 ],
226+ "to": [ 6.0, 0.0, 1.0 ],
227+ "rotationOrigin": [ 0.0, -0.2, 0.0 ],
228+ "faces": {
229+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 6.0, 3.0 ], "autoUv": false },
230+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ], "autoUv": false },
231+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 6.0, 3.0 ], "autoUv": false },
232+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ], "autoUv": false },
233+ "up": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 6.0, 3.0 ] },
234+ "down": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 6.0, 3.0 ] }
235+ }
236+ }
237+ ]
238+ },
239+ {
240+ "name": "015",
241+ "from": [ 5.0, -1.0, 6.0 ],
242+ "to": [ 6.0, 0.0, 7.0 ],
243+ "rotationOrigin": [ 5.0, -1.0, 6.0 ],
244+ "faces": {
245+ "north": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
246+ "east": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
247+ "south": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
248+ "west": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
249+ "up": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] },
250+ "down": { "texture": "#shield_edging_grip", "uv": [ 0.0, 2.0, 1.0, 3.0 ] }
251+ }
252+ }
253+ ]
254+ }
255+ ]}
\ No newline at end of file
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_buckler.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_edging_grip.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_heater.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_heater_back.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_heater_straight.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_heater_straight_back.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_round.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/shield_round_back.png differ
Binary files /dev/null and b/ArmourMod/assets/bunnyviking/textures/item/armament/shield/weapon_parts_01.png differ