From e8450646b68773c8e4b865ca408779d182b8fc49 Mon Sep 17 00:00:00 2001 From: Pandro Date: Thu, 9 Oct 2025 22:37:28 +0200 Subject: [PATCH] Added Origin "dragon" Added Origin "dragon" which is wide, tanky and immune to fire. Finished power "bulwark". Added power "digestion" which is an active that drains your hunger into health rapidly. Added power "wide_figure" which increases the hitbox to 2 blocks wide (no visual change). --- datapack/data/feathermc/origins/dragon.json | 5 +- datapack/data/feathermc/powers/bulwark.json | 19 +- datapack/data/feathermc/powers/digestion.json | 421 ++++++++++++++++++ .../data/feathermc/powers/wide_figure.json | 26 ++ 4 files changed, 468 insertions(+), 3 deletions(-) create mode 100644 datapack/data/feathermc/powers/digestion.json create mode 100644 datapack/data/feathermc/powers/wide_figure.json diff --git a/datapack/data/feathermc/origins/dragon.json b/datapack/data/feathermc/origins/dragon.json index 377dd89..91c3bd8 100644 --- a/datapack/data/feathermc/origins/dragon.json +++ b/datapack/data/feathermc/origins/dragon.json @@ -3,7 +3,10 @@ "description": "You're a big dragon! Mighty, chunky and a bit slow.", "powers": [ "feathermc:frail_flight", - "feathermc:bulwark" + "feathermc:bulwark", + "feathermc:digestion", + "feathermc:wide_figure", + "origins:fire_immunity" ], "order": 6, "impact": 2 diff --git a/datapack/data/feathermc/powers/bulwark.json b/datapack/data/feathermc/powers/bulwark.json index 97b4d59..363a428 100644 --- a/datapack/data/feathermc/powers/bulwark.json +++ b/datapack/data/feathermc/powers/bulwark.json @@ -7,6 +7,21 @@ "type": "origins:tooltip", "sprite": "minecraft:textures/item/cookie.png", "text": "Cookie heals you for 2 hearts." + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/gui/sprites/hud/heart/full.png", + "text": "An immense health boost to up to 20 hearts!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/gui/sprites/hud/heart/container.png", + "text": "Your health only regenerates up to 10 hearts! Heal the rest with other means!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/iron_chestplate.png", + "text": "You're a bit more resistant to knockback!" } ], "health": { @@ -14,7 +29,7 @@ "modifier": { "id": "bulwark_health", "attribute": "minecraft:generic.max_health", - "amount": 40, + "amount": 20, "operation": "add_value" } }, @@ -34,7 +49,7 @@ { "type": "origins:health", "comparison": "<", - "compare_to": 20 + "compare_to": 10 }, { "type": "apoli:food_level", diff --git a/datapack/data/feathermc/powers/digestion.json b/datapack/data/feathermc/powers/digestion.json new file mode 100644 index 0000000..8edcf41 --- /dev/null +++ b/datapack/data/feathermc/powers/digestion.json @@ -0,0 +1,421 @@ +{ + "type": "origins:multiple", + "name": "Digestion", + "description": "You rub your belly and quickly digest it's contents to restore your health.", + "toggleresource": { + "type": "origins:resource", + "min": 0, + "max": 1, + "starting_value": 0, + "min_action": { + "type": "origins:execute_command", + "command": "cpm animate @s BellyRubs 0" + }, + "max_action": { + "type": "origins:and", + "actions": [{ + "type": "origins:execute_command", + "command": "cpm animate @s BellyRubs 1" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:hunger", + "duration": 50, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 100 + } + }]}, + "hud_render": { + "should_render": false + } + }, + "toggle_p": { + "type": "origins:active_self", + "entity_action": { + "type": "origins:if_else", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 0 + }, + "if_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 1 + } + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:slowness", + "duration": 100, + "is_ambient": true, + "show_particles": false, + "show_icon": true, + "amplifier": 29 + } + } + ] + }, + "else_action": { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 0 + } + } + }, + "key": { + "key": "key.origins.primary_active" + } + }, + "resettoggle": { + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:modify_resource", + "resource": "*:*_toggleresource", + "modifier": { + "operation": "set_base", + "amount": 0 + } + }, + "condition": { + "type": "origins:or", + "conditions": [ + { + "type": "apoli:food_level", + "comparison": "<", + "compare_to": 3 + } + ] + } + }, + "resetbellycounter": { + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:modify_resource", + "resource": "*:*_bellycounter", + "modifier": { + "operation": "set_base", + "amount": 0 + } + }, + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 0 + } + }, + "bellycounter": { + "type": "origins:resource", + "min": 0, + "max": 40, + "starting_value": 0, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/resource_bar.png", + "bar_index": 2, + "inverted": false, + "condition": { + "type": "origins:resource", + "resource": "*:*_bellycounter", + "comparison": "!=", + "compare_to": 0 + } + }, + "max_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:change_resource", + "resource": "*:*_bellycounter", + "change": 0, + "operation": "set" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:hunger", + "duration": 50, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 100 + } + }, + { + "type": "origins:if_else", + "condition": { + "type": "origins:health", + "comparison": "<", + "compare_to": 60 + }, + "if_action": {"type": "origins:and", + "actions": [{ + "type": "origins:heal", + "amount": 8 + },{ + "type": "origins:spawn_particles", + "particle": { + "type": "heart" + }, + "count": 5, + "speed": 0, + "force": false, + "spread": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + } + }]}, + "else_action": { + "type": "origins:execute_command", + "command": "summon experience_orb ~ ~ ~ {Count:10,Value:1}" + } + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:poison" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:weakness" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:wither" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:mining_fatigue" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:unluck" + }, + { + "type": "origins:clear_effect", + "effect": "minecraft:blindness" + }, + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:slowness", + "duration": 90, + "is_ambient": true, + "show_particles": false, + "show_icon": true, + "amplifier": 29 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.7 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.8 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 0.9 + }, + "weight": 1 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:belly_digest", + "volume": 1, + "pitch": 1 + }, + "weight": 1 + } + ] + }, + { + "type": "origins:delay", + "ticks": 15, + "action": { + "type": "origins:play_sound", + "sound": "block.bubble_column.upwards_ambient", + "volume": 1, + "pitch": 0.5 + } + }, + { + "type": "origins:delay", + "ticks": 20, + "action": { + "type": "origins:chance", + "action": { + "type": "origins:execute_command", + "command": "cpm animate @s BellyGrowl 1" + }, + "chance": 0.25 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element":{ + "type": "origins:execute_command", + "command": "function bigdreg:digest" + }, + "weight": 1 + }, + { + "element":{ + "type": "origins:execute_command", + "command": "function bigdreg:digest_light" + }, + "weight": 2 + } + ] + } + ] + } + }, + "digest_hud": { + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:change_resource", + "resource": "*:*_bellycounter", + "change": 1 + }, + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + } + }, + "takemoredamage": { + "name": "modify", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + }, + "type": "origins:modify_damage_taken", + "damage_condition": { + "type": "origins:attacker" + }, + "modifier": { + "operation": "multiply_total_multiplicative", + "amount": 0.5 + } + }, + "whenhurt": { + "name": "exhaust when hit", + "condition": { + "type": "origins:resource", + "resource": "*:*_toggleresource", + "comparison": "==", + "compare_to": 1 + }, + "type": "origins:action_when_hit", + "bientity_action": { + "type": "origins:target_action", + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "id": "minecraft:nausea", + "duration": 100, + "is_ambient": true, + "show_particles": true, + "show_icon": true, + "amplifier": 0 + } + }, + { + "type": "origins:choice", + "actions": [ + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl1", + "volume": 1.2, + "pitch": 0.5 + }, + "weight": 10 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl2", + "volume": 1.2, + "pitch": 0.8 + }, + "weight": 10 + }, + { + "element": { + "type": "origins:play_sound", + "sound": "bigdreg:growl3", + "volume": 1.2, + "pitch": 0.5 + }, + "weight": 10 + } + ] + } + ] + } + }, + "damage_condition": { + "type": "origins:attacker" + }, + "cooldown": 1, + "hud_render": { + "should_render": false + } + }, + "badges": [ + { + "type": "origins:tooltip", + "sprite": "origins:textures/gui/badge/toggle.png", + "text": "Press the primary ability button to use. Press it again to cancel!" + }, + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/cooked_beef.png", + "text": "Ability removes most negative effects. When you are at full health, you gain some exp instead." + } + ] +} diff --git a/datapack/data/feathermc/powers/wide_figure.json b/datapack/data/feathermc/powers/wide_figure.json new file mode 100644 index 0000000..eb0ad17 --- /dev/null +++ b/datapack/data/feathermc/powers/wide_figure.json @@ -0,0 +1,26 @@ +{ + "type": "origins:action_on_callback", + "name": "Huge Chonker", + "description": "You're quite wide! You won't fit through normal doors anymore...", + "badges": [ + { + "type": "origins:tooltip", + "sprite": "minecraft:textures/item/iron_door.png", + "text": "You're 2 blocks wide! You'll only fit through double doors." + } + ], + "entity_chosen_when_orb": true, + "entity_action_chosen": { + "type": "origins:and", + "actions": [ + { + "type": "origins:execute_command", + "command": "scale set pehkui:hitbox_width 2.0 @s" + } + ] + }, + "entity_action_lost": { + "type": "origins:execute_command", + "command": "scale reset @s" + } +}