From 13b607ae38b030d9e0e6bd055ed14292636b4562 Mon Sep 17 00:00:00 2001 From: LtxPgm Date: Wed, 11 Sep 2024 14:55:22 -0500 Subject: [PATCH] Remodeled female buff shark --- .../UnifiedLatexSharkBuffFemale.bbmodel | 1 + .../BuffLatexSharkFemaleRenderer.java | 37 ++ .../renderer/LatexSharkFemaleRenderer.java | 32 -- .../model/BuffLatexSharkFemaleModel.java | 230 ++++++++++ .../renderer/model/LatexSharkFemaleModel.java | 411 ------------------ ...kFemale.java => BuffLatexSharkFemale.java} | 4 +- .../changed/init/ChangedEntities.java | 4 +- .../changed/init/ChangedEntityRenderers.java | 3 +- .../changed/init/ChangedLayerDefinitions.java | 4 +- .../changed/init/ChangedTransfurVariants.java | 4 +- .../textures/latex_shark_buff_female.png | Bin 0 -> 4343 bytes .../changed/textures/latex_shark_female.png | Bin 4649 -> 0 bytes 12 files changed, 277 insertions(+), 453 deletions(-) create mode 100644 3dmodels/UnifiedLatexModels/LatexShark/UnifiedLatexSharkBuffFemale.bbmodel create mode 100644 src/main/java/net/ltxprogrammer/changed/client/renderer/BuffLatexSharkFemaleRenderer.java delete mode 100644 src/main/java/net/ltxprogrammer/changed/client/renderer/LatexSharkFemaleRenderer.java create mode 100644 src/main/java/net/ltxprogrammer/changed/client/renderer/model/BuffLatexSharkFemaleModel.java delete mode 100644 src/main/java/net/ltxprogrammer/changed/client/renderer/model/LatexSharkFemaleModel.java rename src/main/java/net/ltxprogrammer/changed/entity/beast/{LatexSharkFemale.java => BuffLatexSharkFemale.java} (87%) create mode 100644 src/main/resources/assets/changed/textures/latex_shark_buff_female.png delete mode 100644 src/main/resources/assets/changed/textures/latex_shark_female.png diff --git a/3dmodels/UnifiedLatexModels/LatexShark/UnifiedLatexSharkBuffFemale.bbmodel b/3dmodels/UnifiedLatexModels/LatexShark/UnifiedLatexSharkBuffFemale.bbmodel new file mode 100644 index 000000000..611b65a2d --- /dev/null +++ b/3dmodels/UnifiedLatexModels/LatexShark/UnifiedLatexSharkBuffFemale.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.10","model_format":"modded_entity","box_uv":true},"name":"UnifiedLatexSharkBuffFemale","model_identifier":"","modded_entity_entity_class":"","modded_entity_version":"1.17","modded_entity_flip_y":true,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":96,"height":96},"elements":[{"name":"Head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,25,-4],"to":[4,33,4],"autouv":0,"color":6,"origin":[0,25,0],"uv_offset":[24,11],"faces":{"north":{"uv":[32,19,40,27],"texture":0},"east":{"uv":[24,19,32,27],"texture":0},"south":{"uv":[48,19,56,27],"texture":0},"west":{"uv":[40,19,48,27],"texture":0},"up":{"uv":[40,19,32,11],"texture":0},"down":{"uv":[48,11,40,19],"texture":0}},"type":"cube","uuid":"969f163f-643e-1513-f613-801b16574178"},{"name":"Torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,20,-2],"to":[4,25,2],"autouv":0,"color":6,"origin":[0,-1,0],"uv_offset":[32,27],"faces":{"north":{"uv":[36,31,44,36],"texture":0},"east":{"uv":[32,31,36,36],"texture":0},"south":{"uv":[48,31,56,36],"texture":0},"west":{"uv":[44,31,48,36],"texture":0},"up":{"uv":[44,31,36,27],"texture":0},"down":{"uv":[52,27,44,31],"texture":0}},"type":"cube","uuid":"bca67f8d-7c79-4567-0467-227db53629aa"},{"name":"LeftArm","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-8,19,-2],"to":[-4,25,2],"autouv":0,"color":6,"origin":[-4,23,0],"uv_offset":[36,54],"faces":{"north":{"uv":[40,58,44,64],"texture":0},"east":{"uv":[36,58,40,64],"texture":0},"south":{"uv":[48,58,52,64],"texture":0},"west":{"uv":[44,58,48,64],"texture":0},"up":{"uv":[44,58,40,54],"texture":0},"down":{"uv":[48,54,44,58],"texture":0}},"type":"cube","uuid":"bbe4d419-7833-ed0e-c06e-432cfad37114"},{"name":"RightArm","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[4,19,-2],"to":[8,25,2],"autouv":0,"color":6,"origin":[4,23,0],"uv_offset":[52,50],"faces":{"north":{"uv":[56,54,60,60],"texture":0},"east":{"uv":[52,54,56,60],"texture":0},"south":{"uv":[64,54,68,60],"texture":0},"west":{"uv":[60,54,64,60],"texture":0},"up":{"uv":[60,54,56,50],"texture":0},"down":{"uv":[64,50,60,54],"texture":0}},"type":"cube","uuid":"d1869a89-1318-04dc-3978-041acdf69422"},{"name":"RightThigh","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.5,6.5,-2],"to":[4.5,13.5,2],"autouv":0,"color":6,"inflate":0.175,"rotation":[12.5,0,0],"origin":[2.5,13.5,0],"uv_offset":[0,49],"faces":{"north":{"uv":[4,53,8,60],"texture":0},"east":{"uv":[0,53,4,60],"texture":0},"south":{"uv":[12,53,16,60],"texture":0},"west":{"uv":[8,53,12,60],"texture":0},"up":{"uv":[8,53,4,49],"texture":0},"down":{"uv":[12,49,8,53],"texture":0}},"type":"cube","uuid":"b93a9c4c-d2b5-2b13-4c05-3ef381ead558"},{"name":"RightCalf","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.49,3.3750000000000013,-4.400000000000002],"to":[4.49,9.37499999999999,-0.40000000000000036],"autouv":0,"color":6,"rotation":[-50,0,0],"origin":[2.5,9.25,-1.5],"uv_offset":[56,19],"faces":{"north":{"uv":[60,23,64,28.99999999999999],"texture":0},"east":{"uv":[56,23,60,28.99999999999999],"texture":0},"south":{"uv":[68,23,72,28.99999999999999],"texture":0},"west":{"uv":[64,23,68,28.99999999999999],"texture":0},"up":{"uv":[64,23,60,19],"texture":0},"down":{"uv":[68,19,64,23],"texture":0}},"type":"cube","uuid":"04e4a5ed-242c-43f3-55e7-3d67b3ad92dc"},{"name":"RightArch","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.5,1.6999999999999984,-1.9749999999999996],"to":[4.5,7.70000000000001,1.025],"autouv":0,"color":6,"inflate":0.005,"rotation":[20,0,0],"origin":[2.5,-0.75,-1.25],"uv_offset":[52,60],"faces":{"north":{"uv":[55,63,59,69.00000000000001],"texture":0},"east":{"uv":[52,63,55,69.00000000000001],"texture":0},"south":{"uv":[62,63,66,69.00000000000001],"texture":0},"west":{"uv":[59,63,62,69.00000000000001],"texture":0},"up":{"uv":[59,63,55,60],"texture":0},"down":{"uv":[63,60,59,63],"texture":0}},"type":"cube","uuid":"ea19da0e-afbf-e366-4a11-1e15163646f9"},{"name":"RightPad","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.5,0,-3.200000000000001],"to":[4.5,2,1.7999999999999998],"autouv":0,"color":6,"origin":[0.5,-2.5,-0.75],"uv_offset":[56,42],"faces":{"north":{"uv":[61,47,65,49],"texture":0},"east":{"uv":[56,47,61,49],"texture":0},"south":{"uv":[70,47,74,49],"texture":0},"west":{"uv":[65,47,70,49],"texture":0},"up":{"uv":[65,47,61,42],"texture":0},"down":{"uv":[69,42,65,47],"texture":0}},"type":"cube","uuid":"a86b2607-5be3-c368-1cc8-5bd805097f6c"},{"name":"LeftThigh","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,6.5,-2],"to":[-0.5,13.5,2],"autouv":0,"color":6,"inflate":0.175,"rotation":[12.5,0,0],"origin":[-2.5,13.5,0],"uv_offset":[40,43],"faces":{"north":{"uv":[44,47,48,54],"texture":0},"east":{"uv":[40,47,44,54],"texture":0},"south":{"uv":[52,47,56,54],"texture":0},"west":{"uv":[48,47,52,54],"texture":0},"up":{"uv":[48,47,44,43],"texture":0},"down":{"uv":[52,43,48,47],"texture":0}},"type":"cube","uuid":"b81eb969-5745-27d3-f3c6-78224967b5b1"},{"name":"LeftCalf","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.49,3.3750000000000013,-4.400000000000002],"to":[-0.4900000000000002,9.37499999999999,-0.40000000000000036],"autouv":0,"color":6,"rotation":[-50,0,0],"origin":[-2.5,9.25,-1.5],"uv_offset":[16,55],"faces":{"north":{"uv":[20,59,24,64.99999999999999],"texture":0},"east":{"uv":[16,59,20,64.99999999999999],"texture":0},"south":{"uv":[28.000000000000004,59,32,64.99999999999999],"texture":0},"west":{"uv":[24,59,28.000000000000004,64.99999999999999],"texture":0},"up":{"uv":[24,59,20,55],"texture":0},"down":{"uv":[28,55,24,59],"texture":0}},"type":"cube","uuid":"360625ce-1f83-c1a8-e66d-d78f5fa553aa"},{"name":"LeftArch","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,1.6999999999999984,-1.9749999999999996],"to":[-0.5,7.70000000000001,1.025],"autouv":0,"color":6,"inflate":0.005,"rotation":[20,0,0],"origin":[-2.5,-0.75,-1.25],"uv_offset":[0,60],"faces":{"north":{"uv":[2.9999999999999996,63,7,69.00000000000001],"texture":0},"east":{"uv":[0,63,2.9999999999999996,69.00000000000001],"texture":0},"south":{"uv":[10,63,14,69.00000000000001],"texture":0},"west":{"uv":[7,63,10,69.00000000000001],"texture":0},"up":{"uv":[7,63,3,60],"texture":0},"down":{"uv":[11,60,7,63],"texture":0}},"type":"cube","uuid":"351c51d9-8534-0025-7261-9b0781ec9e01"},{"name":"LeftPad","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,0,-3.200000000000001],"to":[-0.5,2,1.7999999999999998],"autouv":0,"color":6,"origin":[-4.5,-2.5,-0.75],"uv_offset":[56,0],"faces":{"north":{"uv":[61,5.000000000000001,65,7.000000000000001],"texture":0},"east":{"uv":[56,5.000000000000001,61,7.000000000000001],"texture":0},"south":{"uv":[70,5.000000000000001,74,7.000000000000001],"texture":0},"west":{"uv":[65,5.000000000000001,70,7.000000000000001],"texture":0},"up":{"uv":[65,5.000000000000001,61,0],"texture":0},"down":{"uv":[69,0,65,5.000000000000001],"texture":0}},"type":"cube","uuid":"2cb31ee6-dfbe-78c5-41fc-15efa9f1ae71"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2,5.25,-1.0499999999999998],"to":[2,13.25,2.95],"autouv":0,"color":6,"rotation":[-67.49999999999972,0,0],"origin":[0,14,-0.25],"uv_offset":[24,43],"faces":{"north":{"uv":[28,47,32,55],"texture":0},"east":{"uv":[24,47,28,55],"texture":0},"south":{"uv":[36,47,40,55],"texture":0},"west":{"uv":[32,47,36,55],"texture":0},"up":{"uv":[32,47,28,43],"texture":0},"down":{"uv":[36,43,32,47],"texture":0}},"type":"cube","uuid":"6891f669-0c79-ae02-8d40-c8e5e08a9eb9"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1.5,6.856301895682794,8.391176308517085],"to":[1.5,11.856301895682794,11.391176308517085],"autouv":0,"color":6,"rotation":[-75.00000000000006,0,0],"origin":[0,10.5,9],"uv_offset":[37,64],"faces":{"north":{"uv":[40,67,43,72],"texture":0},"east":{"uv":[37,67,40,72],"texture":0},"south":{"uv":[46,67,49,72],"texture":0},"west":{"uv":[43,67,46,72],"texture":0},"up":{"uv":[43,67,40,64],"texture":0},"down":{"uv":[46,64,43,67],"texture":0}},"type":"cube","uuid":"4d90c125-aa8d-020c-d6d1-f2cc187f7db5"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1,5.34488598995803,12.02970908027411],"to":[1,10.34488598995803,14.02970908027411],"autouv":0,"color":6,"rotation":[-85.00000000000026,0,0],"origin":[0,10,12.75],"uv_offset":[0,19],"faces":{"north":{"uv":[2,21,4,26],"texture":0},"east":{"uv":[0,21,2,26],"texture":0},"south":{"uv":[6,21,8,26],"texture":0},"west":{"uv":[4,21,6,26],"texture":0},"up":{"uv":[4,21,2,19],"texture":0},"down":{"uv":[6,19,4,21],"texture":0}},"type":"cube","uuid":"23ba0fd5-ae3d-16fd-096a-68d4109a7046"},{"name":"TailFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,4.25,2],"to":[0.5,13.25,3],"autouv":0,"color":6,"rotation":[-102.49999999999956,0,0],"origin":[-3.5,13.25,1.75],"uv_offset":[24,37],"faces":{"north":{"uv":[25,38,26,47],"texture":0},"east":{"uv":[24,38,25,47],"texture":0},"south":{"uv":[27,38,28,47],"texture":0},"west":{"uv":[26,38,27,47],"texture":0},"up":{"uv":[26,38,25,37],"texture":0},"down":{"uv":[27,37,26,38],"texture":0}},"type":"cube","uuid":"f019ddd9-b2f9-834e-3746-cd7c891367e0"},{"name":"TailFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,5.25,1],"to":[0.5,9.25,2],"autouv":0,"color":6,"rotation":[-102.49999999999956,0,0],"origin":[-3.5,13.25,1.75],"uv_offset":[56,42],"faces":{"north":{"uv":[57,43,58,47],"texture":0},"east":{"uv":[56,43,57,47],"texture":0},"south":{"uv":[59,43,60,47],"texture":0},"west":{"uv":[58,43,59,47],"texture":0},"up":{"uv":[58,43,57,42],"texture":0},"down":{"uv":[59,42,58,43],"texture":0}},"type":"cube","uuid":"0619148c-114a-668f-5ae2-2906d739a0ce"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,8.91682052507267,14.632137353172997],"to":[0.5,18.91682052507267,17.632137353172997],"autouv":0,"color":6,"rotation":[49.99999999999999,0,0],"origin":[0,10.75,16.75],"uv_offset":[29,62],"faces":{"north":{"uv":[32,65,33,75],"texture":0},"east":{"uv":[29,65,32,75],"texture":0},"south":{"uv":[36,65,37,75],"texture":0},"west":{"uv":[33,65,36,75],"texture":0},"up":{"uv":[33,65,32,62],"texture":0},"down":{"uv":[34,62,33,65],"texture":0}},"type":"cube","uuid":"2de2c38a-b978-cdad-bb67-70b0e48b3130"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,9.91682052507267,17.632137353172997],"to":[0.5,16.91682052507267,18.632137353172997],"autouv":0,"color":6,"rotation":[49.99999999999999,0,0],"origin":[0,10.75,16.75],"uv_offset":[22,65],"faces":{"north":{"uv":[23,66,24,73],"texture":0},"east":{"uv":[22,66,23,73],"texture":0},"south":{"uv":[25,66,26,73],"texture":0},"west":{"uv":[24,66,25,73],"texture":0},"up":{"uv":[24,66,23,65],"texture":0},"down":{"uv":[25,65,24,66],"texture":0}},"type":"cube","uuid":"cca46ea9-6d3f-3dea-4e34-e0cd8cd270db"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,4.303831358250889,14.920388739937962],"to":[0.5,12.30383135825089,17.920388739937962],"autouv":0,"color":6,"inflate":-0.05000000000000001,"rotation":[-64.99999999999993,0,0],"origin":[0,9.75,16.75],"uv_offset":[14,65],"faces":{"north":{"uv":[17,68,18,76],"texture":0},"east":{"uv":[14,68,17,76],"texture":0},"south":{"uv":[21,68,22,76],"texture":0},"west":{"uv":[18,68,21,76],"texture":0},"up":{"uv":[18,68,17,65],"texture":0},"down":{"uv":[19,65,18,68],"texture":0}},"type":"cube","uuid":"69a8f051-42b6-1f10-59bf-7cc5188d56d2"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,3.4038313582508892,14.920388739937962],"to":[0.5,4.403831358250889,15.920388739937962],"autouv":0,"color":6,"inflate":-0.05000000000000001,"rotation":[-64.99999999999993,0,0],"origin":[0,9.75,16.75],"uv_offset":[32,9],"faces":{"north":{"uv":[33,10,34,11],"texture":0},"east":{"uv":[32,10,33,11],"texture":0},"south":{"uv":[35,10,36,11],"texture":0},"west":{"uv":[34,10,35,11],"texture":0},"up":{"uv":[34,10,33,9],"texture":0},"down":{"uv":[35,9,34,10],"texture":0}},"type":"cube","uuid":"856e1649-260f-aec9-9a34-da6eb424d4ee"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2.6808479557110054,25.400000000000002,-2.073576436351039],"to":[5.680847955711005,27.400000000000002,-0.07357643635103894],"autouv":0,"color":6,"rotation":[-30.000000000000448,-55.000000000000334,8.317691801542944e-15],"origin":[3.5,26.4,-1.5],"uv_offset":[68,17],"faces":{"north":{"uv":[70,19,73,21],"texture":0},"east":{"uv":[68,19,70,21],"texture":0},"south":{"uv":[75,19,78,21],"texture":0},"west":{"uv":[73,19,75,21],"texture":0},"up":{"uv":[73,19,70,17],"texture":0},"down":{"uv":[76,17,73,19],"texture":0}},"type":"cube","uuid":"47f8ba64-1dba-1758-cdf8-fc036369fd85"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.319152044288997,25.400000000000002,-2.073576436351038],"to":[-1.3191520442889972,27.400000000000002,-0.07357643635103805],"autouv":0,"color":6,"rotation":[29.99999999999955,-55.000000000000604,-179.99999999999915],"origin":[-3.5,26.4,-1.5],"uv_offset":[12,49],"faces":{"north":{"uv":[14,51,17,53],"texture":0},"east":{"uv":[12,51,14,53],"texture":0},"south":{"uv":[19,51,22,53],"texture":0},"west":{"uv":[17,51,19,53],"texture":0},"up":{"uv":[17,51,14,49],"texture":0},"down":{"uv":[20,49,17,51],"texture":0}},"type":"cube","uuid":"4c894388-1182-e5e0-758f-ac947a1773b6"},{"name":"Snout","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1.5,26,-7],"to":[1.5,28,-4],"autouv":0,"color":6,"inflate":0.01,"rotation":[1.637985660953711e-13,0,0],"origin":[0,-1,0],"uv_offset":[64,49],"faces":{"north":{"uv":[67,52,70,54],"texture":0},"east":{"uv":[64,52,67,54],"texture":0},"south":{"uv":[73,52,76,54],"texture":0},"west":{"uv":[70,52,73,54],"texture":0},"up":{"uv":[70,52,67,49],"texture":0},"down":{"uv":[73,49,70,52],"texture":0}},"type":"cube","uuid":"4e2843a4-964c-75d4-ddf1-f378491a6a96"},{"name":"Snout","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1.5,25,-6],"to":[1.5,26,-4],"autouv":0,"color":6,"rotation":[1.637985660953711e-13,0,0],"origin":[0,-1,0],"uv_offset":[28,55],"faces":{"north":{"uv":[30,57,33,58],"texture":0},"east":{"uv":[28,57,30,58],"texture":0},"south":{"uv":[35,57,38,58],"texture":0},"west":{"uv":[33,57,35,58],"texture":0},"up":{"uv":[33,57,30,55],"texture":0},"down":{"uv":[36,55,33,57],"texture":0}},"type":"cube","uuid":"c4001bf5-dae3-c052-fc26-943a264fb79f"},{"name":"Snout","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1.5,26.01,-7],"to":[-0.5,28.01,-3],"autouv":0,"color":6,"rotation":[-2.716170253994436e-13,-12.50000000000001,3.158256864110944e-14],"origin":[-1.5,28.01,-7],"uv_offset":[62,65],"faces":{"north":{"uv":[66,69,67,71],"texture":0},"east":{"uv":[62,69,66,71],"texture":0},"south":{"uv":[71,69,72,71],"texture":0},"west":{"uv":[67,69,71,71],"texture":0},"up":{"uv":[67,69,66,65],"texture":0},"down":{"uv":[68,65,67,69],"texture":0}},"type":"cube","uuid":"9753b296-6685-f5e7-b0de-e8490c7e9e80"},{"name":"Snout","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.5,26.01,-7],"to":[1.5,28.01,-3],"autouv":0,"color":6,"rotation":[-2.716170253994436e-13,12.50000000000001,-3.158256864110944e-14],"origin":[1.5,28.01,-7],"uv_offset":[64,56],"faces":{"north":{"uv":[68,60,69,62],"texture":0},"east":{"uv":[64,60,68,62],"texture":0},"south":{"uv":[73,60,74,62],"texture":0},"west":{"uv":[69,60,73,62],"texture":0},"up":{"uv":[69,60,68,56],"texture":0},"down":{"uv":[70,56,69,60],"texture":0}},"type":"cube","uuid":"62913e72-8bf0-6441-0909-088fcbce8a31"},{"name":"BackFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1,17.5,0],"to":[1,23.5,2],"autouv":0,"color":6,"rotation":[-29.999999999999954,0,0],"origin":[0,23.5,2],"faces":{"north":{"uv":[2,2,4,8],"texture":0},"east":{"uv":[0,2,2,8],"texture":0},"south":{"uv":[6,2,8,8],"texture":0},"west":{"uv":[4,2,6,8],"texture":0},"up":{"uv":[4,2,2,0],"texture":0},"down":{"uv":[6,0,4,2],"texture":0}},"type":"cube","uuid":"f0a90e5e-26c3-741c-3f2e-f5470a07cda5"},{"name":"BackFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1,18.5,-1],"to":[1,21.5,0],"autouv":0,"color":6,"rotation":[-29.999999999999954,0,0],"origin":[0,23.5,2],"uv_offset":[24,4],"faces":{"north":{"uv":[25,5,27,8],"texture":0},"east":{"uv":[24,5,25,8],"texture":0},"south":{"uv":[28,5,30,8],"texture":0},"west":{"uv":[27,5,28,8],"texture":0},"up":{"uv":[27,5,25,4],"texture":0},"down":{"uv":[29,4,27,5],"texture":0}},"type":"cube","uuid":"abd3c36e-b15a-e43a-f041-4febf060c39c"},{"name":"Spike","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-8.531794271265184,17.428915331794165,1.156794271265177],"to":[-7.531794271265184,21.428915331794165,2.156794271265177],"autouv":0,"color":6,"rotation":[27.48091447939525,39.98844882380952,40.690458039313086],"origin":[-7.656794271265184,20.928915331794165,1.6567942712651755],"uv_offset":[56,0],"faces":{"north":{"uv":[57,1,58,5],"texture":0},"east":{"uv":[56,1,57,5],"texture":0},"south":{"uv":[59,1,60,5],"texture":0},"west":{"uv":[58,1,59,5],"texture":0},"up":{"uv":[58,1,57,0],"texture":0},"down":{"uv":[59,0,58,1],"texture":0}},"type":"cube","uuid":"90da0fcb-aed5-921d-6612-c20d24f69e94"},{"name":"Spike","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-9.531794271265184,17.428915331794165,1.156794271265177],"to":[-8.531794271265184,22.428915331794165,2.156794271265177],"autouv":0,"color":6,"rotation":[27.48091447939525,39.98844882380952,40.690458039313086],"origin":[-7.656794271265184,20.928915331794165,1.6567942712651755],"uv_offset":[68,35],"faces":{"north":{"uv":[69,36,70,41],"texture":0},"east":{"uv":[68,36,69,41],"texture":0},"south":{"uv":[71,36,72,41],"texture":0},"west":{"uv":[70,36,71,41],"texture":0},"up":{"uv":[70,36,69,35],"texture":0},"down":{"uv":[71,35,70,36],"texture":0}},"type":"cube","uuid":"36ddc197-64e8-b3e4-16ba-920fbad4e7d1"},{"name":"Spike","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[6.578939839074726,17.625389928009728,-0.8848870711756085],"to":[7.578939839074726,22.625389928009728,0.1151129288243915],"autouv":0,"color":6,"rotation":[151.40314616209523,-47.819546977335875,178.1386699534825],"origin":[7.0789398390747245,20.125389928009728,1.1151129288243915],"uv_offset":[16,53],"faces":{"north":{"uv":[17,54,18,59],"texture":0},"east":{"uv":[16,54,17,59],"texture":0},"south":{"uv":[19,54,20,59],"texture":0},"west":{"uv":[18,54,19,59],"texture":0},"up":{"uv":[18,54,17,53],"texture":0},"down":{"uv":[19,53,18,54],"texture":0}},"type":"cube","uuid":"2d3cf050-496c-58ca-64ae-be2464d6f67e"},{"name":"Spike","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[6.578939839074726,17.625389928009728,0.1151129288243915],"to":[7.578939839074726,21.625389928009728,1.1151129288243915],"autouv":0,"color":6,"rotation":[151.40314616209523,-47.819546977335875,178.1386699534825],"origin":[7.0789398390747245,20.125389928009728,1.1151129288243915],"uv_offset":[52,42],"faces":{"north":{"uv":[53,43,54,47],"texture":0},"east":{"uv":[52,43,53,47],"texture":0},"south":{"uv":[55,43,56,47],"texture":0},"west":{"uv":[54,43,55,47],"texture":0},"up":{"uv":[54,43,53,42],"texture":0},"down":{"uv":[55,42,54,43],"texture":0}},"type":"cube","uuid":"a882aa1a-863f-e3f6-22ba-7e2a4a641caf"},{"name":"Base","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2,13.200000000000001,1.9749999999999988],"to":[2,15.200000000000001,3.9749999999999988],"autouv":0,"color":6,"rotation":[-109.99999999999955,0,0],"origin":[0,14.125,1.6000000000000005],"uv_offset":[24,0],"faces":{"north":{"uv":[26,2,30,4],"texture":0},"east":{"uv":[24,2,26,4],"texture":0},"south":{"uv":[32,2,36,4],"texture":0},"west":{"uv":[30,2,32,4],"texture":0},"up":{"uv":[30,2,26,0],"texture":0},"down":{"uv":[34,0,30,2],"texture":0}},"type":"cube","uuid":"f75589b0-800e-fb8c-7917-27d595f81dbd"},{"name":"LeftPlantoid","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.25,20.70000000000001,-2.7999999999999337],"to":[-0.25,24.70000000000001,-0.7999999999999328],"autouv":0,"color":6,"mirror_uv":true,"inflate":-0.030000000000000027,"rotation":[16,0,0],"origin":[0,23,-2],"uv_offset":[64,29],"faces":{"north":{"uv":[70,31,66,35],"texture":0},"east":{"uv":[72,31,70,35],"texture":0},"south":{"uv":[76,31,72,35],"texture":0},"west":{"uv":[66,31,64,35],"texture":0},"up":{"uv":[66,31,70,29],"texture":0},"down":{"uv":[70,29,74,31],"texture":0}},"type":"cube","uuid":"1f709852-a865-3b71-c164-64627bc2b977"},{"name":"Center","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,21.300000000000004,-2.0999999999999313],"to":[0.5,24.300000000000004,-1.0999999999999313],"autouv":0,"color":6,"inflate":0.2,"rotation":[11,0,0],"origin":[0,23.000000000000007,-1.9999999999999312],"uv_offset":[32,27],"faces":{"north":{"uv":[33,28,34,31],"texture":0},"east":{"uv":[32,28,33,31],"texture":0},"south":{"uv":[35,28,36,31],"texture":0},"west":{"uv":[34,28,35,31],"texture":0},"up":{"uv":[34,28,33,27],"texture":0},"down":{"uv":[35,27,34,28],"texture":0}},"type":"cube","uuid":"34c8e8be-f823-9b8a-a3cd-a92d4341048f"},{"name":"RightPlantoid","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.25,20.70000000000001,-2.7999999999999337],"to":[4.25,24.70000000000001,-0.7999999999999328],"autouv":0,"color":6,"inflate":-0.030000000000000027,"rotation":[16,0,0],"origin":[0,23,-2],"uv_offset":[64,29],"faces":{"north":{"uv":[66,31,70,35],"texture":0},"east":{"uv":[64,31,66,35],"texture":0},"south":{"uv":[72,31,76,35],"texture":0},"west":{"uv":[70,31,72,35],"texture":0},"up":{"uv":[70,31,66,29],"texture":0},"down":{"uv":[74,29,70,31],"texture":0}},"type":"cube","uuid":"2e0535cf-8b14-ec6a-6aff-0844cfe8884e"},{"name":"Torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,12.5,-2],"to":[4,15.5,2],"autouv":0,"color":6,"origin":[0,-1.5,0],"uv_offset":[28,36],"faces":{"north":{"uv":[32,40,40,43],"texture":0},"east":{"uv":[28,40,32,43],"texture":0},"south":{"uv":[44,40,52,43],"texture":0},"west":{"uv":[40,40,44,43],"texture":0},"up":{"uv":[40,40,32,36],"texture":0},"down":{"uv":[48,36,40,40],"texture":0}},"type":"cube","uuid":"713002c3-90df-3ce2-8aca-15869f1d4d50"},{"name":"Torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,14.75,-2],"to":[4,19.75,2],"autouv":0,"color":6,"inflate":-0.5,"origin":[0,-2.25,0],"uv_offset":[32,0],"faces":{"north":{"uv":[36,4,44,9],"texture":0},"east":{"uv":[32,4,36,9],"texture":0},"south":{"uv":[48,4,56,9],"texture":0},"west":{"uv":[44,4,48,9],"texture":0},"up":{"uv":[44,4,36,0],"texture":0},"down":{"uv":[52,0,44,4],"texture":0}},"type":"cube","uuid":"d3502f4e-0af9-5e7e-f8b7-8a4d7f8df057"},{"name":"HeadFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-8.75,29,-2],"to":[-2.75,32,0],"autouv":0,"color":6,"shade":false,"rotation":[-58.80169871881741,41.99821243290058,-55.000574541565605],"origin":[-3,31,-2],"uv_offset":[64,12],"faces":{"north":{"uv":[66,14,72,17],"texture":0},"east":{"uv":[64,14,66,17],"texture":0},"south":{"uv":[74,14,80,17],"texture":0},"west":{"uv":[72,14,74,17],"texture":0},"up":{"uv":[72,14,66,12],"texture":0},"down":{"uv":[78,12,72,14],"texture":0}},"type":"cube","uuid":"0bd08517-28a2-41d5-03a0-68f20f8cdee5"},{"name":"HeadFin","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2.75,30,-2],"to":[3.25,33,0],"autouv":0,"color":6,"rotation":[58.80169871881727,41.99821243290048,-124.99942545843466],"origin":[3,31,-2],"uv_offset":[60,7],"faces":{"north":{"uv":[62,9,68,12],"texture":0},"east":{"uv":[60,9,62,12],"texture":0},"south":{"uv":[70,9,76,12],"texture":0},"west":{"uv":[68,9,70,12],"texture":0},"up":{"uv":[68,9,62,7],"texture":0},"down":{"uv":[74,7,68,9],"texture":0}},"type":"cube","uuid":"41d1f680-243c-3258-02c7-353f96d5155b"},{"name":"InnerHairLayer","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,22,-4],"to":[4,33,4],"autouv":0,"color":6,"inflate":0.2,"origin":[0,25,0],"faces":{"north":{"uv":[8,8,16,19],"texture":0},"east":{"uv":[0,8,8,19],"texture":0},"south":{"uv":[24,8,32,19],"texture":0},"west":{"uv":[16,8,24,19],"texture":0},"up":{"uv":[16,8,8,0],"texture":0},"down":{"uv":[24,0,16,8],"texture":0}},"type":"cube","uuid":"2dc2b7cb-16e8-d1a5-12ec-6b7cb2fb0013"},{"name":"OuterHairLayer","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,23,-4],"to":[4,33,4],"autouv":0,"color":6,"inflate":0.35,"origin":[0,25,0],"uv_offset":[0,19],"faces":{"north":{"uv":[8,27,16,37],"texture":0},"east":{"uv":[0,27,8,37],"texture":0},"south":{"uv":[24,27,32,37],"texture":0},"west":{"uv":[16,27,24,37],"texture":0},"up":{"uv":[16,27,8,19],"texture":0},"down":{"uv":[24,19,16,27],"texture":0}},"type":"cube","uuid":"3f940d05-9a31-9bd9-de57-29ba7d77651b"},{"name":"LeftArm","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-8,13,-2],"to":[-4,19,2],"autouv":0,"color":6,"inflate":0.1,"origin":[-4,17,0],"uv_offset":[52,32],"faces":{"north":{"uv":[56,36,60,42],"texture":0},"east":{"uv":[52,36,56,42],"texture":0},"south":{"uv":[64,36,68,42],"texture":0},"west":{"uv":[60,36,64,42],"texture":0},"up":{"uv":[60,36,56,32],"texture":0},"down":{"uv":[64,32,60,36],"texture":0}},"type":"cube","uuid":"a3de8e38-ed7d-596a-1b7c-fca06a088656"},{"name":"RightArm","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[4,13,-2],"to":[8,19,2],"autouv":0,"color":6,"inflate":0.1,"origin":[4,23,0],"uv_offset":[48,9],"faces":{"north":{"uv":[52,13,56,19],"texture":0},"east":{"uv":[48,13,52,19],"texture":0},"south":{"uv":[60,13,64,19],"texture":0},"west":{"uv":[56,13,60,19],"texture":0},"up":{"uv":[56,13,52,9],"texture":0},"down":{"uv":[60,9,56,13],"texture":0}},"type":"cube","uuid":"7cb1278c-6909-a6eb-d90a-0b79b9e521e4"},{"name":"Torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,18.75,-2],"to":[4,20.75,2],"autouv":0,"color":6,"inflate":-0.3,"origin":[0,-2.25,0],"uv_offset":[0,43],"faces":{"north":{"uv":[4,47,12,49],"texture":0},"east":{"uv":[0,47,4,49],"texture":0},"south":{"uv":[16,47,24,49],"texture":0},"west":{"uv":[12,47,16,49],"texture":0},"up":{"uv":[12,47,4,43],"texture":0},"down":{"uv":[20,43,12,47],"texture":0}},"type":"cube","uuid":"9163b079-728d-3f88-2b2b-a43b75457f69"},{"name":"Torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,14.75,-2],"to":[4,16.75,2],"autouv":0,"color":6,"inflate":-0.3,"origin":[0,-6.25,0],"uv_offset":[0,37],"faces":{"north":{"uv":[4,41,12,43],"texture":0},"east":{"uv":[0,41,4,43],"texture":0},"south":{"uv":[16,41,24,43],"texture":0},"west":{"uv":[12,41,16,43],"texture":0},"up":{"uv":[12,41,4,37],"texture":0},"down":{"uv":[20,37,12,41],"texture":0}},"type":"cube","uuid":"0a65f988-45fe-c8ee-2fdf-3863eecf6af2"}],"outliner":[{"name":"RightLeg","origin":[2.5,13.5,0],"color":0,"uuid":"b7b8e8ea-7868-cace-cbc1-08399ec71310","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["b93a9c4c-d2b5-2b13-4c05-3ef381ead558",{"name":"RightLowerLeg","origin":[2.5,7.125000000000002,-3.450000000000001],"color":0,"uuid":"30af7349-07dd-b25b-272a-f198e274c71f","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["04e4a5ed-242c-43f3-55e7-3d67b3ad92dc",{"name":"RightFoot","origin":[2.5,6.325000000000001,3.724999999999999],"color":0,"uuid":"4c44af81-5191-cc65-47d9-53aa95f885b0","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["ea19da0e-afbf-e366-4a11-1e15163646f9",{"name":"RightPad","origin":[2.5,2,-0.7000000000000006],"color":0,"uuid":"0be67acf-7a53-fc22-2295-ee3e85ae270a","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["a86b2607-5be3-c368-1cc8-5bd805097f6c"]}]}]}]},{"name":"LeftLeg","origin":[-2.5,13.5,0],"color":0,"uuid":"b39d18e1-1347-9575-cdec-4f13be2fcf4d","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["b81eb969-5745-27d3-f3c6-78224967b5b1",{"name":"LeftLowerLeg","origin":[-2.5,7.125000000000002,-3.450000000000001],"color":0,"uuid":"ee82e87d-22c6-da8e-8022-b23c3eec6abf","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["360625ce-1f83-c1a8-e66d-d78f5fa553aa",{"name":"LeftFoot","origin":[-2.5,6.325000000000001,3.724999999999999],"color":0,"uuid":"9d30a7f4-be72-fddb-92ba-5b746f8a3e6c","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["351c51d9-8534-0025-7261-9b0781ec9e01",{"name":"LeftPad","origin":[-2.5,2,-0.7000000000000006],"color":0,"uuid":"1e31f4e1-7f52-bd1c-2150-a33b9e334f62","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["2cb31ee6-dfbe-78c5-41fc-15efa9f1ae71"]}]}]}]},{"name":"Head","origin":[0,25,0],"color":0,"uuid":"95f715d4-3987-b668-7888-0adf7513d6e5","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["969f163f-643e-1513-f613-801b16574178","47f8ba64-1dba-1758-cdf8-fc036369fd85","4c894388-1182-e5e0-758f-ac947a1773b6","4e2843a4-964c-75d4-ddf1-f378491a6a96","c4001bf5-dae3-c052-fc26-943a264fb79f","9753b296-6685-f5e7-b0de-e8490c7e9e80","62913e72-8bf0-6441-0909-088fcbce8a31",{"name":"Fins","origin":[0,-1,-1],"color":0,"uuid":"c853228f-b06a-552e-be4e-bb1c17064661","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["0bd08517-28a2-41d5-03a0-68f20f8cdee5","41d1f680-243c-3258-02c7-353f96d5155b"]},{"name":"Hair","origin":[0,0,0],"color":0,"uuid":"23ecb8ee-8c28-7c1f-a4f9-4e2b211e690c","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["2dc2b7cb-16e8-d1a5-12ec-6b7cb2fb0013","3f940d05-9a31-9bd9-de57-29ba7d77651b"]}]},{"name":"Torso","origin":[0,25,0],"color":0,"uuid":"f351e449-f6c5-3c46-86ca-b2b3dd9cdb91","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["bca67f8d-7c79-4567-0467-227db53629aa","713002c3-90df-3ce2-8aca-15869f1d4d50","d3502f4e-0af9-5e7e-f8b7-8a4d7f8df057","9163b079-728d-3f88-2b2b-a43b75457f69","0a65f988-45fe-c8ee-2fdf-3863eecf6af2",{"name":"Tail","origin":[0,14.5,0],"color":0,"uuid":"0e93d9fb-401e-c63b-e841-35892d2d9bf9","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"TailPrimary","origin":[0,15,0.75],"color":0,"uuid":"e1b4c08d-d409-eba8-8afa-dd3add2b74e9","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["6891f669-0c79-ae02-8d40-c8e5e08a9eb9","f75589b0-800e-fb8c-7917-27d595f81dbd","f019ddd9-b2f9-834e-3746-cd7c891367e0","0619148c-114a-668f-5ae2-2906d739a0ce",{"name":"TailSecondary","origin":[0,11.75,8],"color":0,"uuid":"4c20b1ef-f2af-a8c7-d989-9b4aca073d7a","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4d90c125-aa8d-020c-d6d1-f2cc187f7db5",{"name":"TailTertiary","origin":[0,10.25,12.5],"color":0,"uuid":"ba9c529b-5cca-7c9a-88f7-2a83898df670","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["23ba0fd5-ae3d-16fd-096a-68d4109a7046","2de2c38a-b978-cdad-bb67-70b0e48b3130","cca46ea9-6d3f-3dea-4e34-e0cd8cd270db","69a8f051-42b6-1f10-59bf-7cc5188d56d2","856e1649-260f-aec9-9a34-da6eb424d4ee"]}]}]}]},"f0a90e5e-26c3-741c-3f2e-f5470a07cda5","abd3c36e-b15a-e43a-f041-4febf060c39c",{"name":"Plantoids","origin":[0,25,-2],"color":0,"uuid":"d1c34592-31a4-062a-40cf-c4528dd38786","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["1f709852-a865-3b71-c164-64627bc2b977","34c8e8be-f823-9b8a-a3cd-a92d4341048f","2e0535cf-8b14-ec6a-6aff-0844cfe8884e"]}]},{"name":"RightArm","origin":[5,23,0],"color":0,"uuid":"0727a63f-675d-0410-83a2-95272bbb1c45","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d1869a89-1318-04dc-3978-041acdf69422","7cb1278c-6909-a6eb-d90a-0b79b9e521e4","2d3cf050-496c-58ca-64ae-be2464d6f67e","a882aa1a-863f-e3f6-22ba-7e2a4a641caf"]},{"name":"LeftArm","origin":[-5,23,0],"color":0,"uuid":"50e219cb-0674-bd9a-e28d-96eae6119569","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["bbe4d419-7833-ed0e-c06e-432cfad37114","a3de8e38-ed7d-596a-1b7c-fca06a088656","90da0fcb-aed5-921d-6612-c20d24f69e94","36ddc197-64e8-b3e4-16ba-920fbad4e7d1"]}],"textures":[{"path":"D:\\Users\\TheBa\\Source\\mcmods\\Changed-Minecraft-Mod\\src\\main\\resources\\assets\\changed\\textures\\latex_shark_buff_female.png","name":"latex_shark_buff_female.png","folder":"block","namespace":"","id":"2","width":96,"height":96,"uv_width":128,"uv_height":128,"particle":false,"use_as_default":false,"layers_enabled":true,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"b483ea78-f72c-da80-89e6-cfb7e1299b66","layers":[{"name":"layer","offset":[0,0],"scale":[1,1],"opacity":100,"visible":true,"blend_mode":"default","width":96,"height":96,"data_url":"data:image/png;base64,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"}],"relative_path":"../../../src/main/resources/assets/changed/textures/latex_shark_buff_female.png","source":"data:image/png;base64,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"}],"reference_images":[{"name":"421.png","scope":"project","position":[986,228],"size":[400,305.88235294117646],"source":"data:image/png;base64,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"}]} \ No newline at end of file diff --git a/src/main/java/net/ltxprogrammer/changed/client/renderer/BuffLatexSharkFemaleRenderer.java b/src/main/java/net/ltxprogrammer/changed/client/renderer/BuffLatexSharkFemaleRenderer.java new file mode 100644 index 000000000..d19146f74 --- /dev/null +++ b/src/main/java/net/ltxprogrammer/changed/client/renderer/BuffLatexSharkFemaleRenderer.java @@ -0,0 +1,37 @@ +package net.ltxprogrammer.changed.client.renderer; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.ltxprogrammer.changed.Changed; +import net.ltxprogrammer.changed.client.renderer.layers.CustomEyesLayer; +import net.ltxprogrammer.changed.client.renderer.layers.GasMaskLayer; +import net.ltxprogrammer.changed.client.renderer.layers.LatexParticlesLayer; +import net.ltxprogrammer.changed.client.renderer.layers.TransfurCapeLayer; +import net.ltxprogrammer.changed.client.renderer.model.BuffLatexSharkFemaleModel; +import net.ltxprogrammer.changed.client.renderer.model.armor.ArmorLatexFemaleSharkModel; +import net.ltxprogrammer.changed.entity.beast.BuffLatexSharkFemale; +import net.ltxprogrammer.changed.util.Color3; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; + +public class BuffLatexSharkFemaleRenderer extends AdvancedHumanoidRenderer> { + public BuffLatexSharkFemaleRenderer(EntityRendererProvider.Context context) { + super(context, new BuffLatexSharkFemaleModel(context.bakeLayer(BuffLatexSharkFemaleModel.LAYER_LOCATION)), + ArmorLatexFemaleSharkModel::new, ArmorLatexFemaleSharkModel.INNER_ARMOR, ArmorLatexFemaleSharkModel.OUTER_ARMOR, 0.5f); + this.addLayer(new LatexParticlesLayer<>(this, this.model)); + this.addLayer(TransfurCapeLayer.normalCape(this, context.getModelSet())); + this.addLayer(CustomEyesLayer.builder(this, context.getModelSet()) + .withEyelashes(Color3.fromInt(0x1a1a1b)).build()); + this.addLayer(GasMaskLayer.forLargeSnouted(this, context.getModelSet())); + } + + @Override + public ResourceLocation getTextureLocation(BuffLatexSharkFemale p_114482_) { + return Changed.modResource("textures/latex_shark_buff_female.png"); + } + + @Override + protected void scale(BuffLatexSharkFemale entity, PoseStack pose, float partialTick) { + float modelScale = 1.0525F; + pose.scale(modelScale, modelScale, modelScale); + } +} \ No newline at end of file diff --git a/src/main/java/net/ltxprogrammer/changed/client/renderer/LatexSharkFemaleRenderer.java b/src/main/java/net/ltxprogrammer/changed/client/renderer/LatexSharkFemaleRenderer.java deleted file mode 100644 index ba7206d67..000000000 --- a/src/main/java/net/ltxprogrammer/changed/client/renderer/LatexSharkFemaleRenderer.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.ltxprogrammer.changed.client.renderer; - -import net.ltxprogrammer.changed.Changed; -import net.ltxprogrammer.changed.client.renderer.model.LatexSharkFemaleModel; -import net.ltxprogrammer.changed.client.renderer.model.armor.ArmorLatexBuffSharkModel; -import net.ltxprogrammer.changed.entity.beast.LatexSharkFemale; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.resources.ResourceLocation; - -public class LatexSharkFemaleRenderer extends AdvancedHumanoidRenderer> { - public LatexSharkFemaleRenderer(EntityRendererProvider.Context context) { - super(context, new LatexSharkFemaleModel(context.bakeLayer(LatexSharkFemaleModel.LAYER_LOCATION)), - ArmorLatexBuffSharkModel::new, ArmorLatexBuffSharkModel.INNER_ARMOR, ArmorLatexBuffSharkModel.OUTER_ARMOR, 0.5f); - } - - @Override - public ResourceLocation getTextureLocation(LatexSharkFemale p_114482_) { - return Changed.modResource("textures/latex_shark_female.png"); - } - - public static class Remodel extends AdvancedHumanoidRenderer> { - public Remodel(EntityRendererProvider.Context context) { - super(context, new LatexSharkFemaleModel.Remodel(context.bakeLayer(LatexSharkFemaleModel.LAYER_LOCATION)), - ArmorLatexBuffSharkModel::new, ArmorLatexBuffSharkModel.INNER_ARMOR, ArmorLatexBuffSharkModel.OUTER_ARMOR, 0.5f); - } - - @Override - public ResourceLocation getTextureLocation(LatexSharkFemale p_114482_) { - return Changed.modResource("textures/remodel/latex_shark_buff_female.png"); - } - } -} \ No newline at end of file diff --git a/src/main/java/net/ltxprogrammer/changed/client/renderer/model/BuffLatexSharkFemaleModel.java b/src/main/java/net/ltxprogrammer/changed/client/renderer/model/BuffLatexSharkFemaleModel.java new file mode 100644 index 000000000..55c928271 --- /dev/null +++ b/src/main/java/net/ltxprogrammer/changed/client/renderer/model/BuffLatexSharkFemaleModel.java @@ -0,0 +1,230 @@ +package net.ltxprogrammer.changed.client.renderer.model; +// Made with Blockbench 4.1.5 +// Exported for Minecraft version 1.17 with Mojang mappings +// Paste this class into your mod and generate all required imports + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.ltxprogrammer.changed.Changed; +import net.ltxprogrammer.changed.client.renderer.animate.AnimatorPresets; +import net.ltxprogrammer.changed.client.renderer.animate.HumanoidAnimator; +import net.ltxprogrammer.changed.client.tfanimations.HelperModel; +import net.ltxprogrammer.changed.client.tfanimations.Limb; +import net.ltxprogrammer.changed.client.tfanimations.TransfurHelper; +import net.ltxprogrammer.changed.entity.beast.BuffLatexSharkFemale; +import net.minecraft.client.model.geom.ModelLayerLocation; +import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.client.model.geom.PartPose; +import net.minecraft.client.model.geom.builders.*; +import net.minecraft.world.entity.HumanoidArm; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +@OnlyIn(Dist.CLIENT) +public class BuffLatexSharkFemaleModel extends AdvancedHumanoidModel implements AdvancedHumanoidModelInterface { + // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor + public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(Changed.modResource("latex_shark_buff_female"), "main"); + private final ModelPart RightLeg; + private final ModelPart LeftLeg; + private final ModelPart RightArm; + private final ModelPart LeftArm; + private final ModelPart Head; + private final ModelPart Torso; + private final ModelPart Tail; + private final HumanoidAnimator animator; + + public BuffLatexSharkFemaleModel(ModelPart root) { + super(root); + this.RightLeg = root.getChild("RightLeg"); + this.LeftLeg = root.getChild("LeftLeg"); + this.Head = root.getChild("Head"); + this.Torso = root.getChild("Torso"); + this.Tail = Torso.getChild("Tail"); + this.RightArm = root.getChild("RightArm"); + this.LeftArm = root.getChild("LeftArm"); + + var tailPrimary = Tail.getChild("TailPrimary"); + var tailSecondary = tailPrimary.getChild("TailSecondary"); + var tailTertiary = tailSecondary.getChild("TailTertiary"); + + var leftLowerLeg = LeftLeg.getChild("LeftLowerLeg"); + var leftFoot = leftLowerLeg.getChild("LeftFoot"); + var rightLowerLeg = RightLeg.getChild("RightLowerLeg"); + var rightFoot = rightLowerLeg.getChild("RightFoot"); + + animator = HumanoidAnimator.of(this).hipOffset(-1.5f) + .torsoLength(12.5f) + .addPreset(AnimatorPresets.sharkLike( + Head, Torso, LeftArm, RightArm, + Tail, List.of(tailPrimary, tailSecondary, tailTertiary), + LeftLeg, leftLowerLeg, leftFoot, leftFoot.getChild("LeftPad"), RightLeg, rightLowerLeg, rightFoot, rightFoot.getChild("RightPad"))); + } + + + public static LayerDefinition createBodyLayer() { + MeshDefinition meshdefinition = new MeshDefinition(); + PartDefinition partdefinition = meshdefinition.getRoot(); + + PartDefinition RightLeg = partdefinition.addOrReplaceChild("RightLeg", CubeListBuilder.create(), PartPose.offset(-2.5F, 10.5F, 0.0F)); + + PartDefinition RightThigh_r1 = RightLeg.addOrReplaceChild("RightThigh_r1", CubeListBuilder.create().texOffs(0, 49).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 7.0F, 4.0F, new CubeDeformation(0.175F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F)); + + PartDefinition RightLowerLeg = RightLeg.addOrReplaceChild("RightLowerLeg", CubeListBuilder.create(), PartPose.offset(0.0F, 6.375F, -3.45F)); + + PartDefinition RightCalf_r1 = RightLowerLeg.addOrReplaceChild("RightCalf_r1", CubeListBuilder.create().texOffs(56, 19).addBox(-1.99F, -0.125F, -2.9F, 4.0F, 6.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, -2.125F, 1.95F, 0.8727F, 0.0F, 0.0F)); + + PartDefinition RightFoot = RightLowerLeg.addOrReplaceChild("RightFoot", CubeListBuilder.create(), PartPose.offset(0.0F, 0.8F, 7.175F)); + + PartDefinition RightArch_r1 = RightFoot.addOrReplaceChild("RightArch_r1", CubeListBuilder.create().texOffs(52, 60).addBox(-2.0F, -8.45F, -0.725F, 4.0F, 6.0F, 3.0F, new CubeDeformation(0.005F)), PartPose.offsetAndRotation(0.0F, 7.075F, -4.975F, -0.3491F, 0.0F, 0.0F)); + + PartDefinition RightPad = RightFoot.addOrReplaceChild("RightPad", CubeListBuilder.create().texOffs(56, 42).addBox(-2.0F, 0.0F, -2.5F, 4.0F, 2.0F, 5.0F, CubeDeformation.NONE), PartPose.offset(0.0F, 4.325F, -4.425F)); + + PartDefinition LeftLeg = partdefinition.addOrReplaceChild("LeftLeg", CubeListBuilder.create(), PartPose.offset(2.5F, 10.5F, 0.0F)); + + PartDefinition LeftThigh_r1 = LeftLeg.addOrReplaceChild("LeftThigh_r1", CubeListBuilder.create().texOffs(40, 43).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 7.0F, 4.0F, new CubeDeformation(0.175F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F)); + + PartDefinition LeftLowerLeg = LeftLeg.addOrReplaceChild("LeftLowerLeg", CubeListBuilder.create(), PartPose.offset(0.0F, 6.375F, -3.45F)); + + PartDefinition LeftCalf_r1 = LeftLowerLeg.addOrReplaceChild("LeftCalf_r1", CubeListBuilder.create().texOffs(16, 55).addBox(-2.01F, -0.125F, -2.9F, 4.0F, 6.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, -2.125F, 1.95F, 0.8727F, 0.0F, 0.0F)); + + PartDefinition LeftFoot = LeftLowerLeg.addOrReplaceChild("LeftFoot", CubeListBuilder.create(), PartPose.offset(0.0F, 0.8F, 7.175F)); + + PartDefinition LeftArch_r1 = LeftFoot.addOrReplaceChild("LeftArch_r1", CubeListBuilder.create().texOffs(0, 60).addBox(-2.0F, -8.45F, -0.725F, 4.0F, 6.0F, 3.0F, new CubeDeformation(0.005F)), PartPose.offsetAndRotation(0.0F, 7.075F, -4.975F, -0.3491F, 0.0F, 0.0F)); + + PartDefinition LeftPad = LeftFoot.addOrReplaceChild("LeftPad", CubeListBuilder.create().texOffs(56, 0).addBox(-2.0F, 0.0F, -2.5F, 4.0F, 2.0F, 5.0F, CubeDeformation.NONE), PartPose.offset(0.0F, 4.325F, -4.425F)); + + PartDefinition Head = partdefinition.addOrReplaceChild("Head", CubeListBuilder.create().texOffs(24, 11).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, CubeDeformation.NONE), PartPose.offset(0.0F, -1.0F, 0.0F)); + + PartDefinition Snout_r1 = Head.addOrReplaceChild("Snout_r1", CubeListBuilder.create().texOffs(64, 56).addBox(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-1.5F, -3.01F, -7.0F, 0.0F, -0.2182F, 0.0F)); + + PartDefinition Snout_r2 = Head.addOrReplaceChild("Snout_r2", CubeListBuilder.create().texOffs(62, 65).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(1.5F, -3.01F, -7.0F, 0.0F, 0.2182F, 0.0F)); + + PartDefinition Snout_r3 = Head.addOrReplaceChild("Snout_r3", CubeListBuilder.create().texOffs(28, 55).addBox(-1.5F, -27.0F, -6.0F, 3.0F, 1.0F, 2.0F, CubeDeformation.NONE) + .texOffs(64, 49).addBox(-1.5F, -29.0F, -7.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.01F)), PartPose.offsetAndRotation(0.0F, 26.0F, 0.0F, 0.0F, 0.0F, 0.0F)); + + PartDefinition Base_r1 = Head.addOrReplaceChild("Base_r1", CubeListBuilder.create().texOffs(12, 49).addBox(-2.1808F, -1.0F, -0.5736F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.5F, -1.4F, -1.5F, -0.5236F, 0.9599F, -3.1416F)); + + PartDefinition Base_r2 = Head.addOrReplaceChild("Base_r2", CubeListBuilder.create().texOffs(68, 17).addBox(-2.1808F, -1.0F, -0.5736F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-3.5F, -1.4F, -1.5F, 0.5236F, 0.9599F, 0.0F)); + + PartDefinition Fins = Head.addOrReplaceChild("Fins", CubeListBuilder.create(), PartPose.offset(0.0F, 26.0F, -1.0F)); + + PartDefinition HeadFin_r1 = Fins.addOrReplaceChild("HeadFin_r1", CubeListBuilder.create().texOffs(60, 7).addBox(-0.25F, -2.0F, 0.0F, 6.0F, 3.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-3.0F, -32.0F, -1.0F, -1.0263F, -0.733F, -2.1817F)); + + PartDefinition HeadFin_r2 = Fins.addOrReplaceChild("HeadFin_r2", CubeListBuilder.create().texOffs(64, 12).addBox(-0.25F, -1.0F, 0.0F, 6.0F, 3.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.0F, -32.0F, -1.0F, 1.0263F, -0.733F, -0.9599F)); + + PartDefinition Hair = Head.addOrReplaceChild("Hair", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -33.0F, -4.0F, 8.0F, 11.0F, 8.0F, new CubeDeformation(0.2F)) + .texOffs(0, 19).addBox(-4.0F, -33.0F, -4.0F, 8.0F, 10.0F, 8.0F, new CubeDeformation(0.35F)), PartPose.offset(0.0F, 25.0F, 0.0F)); + + PartDefinition Torso = partdefinition.addOrReplaceChild("Torso", CubeListBuilder.create().texOffs(32, 27).addBox(-4.0F, 0.0F, -2.0F, 8.0F, 5.0F, 4.0F, CubeDeformation.NONE) + .texOffs(28, 36).addBox(-4.0F, 9.5F, -2.0F, 8.0F, 3.0F, 4.0F, CubeDeformation.NONE) + .texOffs(32, 0).addBox(-4.0F, 5.25F, -2.0F, 8.0F, 5.0F, 4.0F, new CubeDeformation(-0.5F)) + .texOffs(0, 43).addBox(-4.0F, 4.25F, -2.0F, 8.0F, 2.0F, 4.0F, new CubeDeformation(-0.3F)) + .texOffs(0, 37).addBox(-4.0F, 8.25F, -2.0F, 8.0F, 2.0F, 4.0F, new CubeDeformation(-0.3F)), PartPose.offset(0.0F, -1.0F, 0.0F)); + + PartDefinition BackFin_r1 = Torso.addOrReplaceChild("BackFin_r1", CubeListBuilder.create().texOffs(24, 4).addBox(-1.0F, 2.0F, -3.0F, 2.0F, 3.0F, 1.0F, CubeDeformation.NONE) + .texOffs(0, 0).addBox(-1.0F, 0.0F, -2.0F, 2.0F, 6.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.5F, 2.0F, 0.5236F, 0.0F, 0.0F)); + + PartDefinition Tail = Torso.addOrReplaceChild("Tail", CubeListBuilder.create(), PartPose.offset(0.0F, 10.5F, 0.0F)); + + PartDefinition TailPrimary = Tail.addOrReplaceChild("TailPrimary", CubeListBuilder.create(), PartPose.offset(0.0F, -0.5F, 0.75F)); + + PartDefinition TailFin_r1 = TailPrimary.addOrReplaceChild("TailFin_r1", CubeListBuilder.create().texOffs(56, 42).addBox(-4.0F, 4.0F, -0.75F, 1.0F, 4.0F, 1.0F, CubeDeformation.NONE) + .texOffs(24, 37).addBox(-4.0F, 0.0F, 0.25F, 1.0F, 9.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.5F, 1.75F, 1.0F, 1.789F, 0.0F, 0.0F)); + + PartDefinition Base_r3 = TailPrimary.addOrReplaceChild("Base_r3", CubeListBuilder.create().texOffs(24, 0).addBox(-2.0F, -1.075F, 0.375F, 4.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 0.875F, 0.85F, 1.9199F, 0.0F, 0.0F)); + + PartDefinition Base_r4 = TailPrimary.addOrReplaceChild("Base_r4", CubeListBuilder.create().texOffs(24, 43).addBox(-2.0F, 0.75F, -0.8F, 4.0F, 8.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.0F, -1.0F, 1.1781F, 0.0F, 0.0F)); + + PartDefinition TailSecondary = TailPrimary.addOrReplaceChild("TailSecondary", CubeListBuilder.create(), PartPose.offset(0.0F, 3.25F, 7.25F)); + + PartDefinition Base_r5 = TailSecondary.addOrReplaceChild("Base_r5", CubeListBuilder.create().texOffs(37, 64).addBox(-1.5F, -1.3563F, -0.6088F, 3.0F, 5.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.25F, 1.0F, 1.309F, 0.0F, 0.0F)); + + PartDefinition TailTertiary = TailSecondary.addOrReplaceChild("TailTertiary", CubeListBuilder.create(), PartPose.offset(0.0F, 1.5F, 4.5F)); + + PartDefinition Base_r6 = TailTertiary.addOrReplaceChild("Base_r6", CubeListBuilder.create().texOffs(32, 9).addBox(-0.5F, 5.3462F, -1.8296F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.05F)) + .texOffs(14, 65).addBox(-0.5F, -2.5538F, -1.8296F, 1.0F, 8.0F, 3.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.0F, 0.5F, 4.25F, 1.1345F, 0.0F, 0.0F)); + + PartDefinition Base_r7 = TailTertiary.addOrReplaceChild("Base_r7", CubeListBuilder.create().texOffs(22, 65).addBox(-0.5F, -6.1668F, 0.8821F, 1.0F, 7.0F, 1.0F, CubeDeformation.NONE) + .texOffs(29, 62).addBox(-0.5F, -8.1668F, -2.1179F, 1.0F, 10.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, -0.5F, 4.25F, -0.8727F, 0.0F, 0.0F)); + + PartDefinition Base_r8 = TailTertiary.addOrReplaceChild("Base_r8", CubeListBuilder.create().texOffs(0, 19).addBox(-1.0F, -0.3449F, -0.7203F, 2.0F, 5.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 0.25F, 0.25F, 1.4835F, 0.0F, 0.0F)); + + PartDefinition Plantoids = Torso.addOrReplaceChild("Plantoids", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -2.0F)); + + PartDefinition RightPlantoid_r1 = Plantoids.addOrReplaceChild("RightPlantoid_r1", CubeListBuilder.create().texOffs(64, 29).addBox(-4.25F, -1.7F, -0.8F, 4.0F, 4.0F, 2.0F, new CubeDeformation(-0.03F)) + .texOffs(64, 29).mirror().addBox(0.25F, -1.7F, -0.8F, 4.0F, 4.0F, 2.0F, new CubeDeformation(-0.03F)).mirror(false), PartPose.offsetAndRotation(0.0F, 2.0F, 0.0F, -0.2793F, 0.0F, 0.0F)); + + PartDefinition Center_r1 = Plantoids.addOrReplaceChild("Center_r1", CubeListBuilder.create().texOffs(32, 27).addBox(-0.5F, -1.3F, -0.1F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.2F)), PartPose.offsetAndRotation(0.0F, 2.0F, 0.0F, -0.192F, 0.0F, 0.0F)); + + PartDefinition RightArm = partdefinition.addOrReplaceChild("RightArm", CubeListBuilder.create().texOffs(52, 50).addBox(-3.0F, -2.0F, -2.0F, 4.0F, 6.0F, 4.0F, CubeDeformation.NONE) + .texOffs(48, 9).addBox(-3.0F, 4.0F, -2.0F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.1F)), PartPose.offset(-5.0F, 1.0F, 0.0F)); + + PartDefinition Spike_r1 = RightArm.addOrReplaceChild("Spike_r1", CubeListBuilder.create().texOffs(52, 42).addBox(-0.5F, -1.5F, -1.0F, 1.0F, 4.0F, 1.0F, CubeDeformation.NONE) + .texOffs(16, 53).addBox(-0.5F, -2.5F, -2.0F, 1.0F, 5.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-2.0789F, 2.8746F, 1.1151F, -2.6425F, 0.8346F, 3.1091F)); + + PartDefinition LeftArm = partdefinition.addOrReplaceChild("LeftArm", CubeListBuilder.create().texOffs(36, 54).addBox(-1.0F, -2.0F, -2.0F, 4.0F, 6.0F, 4.0F, CubeDeformation.NONE) + .texOffs(52, 32).addBox(-1.0F, 4.0F, -2.0F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.1F)), PartPose.offset(5.0F, 1.0F, 0.0F)); + + PartDefinition Spike_r2 = LeftArm.addOrReplaceChild("Spike_r2", CubeListBuilder.create().texOffs(68, 35).addBox(0.875F, -1.5F, -0.5F, 1.0F, 5.0F, 1.0F, CubeDeformation.NONE) + .texOffs(56, 0).addBox(-0.125F, -0.5F, -0.5F, 1.0F, 4.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(2.6568F, 2.0711F, 1.6568F, -0.4796F, -0.6979F, 0.7102F)); + + return LayerDefinition.create(meshdefinition, 96, 96); + } + + + @Override + public void prepareMobModel(BuffLatexSharkFemale p_102861_, float p_102862_, float p_102863_, float p_102864_) { + this.prepareMobModel(animator, p_102861_, p_102862_, p_102863_, p_102864_); + } + + public void setupHand() { + animator.setupHand(); + } + + @Override + public HumanoidAnimator getAnimator() { + return animator; + } + + @Override + public void setupAnim(BuffLatexSharkFemale entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + animator.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); + super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); + } + + public ModelPart getArm(HumanoidArm p_102852_) { + return p_102852_ == HumanoidArm.LEFT ? this.LeftArm : this.RightArm; + } + + public ModelPart getLeg(HumanoidArm p_102852_) { + return p_102852_ == HumanoidArm.LEFT ? this.LeftLeg : this.RightLeg; + } + + public ModelPart getHead() { + return this.Head; + } + + public ModelPart getTorso() { + return Torso; + } + + @Override + public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + RightLeg.render(poseStack, buffer, packedLight, packedOverlay); + LeftLeg.render(poseStack, buffer, packedLight, packedOverlay); + Head.render(poseStack, buffer, packedLight, packedOverlay); + Torso.render(poseStack, buffer, packedLight, packedOverlay); + RightArm.render(poseStack, buffer, packedLight, packedOverlay); + LeftArm.render(poseStack, buffer, packedLight, packedOverlay); + } + + @Override + public @Nullable HelperModel getTransfurHelperModel(Limb limb) { + if (limb == Limb.TORSO) + return TransfurHelper.getFeminineTorsoAlt(); + return super.getTransfurHelperModel(limb); + } +} \ No newline at end of file diff --git a/src/main/java/net/ltxprogrammer/changed/client/renderer/model/LatexSharkFemaleModel.java b/src/main/java/net/ltxprogrammer/changed/client/renderer/model/LatexSharkFemaleModel.java deleted file mode 100644 index 0634f2b35..000000000 --- a/src/main/java/net/ltxprogrammer/changed/client/renderer/model/LatexSharkFemaleModel.java +++ /dev/null @@ -1,411 +0,0 @@ -package net.ltxprogrammer.changed.client.renderer.model; -// Made with Blockbench 4.1.5 -// Exported for Minecraft version 1.17 with Mojang mappings -// Paste this class into your mod and generate all required imports - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.ltxprogrammer.changed.Changed; -import net.ltxprogrammer.changed.client.renderer.animate.AnimatorPresets; -import net.ltxprogrammer.changed.client.renderer.animate.HumanoidAnimator; -import net.ltxprogrammer.changed.entity.beast.LatexSharkFemale; -import net.minecraft.client.model.geom.ModelLayerLocation; -import net.minecraft.client.model.geom.ModelPart; -import net.minecraft.client.model.geom.PartPose; -import net.minecraft.client.model.geom.builders.*; -import net.minecraft.world.entity.HumanoidArm; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -import java.util.List; - -@OnlyIn(Dist.CLIENT) -public class LatexSharkFemaleModel extends AdvancedHumanoidModel implements AdvancedHumanoidModelInterface { - // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor - public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(Changed.modResource("latex_shark_female"), "main"); - private final ModelPart RightLeg; - private final ModelPart LeftLeg; - private final ModelPart RightArm; - private final ModelPart LeftArm; - private final ModelPart Head; - private final ModelPart Torso; - private final ModelPart Tail; - private final HumanoidAnimator animator; - - public LatexSharkFemaleModel(ModelPart root) { - super(root); - this.RightLeg = root.getChild("RightLeg"); - this.LeftLeg = root.getChild("LeftLeg"); - this.Head = root.getChild("Head"); - this.Torso = root.getChild("Torso"); - this.Tail = Torso.getChild("Tail"); - this.RightArm = root.getChild("RightArm"); - this.LeftArm = root.getChild("LeftArm"); - animator = HumanoidAnimator.of(this).addPreset(AnimatorPresets.sharkLikeOld(Head, Torso, LeftArm, RightArm, Tail, List.of(), LeftLeg, RightLeg)) - .hipOffset(-1.0f).legLength(16.0f).armLength(16.0f).torsoLength(16.0f); - } - - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition RightLeg = partdefinition.addOrReplaceChild("RightLeg", CubeListBuilder.create(), PartPose.offset(-2.75F, 7.0F, 0.0F)); - - PartDefinition Toe_r1 = RightLeg.addOrReplaceChild("Toe_r1", CubeListBuilder.create().texOffs(0, 16).addBox(-4.0F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(0, 18).addBox(-2.5F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(24, 0).addBox(-1.0F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(1.8F, 15.875F, -3.225F, -0.6109F, 0.0F, 0.0F)); - - PartDefinition Toe_r2 = RightLeg.addOrReplaceChild("Toe_r2", CubeListBuilder.create().texOffs(24, 2).addBox(-2.5F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(16, 27).addBox(-1.0F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(28, 20).addBox(-4.0F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(1.8F, 18.95F, -1.75F, 0.0F, 0.0F, 0.0F)); - - PartDefinition RightMidLeg_r1 = RightLeg.addOrReplaceChild("RightMidLeg_r1", CubeListBuilder.create().texOffs(56, 40).addBox(-2.0F, -1.0F, -2.0F, 4.0F, 7.0F, 4.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-0.2F, 7.55F, -1.4F, 0.5847F, 0.0F, 0.0F)); - - PartDefinition RightLowerLeg_r1 = RightLeg.addOrReplaceChild("RightLowerLeg_r1", CubeListBuilder.create().texOffs(68, 29).addBox(-2.0F, -7.5F, -1.0F, 4.0F, 6.0F, 3.0F, new CubeDeformation(0.06F)), PartPose.offsetAndRotation(-0.2F, 17.2F, -1.25F, -0.5236F, 0.0F, 0.0F)); - - PartDefinition RightFoot_r1 = RightLeg.addOrReplaceChild("RightFoot_r1", CubeListBuilder.create().texOffs(68, 38).addBox(-4.0F, -4.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0605F)), PartPose.offsetAndRotation(1.8F, 18.95F, -0.75F, 0.0F, 0.0F, 0.0F)); - - PartDefinition RightUpperLeg_r1 = RightLeg.addOrReplaceChild("RightUpperLeg_r1", CubeListBuilder.create().texOffs(46, 63).addBox(-2.0F, 1.8F, -2.1F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.3F)), PartPose.offsetAndRotation(-0.2F, 1.5F, 0.1F, -0.2356F, 0.0F, 0.0F)); - - PartDefinition RightUpperLeg_r2 = RightLeg.addOrReplaceChild("RightUpperLeg_r2", CubeListBuilder.create().texOffs(48, 31).addBox(-3.0F, -2.0F, -2.0F, 5.0F, 4.0F, 5.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.3F, 1.7F, -0.6F, -0.2182F, 0.0F, 0.0F)); - - PartDefinition LeftLeg = partdefinition.addOrReplaceChild("LeftLeg", CubeListBuilder.create(), PartPose.offset(2.75F, 7.0F, 0.0F)); - - PartDefinition Toe_r3 = LeftLeg.addOrReplaceChild("Toe_r3", CubeListBuilder.create().texOffs(32, 20).addBox(-2.5F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(16, 33).addBox(-1.0F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(0, 38).addBox(-4.0F, -0.995F, 0.01F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(2.2F, 15.875F, -3.225F, -0.6109F, 0.0F, 0.0F)); - - PartDefinition Toe_r4 = LeftLeg.addOrReplaceChild("Toe_r4", CubeListBuilder.create().texOffs(20, 33).addBox(-1.0F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(0, 36).addBox(-2.5F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)) - .texOffs(36, 20).addBox(-4.0F, -3.0F, -1.49F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(2.2F, 18.95F, -1.75F, 0.0F, 0.0F, 0.0F)); - - PartDefinition LeftFoot_r1 = LeftLeg.addOrReplaceChild("LeftFoot_r1", CubeListBuilder.create().texOffs(0, 69).addBox(-4.0F, -4.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0605F)), PartPose.offsetAndRotation(2.2F, 18.95F, -0.75F, 0.0F, 0.0F, 0.0F)); - - PartDefinition LeftLowerLeg_r1 = LeftLeg.addOrReplaceChild("LeftLowerLeg_r1", CubeListBuilder.create().texOffs(69, 48).addBox(-2.0F, -7.5F, -1.0F, 4.0F, 6.0F, 3.0F, new CubeDeformation(0.06F)), PartPose.offsetAndRotation(0.2F, 17.2F, -1.25F, -0.5236F, 0.0F, 0.0F)); - - PartDefinition LeftMidLeg_r1 = LeftLeg.addOrReplaceChild("LeftMidLeg_r1", CubeListBuilder.create().texOffs(62, 59).addBox(-2.0F, -1.0F, -2.0F, 4.0F, 7.0F, 4.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.2F, 7.55F, -1.4F, 0.5847F, 0.0F, 0.0F)); - - PartDefinition LeftUpperLeg_r1 = LeftLeg.addOrReplaceChild("LeftUpperLeg_r1", CubeListBuilder.create().texOffs(12, 64).addBox(-2.0F, 1.8F, -2.1F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.3F)), PartPose.offsetAndRotation(0.2F, 1.5F, 0.1F, -0.2356F, 0.0F, 0.0F)); - - PartDefinition LeftUpperLeg_r2 = LeftLeg.addOrReplaceChild("LeftUpperLeg_r2", CubeListBuilder.create().texOffs(49, 2).addBox(-3.0F, -2.0F, -2.0F, 5.0F, 4.0F, 5.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.7F, 1.7F, -0.6F, -0.2182F, 0.0F, 0.0F)); - - PartDefinition Head = partdefinition.addOrReplaceChild("Head", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - - PartDefinition Snout_r1 = Head.addOrReplaceChild("Snout_r1", CubeListBuilder.create().texOffs(16, 27).addBox(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-1.5F, -2.7F, -6.975F, 0.0F, -0.2182F, 0.0F)); - - PartDefinition Snout_r2 = Head.addOrReplaceChild("Snout_r2", CubeListBuilder.create().texOffs(6, 78).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(1.5F, -2.7F, -6.975F, 0.0F, 0.2182F, 0.0F)); - - PartDefinition Snout_r3 = Head.addOrReplaceChild("Snout_r3", CubeListBuilder.create().texOffs(32, 7).addBox(-1.5F, -27.0F, -6.0F, 3.0F, 1.0F, 2.0F, CubeDeformation.NONE) - .texOffs(15, 36).addBox(-1.5F, -29.0F, -7.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.001F)), PartPose.offsetAndRotation(0.0F, 26.3F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Head_r1 = Head.addOrReplaceChild("Head_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 0.3F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Fins = Head.addOrReplaceChild("Fins", CubeListBuilder.create(), PartPose.offset(0.0F, 26.2F, 0.0F)); - - PartDefinition Base_r1 = Fins.addOrReplaceChild("Base_r1", CubeListBuilder.create().texOffs(74, 7).addBox(-0.25F, -1.0F, 0.0F, 5.0F, 3.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-4.0F, -32.25F, -1.0F, -1.1342F, -0.8439F, -2.3458F)); - - PartDefinition Base_r2 = Fins.addOrReplaceChild("Base_r2", CubeListBuilder.create().texOffs(74, 0).addBox(-0.25F, -2.0F, 0.0F, 5.0F, 3.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(4.0F, -32.25F, -1.0F, 1.1342F, -0.8439F, -0.7958F)); - - PartDefinition Base_r3 = Fins.addOrReplaceChild("Base_r3", CubeListBuilder.create().texOffs(79, 26).addBox(-2.1F, -1.25F, -0.5F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-3.5F, -27.55F, -1.6F, 0.5236F, 0.9599F, 0.0F)); - - PartDefinition Base_r4 = Fins.addOrReplaceChild("Base_r4", CubeListBuilder.create().texOffs(72, 44).addBox(-2.2F, -1.25F, -0.5F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.5F, -27.975F, -2.0F, -0.5236F, 0.9599F, -3.1416F)); - - PartDefinition Hair = Head.addOrReplaceChild("Hair", CubeListBuilder.create(), PartPose.offset(0.0F, -0.7F, 0.0F)); - - PartDefinition Base_r5 = Hair.addOrReplaceChild("Base_r5", CubeListBuilder.create().texOffs(54, 14).addBox(-4.5F, -8.0F, -5.0F, 9.0F, 2.0F, 1.0F, CubeDeformation.NONE) - .texOffs(70, 79).addBox(-4.5F, -6.0F, -5.0F, 2.0F, 8.0F, 1.0F, CubeDeformation.NONE) - .texOffs(0, 75).addBox(2.0F, -8.75F, 3.75F, 2.0F, 12.0F, 1.0F, CubeDeformation.NONE) - .texOffs(28, 64).addBox(-2.0F, -9.0F, 4.0F, 4.0F, 13.0F, 1.0F, CubeDeformation.NONE) - .texOffs(20, 39).addBox(-5.0F, -8.0F, -4.0F, 1.0F, 4.0F, 8.0F, CubeDeformation.NONE) - .texOffs(38, 39).addBox(4.0F, -8.0F, -4.0F, 1.0F, 4.0F, 8.0F, CubeDeformation.NONE) - .texOffs(42, 12).addBox(-4.0F, -8.75F, -4.0F, 2.0F, 1.0F, 8.0F, CubeDeformation.NONE) - .texOffs(45, 22).addBox(2.0F, -8.75F, -4.0F, 2.0F, 1.0F, 8.0F, CubeDeformation.NONE) - .texOffs(0, 27).addBox(-2.0F, -9.0F, -4.0F, 4.0F, 1.0F, 8.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Base_r6 = Hair.addOrReplaceChild("Base_r6", CubeListBuilder.create().texOffs(50, 72).addBox(-4.0F, -9.75F, 3.75F, 2.0F, 12.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 2.0F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Base_r7 = Hair.addOrReplaceChild("Base_r7", CubeListBuilder.create().texOffs(71, 70).addBox(-1.0F, -2.5F, -2.0F, 2.0F, 5.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(4.25F, -1.7F, 2.0F, 0.0F, 0.0F, -0.1047F)); - - PartDefinition Base_r8 = Hair.addOrReplaceChild("Base_r8", CubeListBuilder.create().texOffs(12, 73).addBox(-1.0F, -2.5F, -2.0F, 2.0F, 5.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-4.25F, -1.7F, 2.0F, 0.0F, 0.0F, 0.1047F)); - - PartDefinition Base_r9 = Hair.addOrReplaceChild("Base_r9", CubeListBuilder.create().texOffs(54, 11).addBox(-5.0F, -0.75F, 2.0F, 9.0F, 1.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.5F, 1.0F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Torso = partdefinition.addOrReplaceChild("Torso", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F)); - - PartDefinition BackFin_r1 = Torso.addOrReplaceChild("BackFin_r1", CubeListBuilder.create().texOffs(38, 68).addBox(-1.0F, 0.0F, -4.0F, 2.0F, 6.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 3.45F, 2.1F, 0.5236F, 0.0F, 0.0F)); - - PartDefinition Torso_r1 = Torso.addOrReplaceChild("Torso_r1", CubeListBuilder.create().texOffs(24, 0).addBox(-5.0F, -1.5F, -2.5F, 10.0F, 2.0F, 5.0F, new CubeDeformation(-0.35F)), PartPose.offsetAndRotation(0.0F, 16.2F, 0.2F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Torso_r2 = Torso.addOrReplaceChild("Torso_r2", CubeListBuilder.create().texOffs(23, 22).addBox(-5.0F, -1.5F, -2.5F, 10.0F, 3.0F, 5.0F, new CubeDeformation(-0.2F)), PartPose.offsetAndRotation(0.0F, 14.2F, 0.2F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Torso_r3 = Torso.addOrReplaceChild("Torso_r3", CubeListBuilder.create().texOffs(24, 30).addBox(-4.0F, -2.5F, -2.0F, 8.0F, 5.0F, 4.0F, new CubeDeformation(-0.1F)), PartPose.offsetAndRotation(0.0F, 11.9F, 0.1F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Torso_r4 = Torso.addOrReplaceChild("Torso_r4", CubeListBuilder.create().texOffs(0, 48).addBox(-4.0F, -2.0F, -1.5F, 8.0F, 4.0F, 3.0F, new CubeDeformation(0.45F)), PartPose.offsetAndRotation(0.0F, 7.6F, 0.1F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Torso_r5 = Torso.addOrReplaceChild("Torso_r5", CubeListBuilder.create().texOffs(0, 16).addBox(-5.0F, -3.5F, -2.0F, 10.0F, 7.0F, 4.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.0F, 3.9F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition watermelons = Torso.addOrReplaceChild("watermelons", CubeListBuilder.create(), PartPose.offset(-0.2F, 30.05F, 0.35F)); - - PartDefinition Center_r1 = watermelons.addOrReplaceChild("Center_r1", CubeListBuilder.create().texOffs(30, 39).addBox(-1.0F, -12.5F, -2.5F, 2.0F, 4.0F, 1.0F, new CubeDeformation(0.3F)), PartPose.offsetAndRotation(0.2F, -16.05F, -0.35F, -0.0175F, 0.0F, 0.0F)); - - PartDefinition watermelon_r1 = watermelons.addOrReplaceChild("watermelon_r1", CubeListBuilder.create().texOffs(74, 12).addBox(-2.5F, -2.5F, -0.5F, 5.0F, 5.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-2.65F, -26.6F, -3.0F, -0.1571F, 0.0F, 0.0F)); - - PartDefinition watermelon_r2 = watermelons.addOrReplaceChild("watermelon_r2", CubeListBuilder.create().texOffs(74, 19).addBox(-2.5F, -2.5F, -0.5F, 5.0F, 5.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.05F, -26.6F, -3.0F, -0.1571F, 0.0F, 0.0F)); - - PartDefinition Tail = Torso.addOrReplaceChild("Tail", CubeListBuilder.create(), PartPose.offset(0.0F, 13.0F, 0.0F)); - - PartDefinition TailFin_r1 = Tail.addOrReplaceChild("TailFin_r1", CubeListBuilder.create().texOffs(40, 78).addBox(0.0F, 0.0F, -0.75F, 1.0F, 7.0F, 3.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(-0.5F, 3.45F, 6.8F, 1.5272F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r5", CubeListBuilder.create().texOffs(16, 29).addBox(-0.5F, 5.3462F, -1.8296F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.05F)) - .texOffs(24, 78).addBox(-0.5F, -2.5538F, -1.8296F, 1.0F, 8.0F, 3.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.0F, 8.45F, 25.3F, 1.309F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r6", CubeListBuilder.create().texOffs(20, 41).addBox(-0.5F, -8.1668F, -2.1179F, 1.0F, 2.0F, 3.0F, CubeDeformation.NONE) - .texOffs(44, 7).addBox(-0.5F, -6.1668F, 0.8821F, 1.0F, 7.0F, 1.0F, CubeDeformation.NONE) - .texOffs(32, 78).addBox(-0.5F, -6.1668F, -2.1179F, 1.0F, 8.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 7.575F, 25.2F, -0.6981F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r7", CubeListBuilder.create().texOffs(48, 40).addBox(-1.0F, -0.15F, -0.8F, 2.0F, 5.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 8.8F, 21.3F, 1.5708F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r8", CubeListBuilder.create().texOffs(59, 70).addBox(-1.5F, -1.3563F, -1.8F, 3.0F, 7.0F, 3.0F, new CubeDeformation(-0.1F)), PartPose.offsetAndRotation(0.0F, 7.85F, 15.8F, 1.4835F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r9", CubeListBuilder.create().texOffs(0, 36).addBox(-3.0F, -1.0F, -1.0F, 5.0F, 7.0F, 5.0F, new CubeDeformation(-0.1F)), PartPose.offsetAndRotation(0.5F, 2.9F, 2.9F, 0.8727F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r10", CubeListBuilder.create().texOffs(26, 10).addBox(-4.0F, 2.0F, -1.0F, 6.0F, 4.0F, 6.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(1.0F, 0.6F, -2.6F, 1.0908F, 0.0F, 0.0F)); - - Tail.addOrReplaceChild("Base_r11", CubeListBuilder.create().texOffs(58, 17).addBox(-2.0F, 1.0F, -1.0F, 4.0F, 8.0F, 4.0F, new CubeDeformation(-0.1F)), PartPose.offsetAndRotation(0.0F, 5.9F, 6.3F, 1.2217F, 0.0F, 0.0F)); - - PartDefinition RightArm = partdefinition.addOrReplaceChild("RightArm", CubeListBuilder.create(), PartPose.offset(-5.0F, -6.0F, 0.0F)); - - PartDefinition Finger_r1 = RightArm.addOrReplaceChild("Finger_r1", CubeListBuilder.create().texOffs(40, 7).addBox(2.85F, 14.1F, 0.85F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)) - .texOffs(40, 43).addBox(6.15F, 14.1F, 0.85F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-7.1F, 0.85F, -3.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Finger_r2 = RightArm.addOrReplaceChild("Finger_r2", CubeListBuilder.create().texOffs(40, 39).addBox(2.8499F, 14.1F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-7.1F, 0.85F, -1.5F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Finger_r3 = RightArm.addOrReplaceChild("Finger_r3", CubeListBuilder.create().texOffs(40, 41).addBox(2.85F, 14.1F, 1.15F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-7.1F, 0.85F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Spike_r1 = RightArm.addOrReplaceChild("Spike_r1", CubeListBuilder.create().texOffs(79, 64).addBox(-1.975F, -2.5F, -0.5F, 4.0F, 6.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(-3.4F, 5.175F, 1.2F, -0.48F, 0.6981F, -0.7069F)); - - PartDefinition RightArm_r1 = RightArm.addOrReplaceChild("RightArm_r1", CubeListBuilder.create().texOffs(50, 51).addBox(-4.1F, 6.5F, -2.0F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.25F)) - .texOffs(18, 51).addBox(-4.1F, -1.9F, -2.0F, 4.0F, 9.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 0.2F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition LeftArm = partdefinition.addOrReplaceChild("LeftArm", CubeListBuilder.create(), PartPose.offset(5.0F, -6.0F, 0.0F)); - - PartDefinition Finger_r4 = LeftArm.addOrReplaceChild("Finger_r4", CubeListBuilder.create().texOffs(44, 31).addBox(-0.55F, -0.6F, -0.55F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.5F, 15.75F, -1.6F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Finger_r5 = LeftArm.addOrReplaceChild("Finger_r5", CubeListBuilder.create().texOffs(47, 32).addBox(2.95F, 13.9F, 0.95F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.3F, 1.25F, -3.1F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Finger_r6 = LeftArm.addOrReplaceChild("Finger_r6", CubeListBuilder.create().texOffs(48, 21).addBox(2.9501F, 13.9F, 1.025F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.3F, 1.25F, -1.5F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Spike_r2 = LeftArm.addOrReplaceChild("Spike_r2", CubeListBuilder.create().texOffs(78, 57).addBox(-2.5F, -2.5F, -0.5F, 4.0F, 6.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(3.8F, 5.4F, 1.6F, -0.48F, -0.6981F, 0.7069F)); - - PartDefinition Finger_r7 = LeftArm.addOrReplaceChild("Finger_r7", CubeListBuilder.create().texOffs(48, 23).addBox(2.95F, 13.9F, 1.05F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(0.3F, 1.25F, 0.1F, 0.0F, 0.0F, 0.0F)); - - PartDefinition LeftArm_r1 = LeftArm.addOrReplaceChild("LeftArm_r1", CubeListBuilder.create().texOffs(0, 55).addBox(0.0F, 6.6F, -2.0F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.25F)) - .texOffs(34, 51).addBox(0.0F, -2.0F, -2.0F, 4.0F, 9.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.1F, 0.3F, 0.0F, 0.0F, 0.0F, 0.0F)); - - return LayerDefinition.create(meshdefinition, 128, 128); - } - - - @Override - public void prepareMobModel(LatexSharkFemale p_102861_, float p_102862_, float p_102863_, float p_102864_) { - this.prepareMobModel(animator, p_102861_, p_102862_, p_102863_, p_102864_); - } - public PoseStack getPlacementCorrectors(CorrectorType type) { - PoseStack corrector = AdvancedHumanoidModelInterface.super.getPlacementCorrectors(type); - if (type.isArm()) - corrector.translate(0.0f, 7.0f / 14.0f, 0.0f); - return corrector; - } - - public void setupHand() { - animator.setupHand(); - } - - @Override - public HumanoidAnimator getAnimator() { - return animator; - } - - @Override - public void setupAnim(LatexSharkFemale entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - animator.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - super.setupAnim(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); - } - - public ModelPart getArm(HumanoidArm p_102852_) { - return p_102852_ == HumanoidArm.LEFT ? this.LeftArm : this.RightArm; - } - - public ModelPart getLeg(HumanoidArm p_102852_) { - return p_102852_ == HumanoidArm.LEFT ? this.LeftLeg : this.RightLeg; - } - - public ModelPart getHead() { - return this.Head; - } - - public ModelPart getTorso() { - return Torso; - } - - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - RightLeg.render(poseStack, buffer, packedLight, packedOverlay); - LeftLeg.render(poseStack, buffer, packedLight, packedOverlay); - Head.render(poseStack, buffer, packedLight, packedOverlay); - Torso.render(poseStack, buffer, packedLight, packedOverlay); - RightArm.render(poseStack, buffer, packedLight, packedOverlay); - LeftArm.render(poseStack, buffer, packedLight, packedOverlay); - } - - public static class Remodel extends AdvancedHumanoidModel.LatexRemodel { - private final ModelPart RightLeg; - private final ModelPart LeftLeg; - private final ModelPart RightArm; - private final ModelPart LeftArm; - private final ModelPart Head; - private final ModelPart Torso; - private final ModelPart Tail; - private final HumanoidAnimator animator; - - public Remodel(ModelPart root) { - super(root); - this.RightLeg = root.getChild("RightLeg"); - this.LeftLeg = root.getChild("LeftLeg"); - this.Head = root.getChild("Head"); - this.Torso = root.getChild("Torso"); - this.Tail = Torso.getChild("Tail"); - this.RightArm = root.getChild("RightArm"); - this.LeftArm = root.getChild("LeftArm"); - animator = HumanoidAnimator.of(this).addPreset(AnimatorPresets.sharkLikeOld(Head, Torso, LeftArm, RightArm, Tail, List.of(), LeftLeg, RightLeg)) - .hipOffset(-2.0f).legLength(14.0f).armLength(14.0f).torsoLength(14.0f); - animator.torsoWidth = 6.0f; - } - - - public static LayerDefinition createBodyLayer() { - MeshDefinition meshdefinition = new MeshDefinition(); - PartDefinition partdefinition = meshdefinition.getRoot(); - - PartDefinition Head = partdefinition.addOrReplaceChild("Head", CubeListBuilder.create().texOffs(0, 19).addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, CubeDeformation.NONE), PartPose.offset(0.0F, -4.0F, 0.0F)); - - PartDefinition Base_r1 = Head.addOrReplaceChild("Base_r1", CubeListBuilder.create().texOffs(57, 18).addBox(-0.25F, -2.0F, 0.0F, 5.0F, 3.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(3.75F, -5.625F, -1.0F, 1.1342F, -0.8439F, -0.7958F)); - - PartDefinition Base_r2 = Head.addOrReplaceChild("Base_r2", CubeListBuilder.create().texOffs(57, 43).addBox(-0.25F, -1.0F, 0.0F, 5.0F, 3.0F, 2.0F, new CubeDeformation(0.1F)), PartPose.offsetAndRotation(-3.75F, -5.625F, -1.0F, -1.1342F, -0.8439F, -2.3458F)); - - PartDefinition Snout_r1 = Head.addOrReplaceChild("Snout_r1", CubeListBuilder.create().texOffs(62, 23).addBox(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-1.5F, -3.01F, -7.0F, 0.0F, -0.2182F, 0.0F)); - - PartDefinition Snout_r2 = Head.addOrReplaceChild("Snout_r2", CubeListBuilder.create().texOffs(41, 62).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 2.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(1.5F, -3.01F, -7.0F, 0.0F, 0.2182F, 0.0F)); - - PartDefinition Snout_r3 = Head.addOrReplaceChild("Snout_r3", CubeListBuilder.create().texOffs(32, 27).addBox(-1.5F, -27.0F, -6.0F, 3.0F, 1.0F, 2.0F, CubeDeformation.NONE) - .texOffs(15, 35).addBox(-1.5F, -29.0F, -7.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.01F)), PartPose.offsetAndRotation(0.0F, 26.0F, 0.0F, 0.0F, 0.0F, 0.0F)); - - PartDefinition Base_r3 = Head.addOrReplaceChild("Base_r3", CubeListBuilder.create().texOffs(62, 0).addBox(-2.1808F, -1.0F, -0.5736F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.5F, -1.4F, -1.0F, -0.5236F, 0.9599F, -3.1416F)); - - PartDefinition Base_r4 = Head.addOrReplaceChild("Base_r4", CubeListBuilder.create().texOffs(25, 0).addBox(-2.1808F, -1.0F, -0.5736F, 3.0F, 2.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-3.5F, -1.4F, -1.0F, 0.5236F, 0.9599F, 0.0F)); - - PartDefinition Torso = partdefinition.addOrReplaceChild("Torso", CubeListBuilder.create().texOffs(0, 0).addBox(-5.0F, 0.0F, -2.5F, 10.0F, 14.0F, 5.0F, CubeDeformation.NONE), PartPose.offset(0.0F, -4.0F, 0.0F)); - - PartDefinition BackFin_r1 = Torso.addOrReplaceChild("BackFin_r1", CubeListBuilder.create().texOffs(45, 0).addBox(-1.0F, 2.0F, -3.0F, 2.0F, 3.0F, 1.0F, CubeDeformation.NONE) - .texOffs(33, 62).addBox(-1.0F, 0.0F, -2.0F, 2.0F, 7.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 2.5F, 2.5F, 0.5236F, 0.0F, 0.0F)); - - PartDefinition Tail = Torso.addOrReplaceChild("Tail", CubeListBuilder.create(), PartPose.offset(0.0F, 12.75F, 0.25F)); - - PartDefinition Base_r5 = Tail.addOrReplaceChild("Base_r5", CubeListBuilder.create().texOffs(0, 35).addBox(-0.5F, 5.3462F, -1.8296F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.05F)) - .texOffs(25, 59).addBox(-0.5F, -2.5538F, -1.8296F, 1.0F, 8.0F, 3.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.0F, 5.25F, 17.0F, 1.1345F, 0.0F, 0.0F)); - - PartDefinition Base_r6 = Tail.addOrReplaceChild("Base_r6", CubeListBuilder.create().texOffs(57, 64).addBox(-0.5F, -6.1668F, 0.8821F, 1.0F, 7.0F, 1.0F, CubeDeformation.NONE) - .texOffs(17, 59).addBox(-0.5F, -8.1668F, -2.1179F, 1.0F, 10.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 4.25F, 17.0F, -0.8727F, 0.0F, 0.0F)); - - PartDefinition TailFin_r1 = Tail.addOrReplaceChild("TailFin_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, 4.0F, -0.75F, 1.0F, 4.0F, 1.0F, CubeDeformation.NONE) - .texOffs(12, 61).addBox(-4.0F, 0.0F, 0.25F, 1.0F, 9.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.5F, 1.75F, 2.0F, 1.789F, 0.0F, 0.0F)); - - PartDefinition Base_r7 = Tail.addOrReplaceChild("Base_r7", CubeListBuilder.create().texOffs(0, 19).addBox(-1.0F, -0.3449F, -0.7203F, 2.0F, 5.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 5.0F, 13.0F, 1.4835F, 0.0F, 0.0F)); - - PartDefinition Base_r8 = Tail.addOrReplaceChild("Base_r8", CubeListBuilder.create().texOffs(0, 61).addBox(-1.5F, -1.3563F, -0.6088F, 3.0F, 5.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 4.5F, 9.25F, 1.309F, 0.0F, 0.0F)); - - PartDefinition Base_r9 = Tail.addOrReplaceChild("Base_r9", CubeListBuilder.create().texOffs(61, 30).addBox(-2.0F, -1.075F, -0.625F, 4.0F, 2.0F, 3.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.9599F, 0.0F, 0.0F)); - - PartDefinition Base_r10 = Tail.addOrReplaceChild("Base_r10", CubeListBuilder.create().texOffs(50, 0).addBox(-2.0F, 0.75F, -0.8F, 4.0F, 8.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 1.1781F, 0.0F, 0.0F)); - - PartDefinition Breasts = Torso.addOrReplaceChild("Breasts", CubeListBuilder.create().texOffs(53, 56).addBox(-5.25F, 0.0158F, 0.0565F, 5.0F, 5.0F, 3.0F, new CubeDeformation(-0.05F)) - .texOffs(24, 19).addBox(0.25F, 0.0158F, 0.0565F, 5.0F, 5.0F, 3.0F, new CubeDeformation(-0.05F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.5F, -0.4363F, 0.0F, 0.0F)); - - PartDefinition RightArm = partdefinition.addOrReplaceChild("RightArm", CubeListBuilder.create().texOffs(30, 0).addBox(-4.0F, -2.0F, -3.0F, 5.0F, 14.0F, 5.0F, CubeDeformation.NONE), PartPose.offset(-6.0F, -2.0F, 0.5F)); - - PartDefinition Spike_r1 = RightArm.addOrReplaceChild("Spike_r1", CubeListBuilder.create().texOffs(40, 19).addBox(-1.0F, -1.5F, -1.0F, 2.0F, 4.0F, 1.0F, CubeDeformation.NONE) - .texOffs(62, 48).addBox(-1.0F, -2.5F, -2.0F, 2.0F, 6.0F, 1.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(-3.0789F, 4.3746F, 1.1151F, -2.6425F, 0.8346F, 3.1091F)); - - PartDefinition LeftArm = partdefinition.addOrReplaceChild("LeftArm", CubeListBuilder.create().texOffs(27, 30).addBox(-1.0F, -2.0F, -3.0F, 5.0F, 14.0F, 5.0F, CubeDeformation.NONE), PartPose.offset(6.0F, -2.0F, 0.5F)); - - PartDefinition Spike_r2 = LeftArm.addOrReplaceChild("Spike_r2", CubeListBuilder.create().texOffs(51, 64).addBox(-0.125F, -0.5F, -1.0F, 1.0F, 4.0F, 2.0F, CubeDeformation.NONE) - .texOffs(20, 40).addBox(0.875F, -1.5F, -1.0F, 1.0F, 6.0F, 2.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(3.6568F, 3.5711F, 1.6568F, -0.4796F, -0.6979F, 0.7102F)); - - PartDefinition RightLeg = partdefinition.addOrReplaceChild("RightLeg", CubeListBuilder.create(), PartPose.offset(-2.25F, 10.0F, 0.0F)); - - PartDefinition leg_r1 = RightLeg.addOrReplaceChild("leg_r1", CubeListBuilder.create().texOffs(20, 49).addBox(-3.0F, -6.7987F, -2.8677F, 5.0F, 6.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 6.275F, 4.65F, 1.2217F, 0.0F, 0.0F)); - - PartDefinition thigh_r1 = RightLeg.addOrReplaceChild("thigh_r1", CubeListBuilder.create().texOffs(0, 49).addBox(-3.0F, -1.0F, -3.0F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(0.0F, 0.9F, 0.5F, -0.0873F, 0.0F, 0.0F)); - - PartDefinition RightLower = RightLeg.addOrReplaceChild("RightLower", CubeListBuilder.create().texOffs(33, 56).addBox(-3.0F, 6.975F, -5.675F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.025F)), PartPose.offset(0.0F, 6.0F, 4.5F)); - - PartDefinition leg_r2 = RightLower.addOrReplaceChild("leg_r2", CubeListBuilder.create().texOffs(42, 19).addBox(-3.0F, -1.225F, -4.0F, 5.0F, 9.0F, 5.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 0.15F, -1.0F, -0.0873F, 0.0F, 0.0F)); - - PartDefinition RightLowerBeans = RightLower.addOrReplaceChild("RightLowerBeans", CubeListBuilder.create(), PartPose.offset(-2.0F, 20.0F, -3.2F)); - - PartDefinition LeftLeg = partdefinition.addOrReplaceChild("LeftLeg", CubeListBuilder.create(), PartPose.offset(2.25F, 10.0F, 0.0F)); - - PartDefinition leg_r3 = LeftLeg.addOrReplaceChild("leg_r3", CubeListBuilder.create().texOffs(47, 33).addBox(-2.0F, -6.7987F, -2.8677F, 5.0F, 6.0F, 4.0F, CubeDeformation.NONE), PartPose.offsetAndRotation(0.0F, 6.275F, 4.65F, 1.2217F, 0.0F, 0.0F)); - - PartDefinition thigh_r2 = LeftLeg.addOrReplaceChild("thigh_r2", CubeListBuilder.create().texOffs(42, 44).addBox(-2.0F, -1.0F, -3.0F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(0.0F, 0.9F, 0.5F, -0.0873F, 0.0F, 0.0F)); - - PartDefinition LeftLower = LeftLeg.addOrReplaceChild("LeftLower", CubeListBuilder.create().texOffs(50, 12).addBox(-2.0F, 6.975F, -5.675F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.025F)), PartPose.offset(0.0F, 6.0F, 4.5F)); - - PartDefinition leg_r4 = LeftLower.addOrReplaceChild("leg_r4", CubeListBuilder.create().texOffs(0, 35).addBox(-2.0F, -1.225F, -4.0F, 5.0F, 9.0F, 5.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 0.15F, -1.0F, -0.0873F, 0.0F, 0.0F)); - - PartDefinition LeftLowerBeans2 = LeftLower.addOrReplaceChild("LeftLowerBeans2", CubeListBuilder.create(), PartPose.offset(-2.0F, 20.0F, -3.2F)); - - return LayerDefinition.create(meshdefinition, 128, 128); - } - - @Override - public PoseStack getPlacementCorrectors(CorrectorType type) { - PoseStack corrector = super.getPlacementCorrectors(type); - if (type.isArm()) - corrector.translate(0.0f, 4.0f / 16.0f, 0.0f); - return corrector; - } - - @Override - public HumanoidAnimator getAnimator() { - return animator; - } - - public ModelPart getArm(HumanoidArm p_102852_) { - return p_102852_ == HumanoidArm.LEFT ? this.LeftArm : this.RightArm; - } - - public ModelPart getLeg(HumanoidArm p_102852_) { - return p_102852_ == HumanoidArm.LEFT ? this.LeftLeg : this.RightLeg; - } - - public ModelPart getHead() { - return this.Head; - } - - public ModelPart getTorso() { - return Torso; - } - - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - RightLeg.render(poseStack, buffer, packedLight, packedOverlay); - LeftLeg.render(poseStack, buffer, packedLight, packedOverlay); - Head.render(poseStack, buffer, packedLight, packedOverlay); - Torso.render(poseStack, buffer, packedLight, packedOverlay); - RightArm.render(poseStack, buffer, packedLight, packedOverlay); - LeftArm.render(poseStack, buffer, packedLight, packedOverlay); - } - } -} \ No newline at end of file diff --git a/src/main/java/net/ltxprogrammer/changed/entity/beast/LatexSharkFemale.java b/src/main/java/net/ltxprogrammer/changed/entity/beast/BuffLatexSharkFemale.java similarity index 87% rename from src/main/java/net/ltxprogrammer/changed/entity/beast/LatexSharkFemale.java rename to src/main/java/net/ltxprogrammer/changed/entity/beast/BuffLatexSharkFemale.java index 800a58e03..cea669287 100644 --- a/src/main/java/net/ltxprogrammer/changed/entity/beast/LatexSharkFemale.java +++ b/src/main/java/net/ltxprogrammer/changed/entity/beast/BuffLatexSharkFemale.java @@ -13,8 +13,8 @@ import java.util.List; -public class LatexSharkFemale extends AbstractLatexShark implements GenderedEntity { - public LatexSharkFemale(EntityType p_19870_, Level p_19871_) { +public class BuffLatexSharkFemale extends AbstractLatexShark implements GenderedEntity { + public BuffLatexSharkFemale(EntityType p_19870_, Level p_19871_) { super(p_19870_, p_19871_); } diff --git a/src/main/java/net/ltxprogrammer/changed/init/ChangedEntities.java b/src/main/java/net/ltxprogrammer/changed/init/ChangedEntities.java index 13fe44b03..b847dde70 100644 --- a/src/main/java/net/ltxprogrammer/changed/init/ChangedEntities.java +++ b/src/main/java/net/ltxprogrammer/changed/init/ChangedEntities.java @@ -302,8 +302,8 @@ public static boolean noSpawning(Biome.BiomeCategory category) { public static final RegistryObject> LATEX_SHARK_MALE = register("latex_shark_male", 0x969696, 0xFFFFFF, EntityType.Builder.of(BuffLatexSharkMale::new, MobCategory.MONSTER).clientTrackingRange(10).sized(0.8F, 2.1F), ChangedEntities::oceanSpawning, ChangedEntities::overworldOnly, SpawnPlacements.Type.IN_WATER); - public static final RegistryObject> LATEX_SHARK_FEMALE = register("latex_shark_female", 0x969696, 0xFFFFFF, - EntityType.Builder.of(LatexSharkFemale::new, MobCategory.MONSTER).clientTrackingRange(10).sized(0.8F, 2.45F), + public static final RegistryObject> LATEX_SHARK_FEMALE = register("latex_shark_female", 0x969696, 0xFFFFFF, + EntityType.Builder.of(BuffLatexSharkFemale::new, MobCategory.MONSTER).clientTrackingRange(10).sized(0.8F, 2.1F), ChangedEntities::oceanSpawning, ChangedEntities::overworldOnly, SpawnPlacements.Type.IN_WATER); public static final RegistryObject> SNIPER_DOG = registerReducedSpawn("sniper_dog", 0xEF8F44, 0x894633, EntityType.Builder.of(SniperDog::new, MobCategory.MONSTER).clientTrackingRange(10).sized(0.7F, 1.93F), diff --git a/src/main/java/net/ltxprogrammer/changed/init/ChangedEntityRenderers.java b/src/main/java/net/ltxprogrammer/changed/init/ChangedEntityRenderers.java index 3e5566aef..bf812ced2 100644 --- a/src/main/java/net/ltxprogrammer/changed/init/ChangedEntityRenderers.java +++ b/src/main/java/net/ltxprogrammer/changed/init/ChangedEntityRenderers.java @@ -113,8 +113,7 @@ public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderer registerHumanoid(event, ChangedEntities.LATEX_RED_DRAGON.get(), LatexRedDragonRenderer::new); registerHumanoid(event, ChangedEntities.LATEX_RED_PANDA.get(), LatexRedPandaRenderer::new); registerHumanoid(event, ChangedEntities.LATEX_SHARK.get(), LatexSharkRenderer::new); - registerHumanoid(event, ChangedEntities.LATEX_SHARK_FEMALE.get(), - /*useNewModels ? LatexSharkFemaleRenderer.Remodel::new :*/ LatexSharkFemaleRenderer::new); + registerHumanoid(event, ChangedEntities.LATEX_SHARK_FEMALE.get(), BuffLatexSharkFemaleRenderer::new); registerHumanoid(event, ChangedEntities.LATEX_SHARK_MALE.get(), BuffLatexSharkMaleRenderer::new); registerHumanoid(event, ChangedEntities.LATEX_SIREN.get(), LatexSirenRenderer::new); registerHumanoid(event, ChangedEntities.LATEX_SNAKE.get(), LatexSnakeRenderer::new); diff --git a/src/main/java/net/ltxprogrammer/changed/init/ChangedLayerDefinitions.java b/src/main/java/net/ltxprogrammer/changed/init/ChangedLayerDefinitions.java index cc9d1c61b..a03f2b772 100644 --- a/src/main/java/net/ltxprogrammer/changed/init/ChangedLayerDefinitions.java +++ b/src/main/java/net/ltxprogrammer/changed/init/ChangedLayerDefinitions.java @@ -84,8 +84,8 @@ public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDe event.registerLayerDefinition(LatexRedDragonModel.LAYER_LOCATION, LatexRedDragonModel::createBodyLayer); event.registerLayerDefinition(LatexRedPandaModel.LAYER_LOCATION, LatexRedPandaModel::createBodyLayer); event.registerLayerDefinition(LatexSharkModel.LAYER_LOCATION, LatexSharkModel::createBodyLayer); - event.registerLayerDefinition(LatexSharkFemaleModel.LAYER_LOCATION, - /*useNewModels ? LatexSharkFemaleModel.Remodel::createBodyLayer :*/ LatexSharkFemaleModel::createBodyLayer); + event.registerLayerDefinition(BuffLatexSharkFemaleModel.LAYER_LOCATION, + /*useNewModels ? LatexSharkFemaleModel.Remodel::createBodyLayer :*/ BuffLatexSharkFemaleModel::createBodyLayer); event.registerLayerDefinition(BuffLatexSharkMaleModel.LAYER_LOCATION, /*useNewModels ? LatexSharkMaleModel.Remodel::createBodyLayer :*/ BuffLatexSharkMaleModel::createBodyLayer); event.registerLayerDefinition(LatexSirenModel.LAYER_LOCATION, LatexSirenModel::createBodyLayer); diff --git a/src/main/java/net/ltxprogrammer/changed/init/ChangedTransfurVariants.java b/src/main/java/net/ltxprogrammer/changed/init/ChangedTransfurVariants.java index 96d8718f2..acacba22d 100644 --- a/src/main/java/net/ltxprogrammer/changed/init/ChangedTransfurVariants.java +++ b/src/main/java/net/ltxprogrammer/changed/init/ChangedTransfurVariants.java @@ -134,7 +134,7 @@ public class ChangedTransfurVariants { () -> TransfurVariant.Builder.of(LATEX_SHARK.get(), ChangedEntities.LATEX_SIREN).noLegs().absorbing().addAbility(ChangedAbilities.SIREN_SING)); public static final RegistryObject> LATEX_MERMAID_SHARK = register("form_latex_mermaid_shark/male", () -> TransfurVariant.Builder.of(LATEX_SHARK.get(), ChangedEntities.LATEX_MERMAID_SHARK).replicating().noLegs()); - public static final RegistryObject> LATEX_SHARK_FUSION_FEMALE = register("form_latex_shark/female", + public static final RegistryObject> LATEX_SHARK_FUSION_FEMALE = register("form_latex_shark/female", () -> TransfurVariant.Builder.of(LATEX_SHARK.get(), ChangedEntities.LATEX_SHARK_FEMALE).stepSize(0.7f).absorbing().fusionOf(LATEX_SHARK.get(), Shark.class)); public static final RegistryObject> LATEX_SHARK_FUSION_MALE = register("form_latex_shark/male", () -> TransfurVariant.Builder.of(LATEX_SHARK.get(), ChangedEntities.LATEX_SHARK_MALE).stepSize(0.7f).replicating().fusionOf(LATEX_SHARK.get(), Shark.class)); @@ -172,7 +172,7 @@ public static class Gendered { public static final GenderedPair PHAGE_LATEX_WOLVES = new GenderedPair<>(PHAGE_LATEX_WOLF_MALE, PHAGE_LATEX_WOLF_FEMALE); public static final GenderedPair LATEX_MANTA_RAYS = new GenderedPair<>(LATEX_MANTA_RAY_MALE, LATEX_MANTA_RAY_FEMALE); public static final GenderedPair LATEX_MERMAID_SHARKS = new GenderedPair<>(LATEX_MERMAID_SHARK, LATEX_SIREN); - public static final GenderedPair LATEX_SHARK_FUSIONS = new GenderedPair<>(LATEX_SHARK_FUSION_MALE, LATEX_SHARK_FUSION_FEMALE); + public static final GenderedPair LATEX_SHARK_FUSIONS = new GenderedPair<>(LATEX_SHARK_FUSION_MALE, LATEX_SHARK_FUSION_FEMALE); public static final GenderedPair LATEX_SQUID_DOGS = new GenderedPair<>(LATEX_SQUID_DOG_MALE, LATEX_SQUID_DOG_FEMALE); public static final GenderedPair LATEX_SNOW_LEOPARDS = new GenderedPair<>(LATEX_SNOW_LEOPARD_MALE, LATEX_SNOW_LEOPARD_FEMALE); public static final GenderedPair WHITE_WOLVES = new GenderedPair<>(WHITE_WOLF_MALE, WHITE_WOLF_FEMALE); diff --git a/src/main/resources/assets/changed/textures/latex_shark_buff_female.png b/src/main/resources/assets/changed/textures/latex_shark_buff_female.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd9db8a6462a3e81906b87124424c28ee5c4579 GIT binary patch literal 4343 zcmV$n^TF2psMqVzT0?7%AP8{f%9WA(+1c62wASVt@?PRN9=cAW(J1vy z)4(aYfgXmSl!E7ZP)Zr1E2ZH3zLPM=#hI#yGu7{|qm(kg`92Ohj^8(7XJ;p~eV35W zJui4t8t5kIX1m=kz@($!?+<+zp-A%OaYS6sTp}**dz$ufr}fJr!n+v2x5@o<4LbKE z7%(yeT+X$R6{5#iTs&xBBeRI1hFo;-mJ5hVVfU3`sv9 z4+C4~l4{8~8bB&!S8pPIA!Cy+}7{+ zp|uA0hNh)2r5aF5;iLA40DxK$7`@M>pPx%aw*AR_jH1X8If^3l8OQO6N{r)p=xPNRUAlA$VBQV} zY6t9L`2%u0002ivM;Yzs#+mkW#*ymMTI03XUdw#n$DKQO0HKE7YP<~qM)lA(>G{xg zxtif9V^rx}+w8&|>_Vm2>t$fXBV)^%zzIh;L|zer2WT`7K`AwKJSX<@@^Yo!Zf9{E z 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/changed/textures/latex_shark_female.png b/src/main/resources/assets/changed/textures/latex_shark_female.png deleted file mode 100644 index 1e6b54f3a953e6fac79e36a817e145cc0b589a91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4649 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 HXchK9|4{14