From 80225bf1e740ede400927288ee2a1a36af9dffbb Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 2 Jan 2024 23:03:41 +0100 Subject: [PATCH] Added the second magical plant --- assets/models/tentacle.bbmodel | 1 + assets/models/tentacle.java | 169 ++++++++++ assets/models/tentacle.png | Bin 0 -> 19159 bytes .../ability/EarthPonyGrowAbility.java | 9 + .../unicopia/client/URenderers.java | 1 + .../render/entity/TentacleEntityModel.java | 142 +++++++++ .../render/entity/TentacleEntityRenderer.java | 42 +++ .../unicopia/entity/mob/TentacleEntity.java | 289 ++++++++++++++++++ .../unicopia/entity/mob/UEntities.java | 3 + .../textures/entity/poison_joke/tentacle.png | Bin 0 -> 19159 bytes 10 files changed, 656 insertions(+) create mode 100644 assets/models/tentacle.bbmodel create mode 100644 assets/models/tentacle.java create mode 100644 assets/models/tentacle.png create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java create mode 100644 src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java create mode 100644 src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java create mode 100644 src/main/resources/assets/unicopia/textures/entity/poison_joke/tentacle.png diff --git a/assets/models/tentacle.bbmodel b/assets/models/tentacle.bbmodel new file mode 100644 index 00000000..0ccec62c --- /dev/null +++ b/assets/models/tentacle.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.5","model_format":"modded_entity","box_uv":true},"name":"tentacle","model_identifier":"","modded_entity_version":"Fabric 1.17+","modded_entity_flip_y":true,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":128,"height":128},"elements":[{"name":"a","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-7,-6,-7],"to":[7,10,7],"autouv":0,"color":7,"origin":[0,-6,0],"faces":{"north":{"uv":[14,14,28,30],"texture":0},"east":{"uv":[0,14,14,30],"texture":0},"south":{"uv":[42,14,56,30],"texture":0},"west":{"uv":[28,14,42,30],"texture":0},"up":{"uv":[28,14,14,0],"texture":0},"down":{"uv":[42,0,28,14],"texture":0}},"type":"cube","uuid":"43deca74-ef0e-9496-f060-a569a5f66a3c"},{"name":"b","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,8,-6],"to":[6,27,6],"autouv":0,"color":7,"origin":[0,0,0],"uv_offset":[0,30],"faces":{"north":{"uv":[12,42,24,61],"texture":0},"east":{"uv":[0,42,12,61],"texture":0},"south":{"uv":[36,42,48,61],"texture":0},"west":{"uv":[24,42,36,61],"texture":0},"up":{"uv":[24,42,12,30],"texture":0},"down":{"uv":[36,30,24,42],"texture":0}},"type":"cube","uuid":"2f7bd122-e685-5397-518a-d566774b5f7f"},{"name":"c","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5,25,-5],"to":[5,48,5],"autouv":0,"color":7,"origin":[0,26,0],"uv_offset":[48,20],"faces":{"north":{"uv":[58,30,68,53],"texture":0},"east":{"uv":[48,30,58,53],"texture":0},"south":{"uv":[78,30,88,53],"texture":0},"west":{"uv":[68,30,78,53],"texture":0},"up":{"uv":[68,30,58,20],"texture":0},"down":{"uv":[78,20,68,30],"texture":0}},"type":"cube","uuid":"a32e4c53-99d7-93d5-23f7-ae163af4dae5"},{"name":"d","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,45,-4],"to":[4,66,4],"autouv":0,"color":7,"origin":[0,26,0],"uv_offset":[40,53],"faces":{"north":{"uv":[48,61,56,82],"texture":0},"east":{"uv":[40,61,48,82],"texture":0},"south":{"uv":[64,61,72,82],"texture":0},"west":{"uv":[56,61,64,82],"texture":0},"up":{"uv":[56,61,48,53],"texture":0},"down":{"uv":[64,53,56,61],"texture":0}},"type":"cube","uuid":"a4c5b57f-c555-154e-e673-7e114f6e5a21"},{"name":"e","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-3,64,-3],"to":[3,86,3],"autouv":0,"color":7,"origin":[-1.1793215979571126e-16,26,-4.382008627821946e-33],"uv_offset":[0,61],"faces":{"north":{"uv":[6,67,12,89],"texture":0},"east":{"uv":[0,67,6,89],"texture":0},"south":{"uv":[18,67,24,89],"texture":0},"west":{"uv":[12,67,18,89],"texture":0},"up":{"uv":[12,67,6,61],"texture":0},"down":{"uv":[18,61,12,67],"texture":0}},"type":"cube","uuid":"c8af392a-28ea-8a9f-cc0f-e8f19558f993"},{"name":"f","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-3,85,-3],"to":[3,100,3],"autouv":0,"color":7,"origin":[-2.620714662126916e-16,47,-9.737796950715435e-33],"uv_offset":[72,53],"faces":{"north":{"uv":[78,59,84,74],"texture":0},"east":{"uv":[72,59,78,74],"texture":0},"south":{"uv":[90,59,96,74],"texture":0},"west":{"uv":[84,59,90,74],"texture":0},"up":{"uv":[84,59,78,53],"texture":0},"down":{"uv":[90,53,84,59],"texture":0}},"type":"cube","uuid":"1d4836bc-6b01-9b8b-2958-1280f80f91b7"},{"name":"g","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2.5999999999999996,99,-2.5999999999999996],"to":[2.5999999999999996,114,2.599999999999998],"autouv":0,"color":7,"origin":[-3.6034826604245074e-16,0,1],"uv_offset":[56,0],"faces":{"north":{"uv":[61.199999999999996,5.1999999999999975,66.39999999999999,20.199999999999996],"texture":0},"east":{"uv":[56,5.1999999999999975,61.199999999999996,20.199999999999996],"texture":0},"south":{"uv":[71.6,5.1999999999999975,76.8,20.199999999999996],"texture":0},"west":{"uv":[66.39999999999999,5.1999999999999975,71.6,20.199999999999996],"texture":0},"up":{"uv":[66.39999999999999,5.1999999999999975,61.199999999999996,0],"texture":0},"down":{"uv":[71.6,0,66.39999999999999,5.1999999999999975],"texture":0}},"type":"cube","uuid":"4001f6b1-caf3-d76f-2d5b-8636c85cd0fb"},{"name":"h","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2.0999999999999996,113,-2.0999999999999996],"to":[2.0999999999999996,128,2.099999999999998],"autouv":0,"color":7,"origin":[-4.455214925615753e-16,14,1],"uv_offset":[24,61],"faces":{"north":{"uv":[28.199999999999996,65.2,32.4,80.19999999999999],"texture":0},"east":{"uv":[24,65.2,28.199999999999996,80.19999999999999],"texture":0},"south":{"uv":[36.599999999999994,65.2,40.8,80.19999999999999],"texture":0},"west":{"uv":[32.4,65.2,36.599999999999994,80.19999999999999],"texture":0},"up":{"uv":[32.4,65.2,28.199999999999996,61],"texture":0},"down":{"uv":[36.599999999999994,61,32.4,65.2],"texture":0}},"type":"cube","uuid":"4ba83545-3fcf-726d-033c-a1ac411a4ae3"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3,-0.6703481918674496,-7.772537561589672],"to":[17,-0.6703481918674496,6.227462438410338],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[3,-0.6703481918674496,-7.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"43754e70-3fcd-b60a-62ee-01eadc22607a"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3,-0.6703481918674496,-7.772537561589672],"to":[17,-0.6703481918674496,6.227462438410338],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[3,-0.6703481918674496,-7.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100,14.000000000000002,114,14.000000000000002],"texture":0},"east":{"uv":[86,14.000000000000002,100,14.000000000000002],"texture":0},"south":{"uv":[128,14.000000000000002,142,14.000000000000002],"texture":0},"west":{"uv":[114,14.000000000000002,128,14.000000000000002],"texture":0},"up":{"uv":[114,14.000000000000002,100,0],"texture":0},"down":{"uv":[128,0,114,14.000000000000002],"texture":0}},"type":"cube","uuid":"e5054bff-a980-a8dc-0221-58208085978f"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,-0.6703481918674511,4.227462438410328],"to":[19,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[5,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"13ebb478-c830-3a6e-858d-2269a5ea0642"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,-0.6703481918674511,4.227462438410328],"to":[19,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[5,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"2a87966b-98f6-fe32-0698-06d07dd0caa9"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674511,4.227462438410328],"to":[8,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-6,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"b2e2dbad-e1e3-ecb6-41d7-21cb1908deb8"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674511,4.227462438410328],"to":[8,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-6,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"f93aa31f-c197-3e66-58ad-a1c638ecce97"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674499,-6.772537561589672],"to":[8,-0.6703481918674499,7.227462438410338],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-6,-0.6703481918674499,-6.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"c1ca47a6-f9ba-555a-cc32-58d55b8809b9"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674499,-6.772537561589672],"to":[8,-0.6703481918674499,7.227462438410338],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-6,-0.6703481918674499,-6.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"b8b98b2d-632b-3acd-29a8-55efa4850547"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3,-0.6703481918674496,-7.772537561589672],"to":[17,-0.6703481918674496,6.227462438410338],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[3,-0.6703481918674496,-7.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"e3aaee1e-958c-370c-a10d-94e142df629c"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3,-0.6703481918674496,-7.772537561589672],"to":[17,-0.6703481918674496,6.227462438410338],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[3,-0.6703481918674496,-7.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"6bf59ab2-03d6-2995-17bc-76e27e52bf6c"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,-0.6703481918674511,4.227462438410328],"to":[19,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[5,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"666a373c-9dd2-0cfc-c1b7-13a5fe7fe392"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,-0.6703481918674511,4.227462438410328],"to":[19,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[5,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"ebaca892-208f-1ec8-a7b0-4b8bf692d869"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674511,4.227462438410328],"to":[8,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-6,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"02bb3148-7ad4-1fbe-f233-fcd02c1f00f4"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674511,4.227462438410328],"to":[8,-0.6703481918674511,18.22746243841034],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-6,-0.6703481918674511,4.227462438410328],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"ea8790f9-39c1-9607-7faf-4054f0782315"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674499,-6.772537561589672],"to":[8,-0.6703481918674499,7.227462438410338],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-6,-0.6703481918674499,-6.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"42f35de8-e9da-314a-ea8b-4ec3162ccc7b"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,-0.6703481918674499,-6.772537561589672],"to":[8,-0.6703481918674499,7.227462438410338],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-6,-0.6703481918674499,-6.772537561589672],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"2a148807-d884-e05b-680e-36ba4ce450e5"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,40.62422566484149,-3.3435187525409757],"to":[10,40.62422566484149,10.656481247459041],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-4,40.62422566484149,-3.3435187525409757],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"e0119d00-cad6-3842-bbe5-6885628ff35e"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,40.62422566484149,-3.3435187525409757],"to":[10,40.62422566484149,10.656481247459041],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-4,40.62422566484149,-3.3435187525409757],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.00000000000001,114.00000000000001,14.00000000000001],"texture":0},"east":{"uv":[86,14.00000000000001,100.00000000000001,14.00000000000001],"texture":0},"south":{"uv":[128.00000000000003,14.00000000000001,142.00000000000003,14.00000000000001],"texture":0},"west":{"uv":[114.00000000000001,14.00000000000001,128.00000000000003,14.00000000000001],"texture":0},"up":{"uv":[114.00000000000001,14.00000000000001,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.00000000000001],"texture":0}},"type":"cube","uuid":"abe6d75d-fccf-7b97-e8ca-156f68f30b76"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2,60.13549813476108,3.0055163398616545],"to":[16,60.13549813476108,17.005516339861675],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[2,60.13549813476108,3.0055163398616545],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.000000000000018,114.00000000000001,14.000000000000018],"texture":0},"east":{"uv":[86,14.000000000000018,100.00000000000001,14.000000000000018],"texture":0},"south":{"uv":[128.00000000000003,14.000000000000018,142.00000000000003,14.000000000000018],"texture":0},"west":{"uv":[114.00000000000001,14.000000000000018,128.00000000000003,14.000000000000018],"texture":0},"up":{"uv":[114.00000000000001,14.000000000000018,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.000000000000018],"texture":0}},"type":"cube","uuid":"bf2e26ba-937a-73c8-3ab2-9240c2690b0b"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2,60.13549813476108,3.0055163398616545],"to":[16,60.13549813476108,17.005516339861675],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[2,60.13549813476108,3.0055163398616545],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000001,14.000000000000018,114.00000000000001,14.000000000000018],"texture":0},"east":{"uv":[86,14.000000000000018,100.00000000000001,14.000000000000018],"texture":0},"south":{"uv":[128.00000000000003,14.000000000000018,142.00000000000003,14.000000000000018],"texture":0},"west":{"uv":[114.00000000000001,14.000000000000018,128.00000000000003,14.000000000000018],"texture":0},"up":{"uv":[114.00000000000001,14.000000000000018,100.00000000000001,0],"texture":0},"down":{"uv":[128,0,114.00000000000001,14.000000000000018],"texture":0}},"type":"cube","uuid":"61246d8c-3a21-f2e2-2b5e-656b618b9315"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2.0000000000000004,89.02514437942168,0.47799980017960014],"to":[16,89.02514437942168,14.47799980017963],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[2.0000000000000004,89.02514437942168,0.47799980017960014],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000003,14.000000000000021,114.00000000000003,14.000000000000021],"texture":0},"east":{"uv":[86,14.000000000000021,100.00000000000003,14.000000000000021],"texture":0},"south":{"uv":[128.00000000000006,14.000000000000021,142.00000000000006,14.000000000000021],"texture":0},"west":{"uv":[114.00000000000003,14.000000000000021,128.00000000000006,14.000000000000021],"texture":0},"up":{"uv":[114.00000000000003,14.000000000000021,100.00000000000003,0],"texture":0},"down":{"uv":[128.00000000000003,0,114.00000000000003,14.000000000000021],"texture":0}},"type":"cube","uuid":"ff5dbdd3-d6eb-27ba-e1ab-c1a0f550fd3e"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2.0000000000000004,89.02514437942168,0.47799980017960014],"to":[16,89.02514437942168,14.47799980017963],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[2.0000000000000004,89.02514437942168,0.47799980017960014],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000003,14.000000000000021,114.00000000000003,14.000000000000021],"texture":0},"east":{"uv":[86,14.000000000000021,100.00000000000003,14.000000000000021],"texture":0},"south":{"uv":[128.00000000000006,14.000000000000021,142.00000000000006,14.000000000000021],"texture":0},"west":{"uv":[114.00000000000003,14.000000000000021,128.00000000000006,14.000000000000021],"texture":0},"up":{"uv":[114.00000000000003,14.000000000000021,100.00000000000003,0],"texture":0},"down":{"uv":[128.00000000000003,0,114.00000000000003,14.000000000000021],"texture":0}},"type":"cube","uuid":"8e0f248f-1228-4a38-2a74-cb0d23718fdc"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-22.881490097225765,145.88837332325411,6.8760974475566785],"to":[-8.881490097225756,145.88837332325411,20.876097447556763],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000009,14.000000000000085,114.0000000000001,14.000000000000085],"texture":0},"east":{"uv":[86,14.000000000000085,100.00000000000009,14.000000000000085],"texture":0},"south":{"uv":[128.00000000000017,14.000000000000085,142.0000000000002,14.000000000000085],"texture":0},"west":{"uv":[114.0000000000001,14.000000000000085,128.00000000000017,14.000000000000085],"texture":0},"up":{"uv":[114.0000000000001,14.000000000000085,100.00000000000009,0],"texture":0},"down":{"uv":[128.0000000000001,0,114.0000000000001,14.000000000000085],"texture":0}},"type":"cube","uuid":"817666d5-286f-6161-8446-3970704a3265"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.16641666179338577,107.95005796968688,-16.171809311462464],"to":[14.166416661793397,107.95005796968688,-2.17180931146247],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100,13.999999999999993,114,13.999999999999993],"texture":0},"east":{"uv":[86,13.999999999999993,100,13.999999999999993],"texture":0},"south":{"uv":[128,13.999999999999993,142,13.999999999999993],"texture":0},"west":{"uv":[114,13.999999999999993,128,13.999999999999993],"texture":0},"up":{"uv":[114,13.999999999999993,100,0],"texture":0},"down":{"uv":[128,0,114,13.999999999999993],"texture":0}},"type":"cube","uuid":"5f3e16dd-eed6-733e-e1db-f1934b558e88"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-22.881490097225765,145.88837332325411,6.8760974475566785],"to":[-8.881490097225756,145.88837332325411,20.876097447556763],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000009,14.000000000000085,114.00000000000009,14.000000000000085],"texture":0},"east":{"uv":[86,14.000000000000085,100.00000000000009,14.000000000000085],"texture":0},"south":{"uv":[128.00000000000017,14.000000000000085,142.00000000000017,14.000000000000085],"texture":0},"west":{"uv":[114.00000000000009,14.000000000000085,128.00000000000017,14.000000000000085],"texture":0},"up":{"uv":[114.00000000000009,14.000000000000085,100.00000000000009,0],"texture":0},"down":{"uv":[128.0000000000001,0,114.00000000000009,14.000000000000085],"texture":0}},"type":"cube","uuid":"573cf719-c66a-d73e-148d-d14e9617d0ac"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.16641666179338577,107.95005796968688,-16.171809311462464],"to":[14.166416661793397,107.95005796968688,-2.17180931146247],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100,13.999999999999995,114,13.999999999999995],"texture":0},"east":{"uv":[86,13.999999999999995,100,13.999999999999995],"texture":0},"south":{"uv":[128,13.999999999999995,142,13.999999999999995],"texture":0},"west":{"uv":[114,13.999999999999995,128,13.999999999999995],"texture":0},"up":{"uv":[114,13.999999999999995,100,0],"texture":0},"down":{"uv":[128,0,114,13.999999999999995],"texture":0}},"type":"cube","uuid":"e4e3e2ae-0684-ee78-4ec9-33f0f9461b19"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-22.881490097225765,145.88837332325411,6.8760974475566785],"to":[-8.881490097225756,145.88837332325411,20.876097447556763],"autouv":0,"color":0,"rotation":[-180,-45.000000000000156,90],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100.00000000000009,14.000000000000085,114.00000000000009,14.000000000000085],"texture":0},"east":{"uv":[86,14.000000000000085,100.00000000000009,14.000000000000085],"texture":0},"south":{"uv":[128.00000000000017,14.000000000000085,142.00000000000017,14.000000000000085],"texture":0},"west":{"uv":[114.00000000000009,14.000000000000085,128.00000000000017,14.000000000000085],"texture":0},"up":{"uv":[114.00000000000009,14.000000000000085,100.00000000000009,0],"texture":0},"down":{"uv":[128.0000000000001,0,114.00000000000009,14.000000000000085],"texture":0}},"type":"cube","uuid":"c59ea2f3-dbd7-5b92-4640-4acc2121a8b2"},{"name":"cube","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.16641666179338577,107.95005796968688,-16.171809311462464],"to":[14.166416661793397,107.95005796968688,-2.17180931146247],"autouv":0,"color":0,"rotation":[-89.99999999999994,-6.3611093629270335e-15,45],"origin":[-36.04320341964982,110.62188448501286,-2.507082580585397],"uv_offset":[86,0],"faces":{"north":{"uv":[100,13.999999999999995,114,13.999999999999995],"texture":0},"east":{"uv":[86,13.999999999999995,100,13.999999999999995],"texture":0},"south":{"uv":[128,13.999999999999995,142,13.999999999999995],"texture":0},"west":{"uv":[114,13.999999999999995,128,13.999999999999995],"texture":0},"up":{"uv":[114,13.999999999999995,100,0],"texture":0},"down":{"uv":[128,0,114,13.999999999999995],"texture":0}},"type":"cube","uuid":"3bb469e2-e5a5-7cfc-3e9c-6fd43b8a3ca0"}],"outliner":[{"name":"bone_a","origin":[0,0,0],"rotation":[-7.951386703658792e-15,0,0],"color":0,"uuid":"836e9354-0309-70b5-cb60-e7f38118e743","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["43deca74-ef0e-9496-f060-a569a5f66a3c",{"name":"flower_4","origin":[-6,-0.6703481918674499,-6.772537561589672],"rotation":[-91.26598229300457,52.08446097361874,-64.05377573888674],"color":0,"uuid":"2ea8b2cf-a2c0-c454-2fb5-d9bc522a921c","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["c1ca47a6-f9ba-555a-cc32-58d55b8809b9","b8b98b2d-632b-3acd-29a8-55efa4850547",{"name":"flower_8","origin":[-6,-0.6703481918674499,-6.772537561589672],"rotation":[-167.64364206893785,46.98788282368353,-125.90165504433261],"color":0,"uuid":"02ef3343-dfcc-9af4-29a2-6dc427c70898","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["42f35de8-e9da-314a-ea8b-4ec3162ccc7b","2a148807-d884-e05b-680e-36ba4ce450e5"]}]},{"name":"flower_3","origin":[-6,-0.6703481918674511,4.227462438410328],"rotation":[137.96042965468234,-13.430580338215425,-145.38236406964168],"color":0,"uuid":"2fc2f20b-05ce-0410-dd40-8d55ec1d814a","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["b2e2dbad-e1e3-ecb6-41d7-21cb1908deb8","f93aa31f-c197-3e66-58ad-a1c638ecce97",{"name":"flower_7","origin":[-6,-0.6703481918674511,4.227462438410328],"rotation":[137.96042965468234,-13.430580338215425,-145.38236406964168],"color":0,"uuid":"3c08633a-6d30-3951-f49a-b815826de0cd","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["02bb3148-7ad4-1fbe-f233-fcd02c1f00f4","ea8790f9-39c1-9607-7faf-4054f0782315"]}]},{"name":"flower_2","origin":[5,-0.6703481918674511,4.227462438410328],"rotation":[72.75299322235041,-55.44873947197246,-103.02095072899253],"color":0,"uuid":"8cc35e91-dbf2-1e20-efc6-d0c6dc9e1e32","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["13ebb478-c830-3a6e-858d-2269a5ea0642","2a87966b-98f6-fe32-0698-06d07dd0caa9",{"name":"flower_6","origin":[5,-0.6703481918674511,4.227462438410328],"rotation":[72.75299322235041,-55.44873947197246,-103.02095072899253],"color":0,"uuid":"93297f86-e3ca-4d71-a6c8-298ff77bbb1a","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["666a373c-9dd2-0cfc-c1b7-13a5fe7fe392","ebaca892-208f-1ec8-a7b0-4b8bf692d869"]}]},{"name":"flower_1","origin":[3,-0.6703481918674496,-7.772537561589672],"rotation":[-34.96649542120608,3.067430398401471,-33.59739024796235],"color":0,"uuid":"59363886-4b5a-2a3c-75cd-8d6276de69b3","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["e5054bff-a980-a8dc-0221-58208085978f","43754e70-3fcd-b60a-62ee-01eadc22607a",{"name":"flower_5","origin":[3,-0.6703481918674496,-7.772537561589672],"rotation":[-34.96649542120608,3.067430398401471,-33.59739024796235],"color":0,"uuid":"0265d420-aeaa-b538-1252-89df12b0f9b6","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["e3aaee1e-958c-370c-a10d-94e142df629c","6bf59ab2-03d6-2995-17bc-76e27e52bf6c"]}]},{"name":"bone_b","origin":[0,9,0],"rotation":[15,0,0],"color":0,"uuid":"aa6d7f64-89b9-a900-a3dc-3a9fcdc22618","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["2f7bd122-e685-5397-518a-d566774b5f7f",{"name":"bone_c","origin":[0,25,0],"rotation":[-6.599650964036798e-14,0,0],"color":0,"uuid":"7b4502a2-fe6a-53ad-2f9f-391f31027828","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"flower_9","origin":[-4,40.62422566484149,-3.3435187525409757],"rotation":[-167.64364206893785,46.987882823683556,-140.9016550443326],"color":0,"uuid":"5ba196d8-95ae-bace-28cb-48bdb2d6cbac","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["e0119d00-cad6-3842-bbe5-6885628ff35e","abe6d75d-fccf-7b97-e8ca-156f68f30b76"]},"a32e4c53-99d7-93d5-23f7-ae163af4dae5",{"name":"bone_d","origin":[0,43,0],"rotation":[10.000000000000005,2.1289409148363706e-15,3.753897236198147e-16],"color":0,"uuid":"286e227f-8a7a-cfd3-27a0-86aed0c10bb7","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"flower_10","origin":[2,60.13549813476108,3.0055163398616545],"rotation":[163.90070263038493,34.045350837165316,140.2721846400254],"color":0,"uuid":"1ed2c36a-c359-91ea-40ba-572a6c8757f7","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["bf2e26ba-937a-73c8-3ab2-9240c2690b0b","61246d8c-3a21-f2e2-2b5e-656b618b9315"]},"a4c5b57f-c555-154e-e673-7e114f6e5a21",{"name":"bone_e","origin":[0,61,0],"rotation":[-10,2.1289409148363706e-15,3.753897236198147e-16],"color":0,"uuid":"960ce6d7-f146-7814-e0c9-b11b5b43956a","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["c8af392a-28ea-8a9f-cc0f-e8f19558f993",{"name":"bone_f","origin":[0,83,0],"rotation":[-10,2.1289409148363706e-15,3.753897236198147e-16],"color":0,"uuid":"3f876c03-f9b2-1dac-08bc-990abce00d76","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["1d4836bc-6b01-9b8b-2958-1280f80f91b7",{"name":"flower_11","origin":[2.0000000000000004,89.02514437942168,0.47799980017960014],"rotation":[-158.0615625451014,-19.935030254861065,145.712572187446],"color":0,"uuid":"42c04c52-8414-cc27-f1a2-bce1e6fdc48c","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["ff5dbdd3-d6eb-27ba-e1ab-c1a0f550fd3e","8e0f248f-1228-4a38-2a74-cb0d23718fdc"]},{"name":"bone_g","origin":[0,98,0],"rotation":[-17.5,2.1289409148363706e-15,3.753897236198147e-16],"color":0,"uuid":"87fdafb8-862b-0fc4-f194-483e4c6ab1d2","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4001f6b1-caf3-d76f-2d5b-8636c85cd0fb",{"name":"bone_h","origin":[0,111,0],"rotation":[-15,2.1289409148363706e-15,3.753897236198147e-16],"color":0,"uuid":"bd8fb7b0-ef45-7564-a12a-05cb47421493","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4ba83545-3fcf-726d-033c-a1ac411a4ae3",{"name":"flower_12","origin":[-4.852359674770397e-16,126.1462282992986,0.6365198729059891],"rotation":[-158.06156254510137,-19.93503025486101,170.7125721874457],"color":0,"uuid":"faa91113-8626-24ec-baa2-9003ea1e0eda","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["817666d5-286f-6161-8446-3970704a3265","5f3e16dd-eed6-733e-e1db-f1934b558e88",{"name":"flower_13","origin":[-4.852359674770397e-16,126.1462282992986,0.6365198729059891],"rotation":[-158.06156254510134,-19.935030254861015,148.21257218744574],"color":0,"uuid":"749d951a-ecbc-4197-9c32-365bbb0a98a9","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["573cf719-c66a-d73e-148d-d14e9617d0ac","e4e3e2ae-0684-ee78-4ec9-33f0f9461b19"]},{"name":"flower_14","origin":[-4.852359674770397e-16,126.1462282992986,0.6365198729059891],"rotation":[111.22147558087971,59.83922506916349,99.72701164210366],"color":0,"uuid":"3c36c30a-bdb5-bede-7d1c-4073204f716c","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["c59ea2f3-dbd7-5b92-4640-4acc2121a8b2","3bb469e2-e5a5-7cfc-3e9c-6fd43b8a3ca0"]}]}]}]}]}]}]}]}]}]}],"textures":[{"path":"/home/sollace/Documents/GitRepos/minecraft_mods/Unicopia/assets/models/tentacle.png","name":"tentacle.png","folder":"block","namespace":"","id":"0","particle":false,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"59729803-364e-77c5-ab9a-5c088a316d59","relative_path":"../tentacle.png","source":"data:image/png;base64,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"}],"fabricOptions":{"header":"package com.example.mod;","entity":"Entity","render":"","members":""}} \ No newline at end of file diff --git a/assets/models/tentacle.java b/assets/models/tentacle.java new file mode 100644 index 00000000..81792fec --- /dev/null +++ b/assets/models/tentacle.java @@ -0,0 +1,169 @@ +// Made with Blockbench 4.8.3 +// Exported for Minecraft version 1.17+ for Yarn +// Paste this class into your mod and generate all required imports +public class tentacle extends EntityModel { + private final ModelPart bone_a; + private final ModelPart flower_4; + private final ModelPart cube_r1; + private final ModelPart cube_r2; + private final ModelPart flower_8; + private final ModelPart cube_r3; + private final ModelPart cube_r4; + private final ModelPart flower_3; + private final ModelPart cube_r5; + private final ModelPart cube_r6; + private final ModelPart flower_7; + private final ModelPart cube_r7; + private final ModelPart cube_r8; + private final ModelPart flower_2; + private final ModelPart cube_r9; + private final ModelPart cube_r10; + private final ModelPart flower_6; + private final ModelPart cube_r11; + private final ModelPart cube_r12; + private final ModelPart flower_1; + private final ModelPart cube_r13; + private final ModelPart cube_r14; + private final ModelPart flower_5; + private final ModelPart cube_r15; + private final ModelPart cube_r16; + private final ModelPart bone_b; + private final ModelPart bone_c; + private final ModelPart flower_9; + private final ModelPart cube_r17; + private final ModelPart cube_r18; + private final ModelPart bone_d; + private final ModelPart flower_10; + private final ModelPart cube_r19; + private final ModelPart cube_r20; + private final ModelPart bone_e; + private final ModelPart bone_f; + private final ModelPart flower_11; + private final ModelPart cube_r21; + private final ModelPart cube_r22; + private final ModelPart bone_g; + private final ModelPart bone_h; + private final ModelPart flower_12; + private final ModelPart cube_r23; + private final ModelPart cube_r24; + private final ModelPart flower_13; + private final ModelPart cube_r25; + private final ModelPart cube_r26; + private final ModelPart flower_14; + private final ModelPart cube_r27; + private final ModelPart cube_r28; + public tentacle(ModelPart root) { + this.bone_a = root.getChild("bone_a"); + } + public static TexturedModelData getTexturedModelData() { + ModelData modelData = new ModelData(); + ModelPartData modelPartData = modelData.getRoot(); + ModelPartData bone_a = modelPartData.addChild("bone_a", ModelPartBuilder.create().uv(0, 0).cuboid(-7.0F, -10.0F, -7.0F, 14.0F, 16.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 24.0F, 0.0F, 0.0F, 0.0F, 0.0F)); + + ModelPartData flower_4 = bone_a.addChild("flower_4", ModelPartBuilder.create(), ModelTransform.of(6.0F, 0.6703F, -6.7725F, 1.5929F, -0.909F, -1.1179F)); + + ModelPartData cube_r1 = flower_4.addChild("cube_r1", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r2 = flower_4.addChild("cube_r2", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_8 = flower_4.addChild("flower_8", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, 2.9259F, -0.8201F, -2.1974F)); + + ModelPartData cube_r3 = flower_8.addChild("cube_r3", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r4 = flower_8.addChild("cube_r4", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_3 = bone_a.addChild("flower_3", ModelPartBuilder.create(), ModelTransform.of(6.0F, 0.6703F, 4.2275F, -2.4079F, 0.2344F, -2.5374F)); + + ModelPartData cube_r5 = flower_3.addChild("cube_r5", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r6 = flower_3.addChild("cube_r6", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_7 = flower_3.addChild("flower_7", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, -2.4079F, 0.2344F, -2.5374F)); + + ModelPartData cube_r7 = flower_7.addChild("cube_r7", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r8 = flower_7.addChild("cube_r8", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_2 = bone_a.addChild("flower_2", ModelPartBuilder.create(), ModelTransform.of(-5.0F, 0.6703F, 4.2275F, -1.2698F, 0.9678F, -1.7981F)); + + ModelPartData cube_r9 = flower_2.addChild("cube_r9", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r10 = flower_2.addChild("cube_r10", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_6 = flower_2.addChild("flower_6", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, -1.2698F, 0.9678F, -1.7981F)); + + ModelPartData cube_r11 = flower_6.addChild("cube_r11", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r12 = flower_6.addChild("cube_r12", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_1 = bone_a.addChild("flower_1", ModelPartBuilder.create(), ModelTransform.of(-3.0F, 0.6703F, -7.7725F, 0.6103F, -0.0535F, -0.5864F)); + + ModelPartData cube_r13 = flower_1.addChild("cube_r13", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r14 = flower_1.addChild("cube_r14", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_5 = flower_1.addChild("flower_5", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, 0.6103F, -0.0535F, -0.5864F)); + + ModelPartData cube_r15 = flower_5.addChild("cube_r15", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r16 = flower_5.addChild("cube_r16", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData bone_b = bone_a.addChild("bone_b", ModelPartBuilder.create().uv(0, 30).cuboid(-6.0F, -18.0F, -6.0F, 12.0F, 19.0F, 12.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -9.0F, 0.0F, -0.2618F, 0.0F, 0.0F)); + + ModelPartData bone_c = bone_b.addChild("bone_c", ModelPartBuilder.create().uv(48, 20).cuboid(-5.0F, -23.0F, -5.0F, 10.0F, 23.0F, 10.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -16.0F, 0.0F, 0.0F, 0.0F, 0.0F)); + + ModelPartData flower_9 = bone_c.addChild("flower_9", ModelPartBuilder.create(), ModelTransform.of(4.0F, -15.6242F, -3.3435F, 2.9259F, -0.8201F, -2.4592F)); + + ModelPartData cube_r17 = flower_9.addChild("cube_r17", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r18 = flower_9.addChild("cube_r18", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData bone_d = bone_c.addChild("bone_d", ModelPartBuilder.create().uv(40, 53).cuboid(-4.0F, -23.0F, -4.0F, 8.0F, 21.0F, 8.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -18.0F, 0.0F, -0.1745F, 0.0F, 0.0F)); + + ModelPartData flower_10 = bone_d.addChild("flower_10", ModelPartBuilder.create(), ModelTransform.of(-2.0F, -17.1355F, 3.0055F, -2.8606F, -0.5942F, 2.4482F)); + + ModelPartData cube_r19 = flower_10.addChild("cube_r19", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r20 = flower_10.addChild("cube_r20", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData bone_e = bone_d.addChild("bone_e", ModelPartBuilder.create().uv(0, 61).cuboid(-3.0F, -25.0F, -3.0F, 6.0F, 22.0F, 6.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -18.0F, 0.0F, 0.1745F, 0.0F, 0.0F)); + + ModelPartData bone_f = bone_e.addChild("bone_f", ModelPartBuilder.create().uv(72, 53).cuboid(-3.0F, -17.0F, -3.0F, 6.0F, 15.0F, 6.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, -22.0F, 0.0F, 0.1745F, 0.0F, 0.0F)); + + ModelPartData flower_11 = bone_f.addChild("flower_11", ModelPartBuilder.create(), ModelTransform.of(-2.0F, -6.0251F, 0.478F, 2.7587F, 0.3479F, 2.5432F)); + + ModelPartData cube_r21 = flower_11.addChild("cube_r21", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r22 = flower_11.addChild("cube_r22", ModelPartBuilder.create().uv(86, 0).cuboid(-14.0F, 0.0F, 0.0F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(0.0F, 0.0F, 0.0F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData bone_g = bone_f.addChild("bone_g", ModelPartBuilder.create().uv(56, 0).cuboid(-2.6F, -16.0F, -2.6F, 5.2F, 15.0F, 5.2F, new Dilation(0.0F)), ModelTransform.of(0.0F, -15.0F, 0.0F, 0.3054F, 0.0F, 0.0F)); + + ModelPartData bone_h = bone_g.addChild("bone_h", ModelPartBuilder.create().uv(24, 61).cuboid(-2.1F, -17.0F, -2.1F, 4.2F, 15.0F, 4.2F, new Dilation(0.0F)), ModelTransform.of(0.0F, -13.0F, 0.0F, 0.2618F, 0.0F, 0.0F)); + + ModelPartData flower_12 = bone_h.addChild("flower_12", ModelPartBuilder.create(), ModelTransform.of(0.0F, -15.1462F, 0.6365F, 2.7587F, 0.3479F, 2.9795F)); + + ModelPartData cube_r23 = flower_12.addChild("cube_r23", ModelPartBuilder.create().uv(86, 0).cuboid(-50.2096F, 2.6718F, -13.6647F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r24 = flower_12.addChild("cube_r24", ModelPartBuilder.create().uv(86, 0).cuboid(-27.1617F, -35.2665F, 9.3832F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_13 = flower_12.addChild("flower_13", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, 2.7587F, 0.3479F, 2.5868F)); + + ModelPartData cube_r25 = flower_13.addChild("cube_r25", ModelPartBuilder.create().uv(86, 0).cuboid(-50.2096F, 2.6718F, -13.6647F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r26 = flower_13.addChild("cube_r26", ModelPartBuilder.create().uv(86, 0).cuboid(-27.1617F, -35.2665F, 9.3832F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 3.1416F, 0.7854F, 1.5708F)); + + ModelPartData flower_14 = flower_12.addChild("flower_14", ModelPartBuilder.create(), ModelTransform.of(0.0F, 0.0F, 0.0F, -1.9412F, -1.0444F, 1.7406F)); + + ModelPartData cube_r27 = flower_14.addChild("cube_r27", ModelPartBuilder.create().uv(86, 0).cuboid(-50.2096F, 2.6718F, -13.6647F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 1.5708F, 0.0F, 0.7854F)); + + ModelPartData cube_r28 = flower_14.addChild("cube_r28", ModelPartBuilder.create().uv(86, 0).cuboid(-27.1617F, -35.2665F, 9.3832F, 14.0F, 0.0F, 14.0F, new Dilation(0.0F)), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 3.1416F, 0.7854F, 1.5708F)); + return TexturedModelData.of(modelData, 128, 128); + } + @Override + public void setAngles(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { + } + @Override + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { + bone_a.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + } +} \ No newline at end of file diff --git a/assets/models/tentacle.png b/assets/models/tentacle.png new file mode 100644 index 0000000000000000000000000000000000000000..1026c1c0a49236c48e11c922a74a22597bec6819 GIT binary patch literal 19159 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]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 { w.setBlockState(pos.down(), Blocks.DIRT.getDefaultState()); } w.setBlockState(pos, UBlocks.PLUNDER_VINE_BUD.getDefaultState()); + } else if (w.random.nextInt(5000) == 0) { + if (w.getBlockState(pos.down()).isOf(Blocks.FARMLAND)) { + w.setBlockState(pos.down(), Blocks.DIRT.getDefaultState()); + } + w.breakBlock(pos, true); + TentacleEntity tentacle = new TentacleEntity(w, pos); + tentacle.updatePositionAndAngles(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5, 0, 0); + w.spawnEntity(tentacle); } return 1; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java index 5bf94a22..93fc054a 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java +++ b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java @@ -97,6 +97,7 @@ public interface URenderers { EntityRendererRegistry.register(UEntities.AIR_BALLOON, AirBalloonEntityRenderer::new); EntityRendererRegistry.register(UEntities.FRIENDLY_CREEPER, FriendlyCreeperEntityRenderer::new); EntityRendererRegistry.register(UEntities.LOOT_BUG, LootBugEntityRenderer::new); + EntityRendererRegistry.register(UEntities.TENTACLE, TentacleEntityRenderer::new); BlockEntityRendererFactories.register(UBlockEntities.WEATHER_VANE, WeatherVaneBlockEntityRenderer::new); BlockEntityRendererFactories.register(UBlockEntities.FANCY_BED, CloudBedBlockEntityRenderer::new); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java new file mode 100644 index 00000000..e365457a --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java @@ -0,0 +1,142 @@ +package com.minelittlepony.unicopia.client.render.entity; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.minelittlepony.unicopia.entity.mob.TentacleEntity; + +import net.minecraft.client.model.Dilation; +import net.minecraft.client.model.ModelData; +import net.minecraft.client.model.ModelPart; +import net.minecraft.client.model.ModelPartBuilder; +import net.minecraft.client.model.ModelPartData; +import net.minecraft.client.model.ModelTransform; +import net.minecraft.client.model.TexturedModelData; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.VertexConsumer; +import net.minecraft.client.render.entity.model.EntityModel; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.math.MathHelper; + +public class TentacleEntityModel extends EntityModel { + private final ModelPart part; + + private final Map parts = new HashMap<>(); + private final List bones = new ArrayList<>(); + private final List brushes; + + private final ModelPart tip; + + public TentacleEntityModel(ModelPart root) { + super(RenderLayer::getEntityTranslucent); + this.part = root; + for (String key : List.of("bone_a", "bone_b", "bone_c", "bone_d", "bone_e", "bone_f", "bone_g", "bone_h")) { + parts.put(key, root = root.getChild(key)); + bones.add(root); + } + var bone_a = parts.get("bone_a"); + brushes = List.of( + bone_a.getChild("brush_1"), + bone_a.getChild("brush_2"), + bone_a.getChild("brush_3"), + bone_a.getChild("brush_4"), + parts.get("bone_c").getChild("flower_1"), + parts.get("bone_d").getChild("flower_2"), + parts.get("bone_f").getChild("flower_3")); + tip = parts.get("bone_h").getChild("tip"); + } + + public static TexturedModelData getTexturedModelData() { + ModelData data = new ModelData(); + data.getRoot() + .addChild("bone_a", ModelPartBuilder.create().uv(0, 0).cuboid(-7, -10, -7, 14, 16, 14, Dilation.NONE), ModelTransform.pivot(0, 24, 0)) + .addChild("bone_b", ModelPartBuilder.create().uv(0, 30).cuboid(-6, -18, -6, 12, 19, 12, Dilation.NONE), ModelTransform.of(0, -9, 0, -0.2618F, 0, 0)) + .addChild("bone_c", ModelPartBuilder.create().uv(48, 20).cuboid(-5, -23, -5, 10, 23, 10, Dilation.NONE), ModelTransform.of(0, -16, 0, 0, 0, 0)) + .addChild("bone_d", ModelPartBuilder.create().uv(40, 53).cuboid(-4, -23, -4, 8, 21, 8, Dilation.NONE), ModelTransform.of(0, -18, 0, -0.1745F, 0, 0)) + .addChild("bone_e", ModelPartBuilder.create().uv(0, 61).cuboid(-3, -25, -3, 6, 22, 6, Dilation.NONE), ModelTransform.of(0, -18, 0, 0.1745F, 0, 0)) + .addChild("bone_f", ModelPartBuilder.create().uv(72, 53).cuboid(-3, -17, -3, 6, 15, 6, Dilation.NONE), ModelTransform.of(0, -22, 0, 0.1745F, 0, 0)) + .addChild("bone_g", ModelPartBuilder.create().uv(56, 0).cuboid(-2.6F, -16, -2.6F, 5.2F, 15, 5.2F, Dilation.NONE), ModelTransform.of(0, -15, 0, 0.3054F, 0, 0)) + .addChild("bone_h", ModelPartBuilder.create().uv(24, 61).cuboid(-2.1F, -17, -2.1F, 4.2F, 15, 4.2F, Dilation.NONE), ModelTransform.of(0, -13, 0, 0.2618F, 0, 0)); + return TexturedModelData.of(addFlowers(data), 128, 128); + } + + private static ModelData addFlowers(ModelData data) { + ModelPartData bone_a = data.getRoot().getChild("bone_a"); + createFlowerSinglet(createFlowerSinglet(bone_a.addChild("brush_1", ModelPartBuilder.create(), ModelTransform.of(-3, 0.6703F, -7.7725F, 0.6103F, -0.0535F, -0.5864F))).addChild("bundle", ModelPartBuilder.create(), ModelTransform.rotation(0.6103F, -0.0535F, -0.5864F))); + createFlowerSinglet(createFlowerSinglet(bone_a.addChild("brush_2", ModelPartBuilder.create(), ModelTransform.of(-5, 0.6703F, 4.2275F, -1.2698F, 0.9678F, -1.7981F))).addChild("bundle", ModelPartBuilder.create(), ModelTransform.rotation(-1.2698F, 0.9678F, -1.7981F))); + createFlowerSinglet(createFlowerSinglet(bone_a.addChild("brush_3", ModelPartBuilder.create(), ModelTransform.of( 6, 0.6703F, 4.2275F, -2.4079F, 0.2344F, -2.5374F))).addChild("bundle", ModelPartBuilder.create(), ModelTransform.rotation(-2.4079F, 0.2344F, -2.5374F))); + createFlowerSinglet(createFlowerSinglet(bone_a.addChild("brush_4", ModelPartBuilder.create(), ModelTransform.of( 6, 0.6703F, -6.7725F, 1.5929F, -0.909F, -1.1179F))).addChild("bundle", ModelPartBuilder.create(), ModelTransform.rotation(2.9259F, -0.8201F, -2.1974F))); + + ModelPartData bone_c = bone_a.getChild("bone_b").getChild("bone_c"); + createFlowerSinglet(bone_c.addChild("flower_1", ModelPartBuilder.create(), ModelTransform.of( 4, -15.6242F, -3.3435F, 2.9259F, -0.8201F, -2.4592F))); + + ModelPartData bone_d = bone_c.getChild("bone_d"); + createFlowerSinglet(bone_d.addChild("flower_2", ModelPartBuilder.create(), ModelTransform.of(-2, -17.1355F, 3.0055F, -2.8606F, -0.5942F, 2.4482F))); + ModelPartData bone_f = bone_d.getChild("bone_e").getChild("bone_f"); + createFlowerSinglet(bone_f.addChild("flower_3", ModelPartBuilder.create(), ModelTransform.of(-2, -6.0251F, 0.478F, 2.7587F, 0.3479F, 2.5432F))); + + ModelPartData flower_12 = createFlowerBunch(bone_f.getChild("bone_g").getChild("bone_h").addChild("tip", ModelPartBuilder.create(), ModelTransform.of(0, -15.1462F, 0.6365F, 2.7587F, 0.3479F, 2.9795F))); + createFlowerBunch(flower_12.addChild("bundle_1", ModelPartBuilder.create(), ModelTransform.rotation( 2.7587F, 0.3479F, 2.5868F))); + createFlowerBunch(flower_12.addChild("bundle_2", ModelPartBuilder.create(), ModelTransform.rotation(-1.9412F, -1.0444F, 1.7406F))); + return data; + } + + private static ModelPartData createFlowerSinglet(ModelPartData parent) { + parent.addChild("flower_1", ModelPartBuilder.create().uv(86, 0).cuboid(-14, 0, 0, 14, 0, 14, Dilation.NONE), ModelTransform.rotation(1.5708F, 0, 0.7854F)); + parent.addChild("flower_2", ModelPartBuilder.create().uv(86, 0).cuboid(-14, 0, 0, 14, 0, 14, Dilation.NONE), ModelTransform.rotation(3.1416F, 0.7854F, 1.5708F)); + return parent; + } + + private static ModelPartData createFlowerBunch(ModelPartData parent) { + parent.addChild("flower_1", ModelPartBuilder.create().uv(86, 0).cuboid(-50.2096F, 2.6718F, -13.6647F, 14, 0, 14, Dilation.NONE), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 1.5708F, 0, 0.7854F)); + parent.addChild("flower_2", ModelPartBuilder.create().uv(86, 0).cuboid(-27.1617F, -35.2665F, 9.3832F, 14, 0, 14, Dilation.NONE), ModelTransform.of(36.0432F, 15.5243F, -3.1436F, 3.1416F, 0.7854F, 1.5708F)); + return parent; + } + + @Override + public void setAngles(TentacleEntity entity, float limbSwing, float limbSwingAmount, float tickDelta, float yaw, float pitch) { + float age = entity.age + tickDelta + (entity.getUuid().getMostSignificantBits() % 100); + float idleWaveTimer = entity.getAnimationTimer(tickDelta); + + float attackProgress = entity.isAttacking() ? Math.abs(MathHelper.sin(entity.getAttackProgress(tickDelta) * MathHelper.PI)) : 0; + float attackCurve = attackProgress * -0.5F; + float sweepDirection = 1; + + float bendIntentisty = 1 + entity.getAttackProgress(tickDelta) / 2F; + + part.yaw = (yaw * MathHelper.RADIANS_PER_DEGREE) + MathHelper.HALF_PI * attackProgress; + + for (ModelPart bone : bones) { + float idlePitch = MathHelper.sin(idleWaveTimer) * 0.0226F * bendIntentisty; + float idleYaw = MathHelper.cos(idleWaveTimer + 0.53F) * 0.07F; + float idleRoll = MathHelper.sin(idleWaveTimer * 0.2F) * 0.0226F * bendIntentisty; + idleWaveTimer += 1.5F; + bendIntentisty += 3F; + bone.resetTransform(); + + bone.pitch = MathHelper.lerp(attackProgress, idlePitch, bone.pitch + attackCurve); + bone.yaw = MathHelper.lerp(attackProgress, idleYaw, bone.yaw + sweepDirection * attackCurve); + bone.roll = MathHelper.lerp(attackProgress, idleRoll, bone.roll); + attackCurve *= 1.04F; + } + + float direction = 1; + + for (ModelPart brush : brushes) { + brush.resetTransform(); + brush.pitch += MathHelper.sin(age * 0.003F) * 0.03F; + brush.yaw += MathHelper.cos(age * 0.003F) * 0.1F * (direction *= -1); + } + + tip.resetTransform(); + tip.pitch += MathHelper.sin(age * 0.003F) * 0.3F; + tip.yaw += MathHelper.sin(age * 0.03F) * 0.3F; + } + + @Override + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { + part.render(matrices, vertices, light, overlay); + } +} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java new file mode 100644 index 00000000..f6ba79b9 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java @@ -0,0 +1,42 @@ +package com.minelittlepony.unicopia.client.render.entity; + +import com.minelittlepony.unicopia.Unicopia; +import com.minelittlepony.unicopia.entity.mob.TentacleEntity; + +import net.minecraft.client.render.OverlayTexture; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.entity.EntityRenderer; +import net.minecraft.client.render.entity.EntityRendererFactory; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Identifier; + +public class TentacleEntityRenderer extends EntityRenderer { + private static final Identifier TEXTURE = Unicopia.id("textures/entity/poison_joke/tentacle.png"); + + private final TentacleEntityModel model; + + public TentacleEntityRenderer(EntityRendererFactory.Context context) { + super(context); + model = new TentacleEntityModel(TentacleEntityModel.getTexturedModelData().createModel()); + } + + @Override + public void render(TentacleEntity entity, float yaw, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertices, int light) { + matrices.push(); + matrices.scale(-1, -1, 1); + float scale = entity.getGrowth(tickDelta); + + matrices.scale(scale, scale, scale); + matrices.translate(0, -0.9F, 0); + + model.setAngles(entity, 0, 0, tickDelta, entity.getYaw(tickDelta), entity.getPitch(tickDelta)); + model.render(matrices, vertices.getBuffer(model.getLayer(getTexture(entity))), light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + matrices.pop(); + super.render(entity, yaw, tickDelta, matrices, vertices, light); + } + + @Override + public Identifier getTexture(TentacleEntity entity) { + return TEXTURE; + } +} \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java new file mode 100644 index 00000000..cec6b0df --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java @@ -0,0 +1,289 @@ +package com.minelittlepony.unicopia.entity.mob; + +import java.util.Comparator; + +import org.jetbrains.annotations.Nullable; + +import com.minelittlepony.unicopia.entity.player.Pony; +import com.minelittlepony.unicopia.particle.ParticleUtils; +import com.minelittlepony.unicopia.util.shape.Sphere; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.MovementType; +import net.minecraft.entity.damage.DamageSource; +import net.minecraft.entity.data.DataTracker; +import net.minecraft.entity.data.TrackedData; +import net.minecraft.entity.data.TrackedDataHandlerRegistry; +import net.minecraft.entity.decoration.AbstractDecorationEntity; +import net.minecraft.entity.mob.HostileEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.registry.tag.ItemTags; +import net.minecraft.sound.SoundEvents; +import net.minecraft.util.Hand; +import net.minecraft.util.hit.HitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.RaycastContext; +import net.minecraft.world.World; + +public class TentacleEntity extends AbstractDecorationEntity { + static final byte ATTACK_STATUS = 54; + static final int MAX_GROWTH = 25; + private static final TrackedData GROWTH = DataTracker.registerData(TentacleEntity.class, TrackedDataHandlerRegistry.INTEGER); + private static final TrackedData MOTION_OFFSET = DataTracker.registerData(TentacleEntity.class, TrackedDataHandlerRegistry.INTEGER); + + @Nullable + private Box visibilityBox; + + private int prevGrowth; + private int attackingTicks; + private float prevAttackingTicks; + + private int ticksActive; + private int prevMotionOffset; + + @Nullable + private LivingEntity target; + private final Comparator targetSorting = Comparator.comparing(this::distanceTo); + + public TentacleEntity(EntityType type, World world) { + super(type, world); + } + + public TentacleEntity(World world, BlockPos pos) { + super(UEntities.TENTACLE, world, pos); + } + + @Override + protected void initDataTracker() { + super.initDataTracker(); + dataTracker.startTracking(GROWTH, 0); + dataTracker.startTracking(MOTION_OFFSET, 0); + } + + public void attack(BlockPos pos) { + var offset = pos.toCenterPos().subtract(getBlockPos().toCenterPos()); + + double dX = offset.x; + double dY = offset.y; + double dZ = offset.z; + double radius = Math.sqrt(dX * dX + dZ * dZ); + + setPitch(MathHelper.wrapDegrees((float)(-(MathHelper.atan2(dY, radius) * MathHelper.DEGREES_PER_RADIAN)))); + setYaw(MathHelper.wrapDegrees((float)(MathHelper.atan2(dZ, dX) * MathHelper.DEGREES_PER_RADIAN) - 90)); + getWorld().sendEntityStatus(this, ATTACK_STATUS); + attackingTicks = 30; + } + + public float getAttackProgress(float tickDelta) { + return (30F - MathHelper.lerp(tickDelta, prevAttackingTicks, attackingTicks)) / 30F; + } + + public float getGrowth(float tickDelta) { + return MathHelper.lerp(tickDelta, prevGrowth, getGrowth()) / (float)MAX_GROWTH; + } + + public int getGrowth() { + return dataTracker.get(GROWTH); + } + + public void setGrowth(int growth) { + dataTracker.set(GROWTH, Math.max(0, growth)); + } + + public float getAnimationTimer(float tickDelta) { + return (age + tickDelta + (getUuid().getMostSignificantBits() % 100)) * 0.00043F + + MathHelper.lerp(tickDelta, prevMotionOffset, getMotionOffset()) * 0.002F; + } + + public int getMotionOffset() { + return dataTracker.get(MOTION_OFFSET); + } + + public void setMotionOffset(int motionOffset) { + dataTracker.set(MOTION_OFFSET, motionOffset); + } + + public boolean isAttacking() { + return attackingTicks > 0; + } + + @Override + public int getWidthPixels() { + return 9; + } + + @Override + public int getHeightPixels() { + return 9; + } + + @Override + public boolean damage(DamageSource source, float amount) { + if (source.getAttacker() instanceof PlayerEntity player) { + if (player.getStackInHand(Hand.MAIN_HAND).isIn(ItemTags.SHOVELS)) { + kill(); + ParticleUtils.spawnParticles(ParticleTypes.EFFECT, this, 10); + } + if (getWorld().random.nextInt(5) == 0 && canTarget(player)) { + setTarget(player); + } + } + ticksActive += 20; + playSound(SoundEvents.ENTITY_RAVAGER_ROAR, 5, 1); + return true; + } + + @Override + public void tick() { + prevMotionOffset = getMotionOffset(); + prevGrowth = getGrowth(); + super.tick(); + prevAttackingTicks = attackingTicks; + if (isAttacking()) { + if (--attackingTicks == 12) { + if (target != null) { + target.damage(getDamageSources().generic(), 15); + Vec3d diff = target.getPos().subtract(getPos()); + target.takeKnockback(1, diff.x, diff.z); + + ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); + + for (Entity bystander : getWorld().getOtherEntities(target, target.getBoundingBox().expand(3))) { + if (bystander instanceof LivingEntity l) { + diff = l.getPos().subtract(getPos()); + l.takeKnockback(1, diff.x, diff.z); + ParticleUtils.spawnParticles(ParticleTypes.CLOUD, target, 10); + } + } + + target = null; + } + + + playSound(SoundEvents.BLOCK_POINTED_DRIPSTONE_LAND, 1, 1); + } + } + + ParticleUtils.spawnParticles(ParticleTypes.ASH, this, 4); + var sphere = new Sphere(false, 10).translate(getPos()); + ParticleUtils.spawnParticles(getWorld(), sphere, ParticleTypes.ASH, 4); + + if (!getWorld().isClient) { + int growth = getGrowth(); + + if (growth >= MAX_GROWTH / 2) { + if (age % 50 == 0) { + updateTarget(); + } + + if (target != null && !isAttacking()) { + attack(target.getBlockPos()); + } + } + + if (growth < MAX_GROWTH) { + setGrowth(growth + 1); + } + + if (getWorld().random.nextInt(110) == 0) { + playSound(SoundEvents.BLOCK_CONDUIT_AMBIENT_SHORT, 1, 0.3F); + } + + if (ticksActive > 0) { + ticksActive--; + setMotionOffset(getMotionOffset() + ticksActive); + } + } + } + + public void setTarget(LivingEntity target) { + this.target = target; + playSound(SoundEvents.ENTITY_RAVAGER_ROAR, 5, 1); + + if (target instanceof PlayerEntity player) { + Pony.of(player).getMagicalReserves().getEnergy().add(6); + } + } + + private void updateTarget() { + if (!canTarget(target)) { + target = null; + } + + if (target == null && !isAttacking()) { + getWorld().getEntitiesByClass(HostileEntity.class, getBoundingBox().expand(10, 3, 10), this::canTarget) + .stream() + .sorted(targetSorting) + .findFirst() + .ifPresent(this::setTarget); + } + } + + protected boolean canTarget(LivingEntity target) { + return target != null + && !target.isRemoved() + && !target.isSneaky() + && !(target instanceof PlayerEntity player && (player.isCreative() || player.isSpectator())) + && canSee(target); + } + + private boolean canSee(Entity entity) { + return entity.getWorld() == getWorld() + && distanceTo(entity) <= 128 + && getWorld().raycast(new RaycastContext(getPos(), entity.getPos(), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, this)).getType() == HitResult.Type.MISS; + } + + @Override + public void handleStatus(byte status) { + switch (status) { + case ATTACK_STATUS: + attackingTicks = 30; + break; + default: + super.handleStatus(status); + } + } + + @Override + public void onBreak(Entity breaker) { + + } + + @Override + public void onPlace() { + + } + + @Override + public boolean canStayAttached() { + return getWorld().isTopSolid(getBlockPos().down(), this); + } + + @Override + public Box getVisibilityBoundingBox() { + if (visibilityBox == null) { + visibilityBox = getBoundingBox().expand(10, 0, 10).stretch(0, 10, 0); + } + return visibilityBox; + } + + @Override + protected void updateAttachmentPosition() { + visibilityBox = null; + Vec3d pos = attachmentPos.toCenterPos(); + setPos(pos.x, pos.y, pos.z); + setBoundingBox(Box.of(pos, 1, 1, 1).stretch(0, 2, 0)); + } + + @Override + public void move(MovementType movementType, Vec3d movement) { } + + @Override + public void addVelocity(double deltaX, double deltaY, double deltaZ) { } +} diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/UEntities.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/UEntities.java index 3e4b122b..40cab42d 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/UEntities.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/UEntities.java @@ -67,6 +67,9 @@ public interface UEntities { EntityType LOOT_BUG = register("loot_bug", FabricEntityTypeBuilder.create(SpawnGroup.MONSTER, LootBugEntity::new) .trackRangeChunks(8) .dimensions(EntityDimensions.fixed(0.8F, 0.6F))); + EntityType TENTACLE = register("tentacle", FabricEntityTypeBuilder.create(SpawnGroup.MISC, TentacleEntity::new) + .trackRangeChunks(8) + .dimensions(EntityDimensions.fixed(0.8F, 0.8F))); static EntityType register(String name, FabricEntityTypeBuilder builder) { EntityType type = builder.build(); diff --git a/src/main/resources/assets/unicopia/textures/entity/poison_joke/tentacle.png b/src/main/resources/assets/unicopia/textures/entity/poison_joke/tentacle.png new file mode 100644 index 0000000000000000000000000000000000000000..1026c1c0a49236c48e11c922a74a22597bec6819 GIT binary patch literal 19159 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]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