diff --git a/entity/iron_golem.entity.json b/entity/iron_golem.entity.json new file mode 100755 index 0000000..f314141 --- /dev/null +++ b/entity/iron_golem.entity.json @@ -0,0 +1,41 @@ +{ + "format_version": "1.10.0", + "minecraft:client_entity": { + "description": { + "identifier": "minecraft:iron_golem", + "materials": { "default": "tropicalfish" }, + "textures": { + "crackiness_none": "textures/entity/iron_golem/iron_golem_crackiness_none", + "crackiness_low": "textures/entity/iron_golem/iron_golem_crackiness_low", + "crackiness_medium": "textures/entity/iron_golem/iron_golem_crackiness_medium", + "crackiness_high": "textures/entity/iron_golem/iron_golem_crackiness_high", + "bottom_layer": "textures/entity/iron_golem" + }, + "geometry": { + "default": "geometry.irongolem" + }, + "animations": { + "walk": "animation.iron_golem.walk", + "move": "animation.iron_golem.move", + "walk_to_target": "animation.iron_golem.walk_to_target", + "move_to_target": "animation.iron_golem.move_to_target", + "attack": "animation.iron_golem.attack", + "flower": "animation.iron_golem.flower", + "look_at_target": "animation.common.look_at_target", + "move_controller": "controller.animation.iron_golem.move", + "arm_controller": "controller.animation.iron_golem.arm_movement" + }, + "scripts": { + "pre_animation": [ + "variable.modified_tcos0 = Math.clamp(((Math.cos(query.modified_distance_moved * 13.5) * Math.min(query.modified_move_speed, 0.6) / variable.gliding_speed_value) * 25.0), -12.5, 12.5);" + ], + "animate": [ + "look_at_target", + "move_controller", + "arm_controller" + ] + }, + "render_controllers": [ "controller.render.iron_golem" ] + } + } +} diff --git a/render_controllers/iron_golem.render_controllers.json b/render_controllers/iron_golem.render_controllers.json new file mode 100755 index 0000000..aa77fae --- /dev/null +++ b/render_controllers/iron_golem.render_controllers.json @@ -0,0 +1,23 @@ +{ + "format_version": "1.8.0", + "render_controllers": { + "controller.render.iron_golem": { + "arrays": { + "textures": { + "Array.top": [ + "Texture.crackiness_high", + "Texture.crackiness_medium", + "Texture.crackiness_low", + "Texture.crackiness_none" + ] + } + }, + "geometry": "Geometry.default", + "materials": [ { "*": "Material.default" } ], + "textures": [ + "Texture.bottom_layer", + "Array.top[q.health > 99 ? 3 : math.floor(q.health / 25)]" + ] + } + } +} diff --git a/textures/entity/iron_golem/iron_golem_crackiness_high.png b/textures/entity/iron_golem/iron_golem_crackiness_high.png new file mode 100755 index 0000000..cd81362 Binary files /dev/null and b/textures/entity/iron_golem/iron_golem_crackiness_high.png differ diff --git a/textures/entity/iron_golem/iron_golem_crackiness_low.png b/textures/entity/iron_golem/iron_golem_crackiness_low.png new file mode 100755 index 0000000..0d12ff9 Binary files /dev/null and b/textures/entity/iron_golem/iron_golem_crackiness_low.png differ diff --git a/textures/entity/iron_golem/iron_golem_crackiness_medium.png b/textures/entity/iron_golem/iron_golem_crackiness_medium.png new file mode 100755 index 0000000..9387fa1 Binary files /dev/null and b/textures/entity/iron_golem/iron_golem_crackiness_medium.png differ diff --git a/textures/entity/iron_golem/iron_golem_crackiness_none.png b/textures/entity/iron_golem/iron_golem_crackiness_none.png new file mode 100755 index 0000000..2e7933d Binary files /dev/null and b/textures/entity/iron_golem/iron_golem_crackiness_none.png differ