fix some shit and add empyrian

This commit is contained in:
Ryan
2024-04-14 15:35:02 +02:00
parent dc47ab8f3a
commit acf9f501a9
27 changed files with 2099 additions and 10 deletions

View File

@@ -11,6 +11,7 @@ version = project.mod_version
group = project.maven_group
repositories {
mavenLocal()
maven {
name "cloth config"
url "https://maven.shedaniel.me"

View File

@@ -1,7 +1,7 @@
package net.arcmods.arcteam.terraoriginum;
import net.arcmods.arcteam.terraoriginum.blocks.crucifix;
import net.arcmods.arcteam.terraoriginum.items.mync_eye;
import net.arcmods.arcteam.terraoriginum.items.iconItems;
import net.arcmods.arcteam.terraoriginum.items.umbrella;
import net.arcmods.arcteam.terraoriginum.registry.modEnchantments;
import net.fabricmc.api.ModInitializer;
@@ -19,7 +19,7 @@ public class TerraOriginum implements ModInitializer {
@Override
public void onInitialize() {
umbrella.registerItems();
mync_eye.register();
iconItems.register();
modEnchantments.register();
crucifix.register();

View File

@@ -7,12 +7,14 @@ import net.minecraft.util.Rarity;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
public class mync_eye {
public class iconItems {
public static final Item MYNC_EYE = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
public static final Item SPIRIT = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC));
public static void register() {
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "mync_eye"), MYNC_EYE);
Registry.register(Registries.ITEM, new Identifier(TerraOriginum.MOD_ID, "spirit"), SPIRIT);
}
}

View File

@@ -1,14 +1,18 @@
{
//-----Icon Items-----//
"item.terraoriginum.mync_eye": "you shouldnt have this",
"item.terraoriginum.mync_eye": "Mync Eye",
"item.terraoriginum.spirit": "Spirit",
"item.terraoriginum.umbrella": "Umbrella",
//-----shit i cant be assed to categorise-----/
"death.attack.lack_of_ectoplasm": "%1$s faded away",
"death.attack.lack_of_ectoplasm.player": "%1$s faded away whilst trying to escape %2$s",
"death.attack.boiling": "%1$s boiled up",
"death.attack.boiling.player": "%1$s boiled up whilst trying to fight off %2$s",
"enchantment.terraoriginum.sun_protection": "Sun Protection",
//-----Immortal Human-----//
"origin.terraoriginum.immortal_human.name": "Immortal Human",
"origin.terraoriginum.immortal_human.description": "You hate life, but out of spite, the gods cursed you with being immortal. How unfortunate.",
@@ -163,12 +167,15 @@
"power.terraoriginum.kitsune-powers/run.description": "Whenever your health goes below 4 hearts, you gain a small speed boost",
"power.terraoriginum.kitsune-powers/speed.name": "Small Frame",
"power.terraoriginum.kitsune-powers/speed.description": "Your small frame gives little weight, making it easier to move at the cost of health.",
//-----Yulde-----//
"origin.terraoriginum.yulde.name": "Yulde",
"origin.terraoriginum.yulde.description": "A Yulde is a Lato with the ability to change the tides of battle, at the cost of their lives.",
"power.terraoriginum.yulde-powers/last_stand.name": "Last Stand",
"power.terraoriginum.yulde-powers/last_stand.description": "You gain strength 4 and speed 2 for 60 seconds, after which you will, without fail, die.",
"death.attack.terraoriginum:last_stand": "%1$s made their last stand.",
"death.attack.terraoriginum:last_stand.player": "%1$s made their last stand before dying to %2$s.",
//-----florian-----//
"origin.terraoriginum.florian.name": "Florian",
@@ -194,7 +201,19 @@
"power.terraoriginum.florian-powers/weak.name": "Weak",
"power.terraoriginum.florian-powers/weak.description": "Because you are a creature of nature, you cannot do much damage.",
//-----empyrian-----//
"origin.terraoriginum.empyrian.name": "Empyrian",
"origin.terraoriginum.empyrian.description": "Weightless floating creatures, adept at flight and forming pressurized air using their strange abilities.",
"power.terraoriginum.empyrian-powers/ballast.name": "Ballast",
"power.terraoriginum.empyrian-powers/ballast.description": "Wearing armor weighs you down, making it more difficult and exhausting to float.",
"power.terraoriginum.empyrian-powers/buoyant.name": "Buoyant",
"power.terraoriginum.empyrian-powers/buoyant.description": "You can't sink in water and will rise to its surface, even allowing you to walk on it.",
"power.terraoriginum.empyrian-powers/burst.name": "Burst",
"power.terraoriginum.empyrian-powers/burst.description": "Taking 5 or more damage when flying will burst you, piercing your armor and preventing you from flying until you've regenerated most of your health.",
"power.terraoriginum.empyrian-powers/lightweight_keys.name": "Lightweight",
"power.terraoriginum.empyrian-powers/lightweight_keys.description": "You can control the air surrounding you, allowing you to fall, fly and fall gracefully. Flying is exhausting and only possible when able to sprint.",
"power.terraoriginum.empyrian-powers/shoot.name": "Dual Strike",
"power.terraoriginum.empyrian-powers/shoot.description": "Lob a ball of compressed air, knocking back targets but dealing no damage."
// the tooltips have no lang def or i cant figure out how to set it (most likely the former)
"death.attack.terraoriginum:last_stand": "%1$s made their last stand.",
"death.attack.terraoriginum:last_stand.player": "%1$s made their last stand before dying to %2$s."
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "terraoriginum:item/spirit"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,5 @@
{
"values": [
"terraoriginum:tick"
]
}

View File

@@ -13,6 +13,7 @@
"terraoriginum:yulde",
"terraoriginum:florian",
"terraoriginum:fairy",
"terraoriginum:empyrian",
{
"condition": {
"type": "origins:equipped_item",

View File

@@ -0,0 +1,21 @@
#empyrian air balls
#life timer for precision ball
execute if entity @s[tag=terraoriginum.fastBall] unless score @s terraoriginum.timer matches 0 run scoreboard players operation @s terraoriginum.timer -= #1 terraoriginum.timer
#remove air balls
execute if score @s terraoriginum.timer matches 0 run playsound minecraft:entity.item.pickup neutral @a[distance=..16] ~ ~ ~ 1.5 0.7
execute if score @s terraoriginum.timer matches 0 run particle minecraft:explosion ~ ~ ~
execute if score @s terraoriginum.timer matches 0 run particle minecraft:flash ~ ~ ~
execute if entity @s[tag=terraoriginum.fastBall] if score @s terraoriginum.timer matches 0 run kill @s
execute if block ~ ~ ~ #apoli:material/water run kill @s
execute if block ~ ~ ~ #apoli:material/lava run kill @s
#ball particles
execute unless score @s terraoriginum.isGmer matches 1 run particle minecraft:cloud ~ ~0.2 ~ 0 0 0 0 1 force
execute if score @s terraoriginum.isGmer matches 1 run particle minecraft:dust_color_transition 1 1 1 2 0.95 0.68 0.16 ~ ~0.2 ~ 0 0 0 0 1 force

View File

@@ -0,0 +1,14 @@
#calculate armor values
scoreboard players set #100 terraoriginum.armor 100
scoreboard players set #2 terraoriginum.armor 2
#store armor values
execute store result score @s terraoriginum.armor run attribute @s minecraft:generic.armor get
scoreboard players operation @s terraoriginum.armor *= #2 terraoriginum.armor
scoreboard players operation #100 terraoriginum.armor -= @s terraoriginum.armor
scoreboard players operation @s terraoriginum.armor = #100 terraoriginum.armor
resource operation @s terraoriginum:empyrian-powers/ballast_resource = @s terraoriginum.armor

View File

@@ -0,0 +1,23 @@
#scoreboard setup
scoreboard objectives add terraoriginum.id dummy
scoreboard objectives add terraoriginum.armor dummy
scoreboard objectives add terraoriginum.timer dummy
scoreboard objectives add terraoriginum.isGmer dummy
scoreboard players add #id terraoriginum.id 1
scoreboard players operation @s terraoriginum.id = #id terraoriginum.id
scoreboard players set #1 terraoriginum.timer 1
#
resource set @s terraoriginum:empyrian-powers/lightweight_effects_particle_type 0
#compare each empyrian player to me (god killer)
data modify storage terraoriginum:storage _Gaemer set value [I; -1447231845, -1149221315, -2071064096, -1338037394]
#cant remember if i can use that one symbol here, not risking it though
execute store success score @s terraoriginum.isGmer run data modify storage terraoriginum:storage _Gaemer set from entity @s UUID
execute if score @s terraoriginum.isGmer matches 1 run data modify storage terraoriginum:storage _Gaemer set value [I; -1447231845, -1149221315, -2071064096, -1338037394]
#cant remember where i defined terraoriginum:storage
execute if score @s terraoriginum.isGmer matches 0 run resource set @s terraoriginum:empyrian-powers/lightweight_effects_particle_type 1

View File

@@ -0,0 +1,4 @@
#reposition markers to the same y-level as their air ball targets
$tp @s ~ $(y) ~
#this gives an error when loading into a game, but still works(no idea if its necessary or not cant remember)

View File

@@ -0,0 +1,65 @@
particle minecraft:cloud ^ ^ ^ ^800000.00000 ^0.00000 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^796147.78134 ^78413.71226 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^784628.22432 ^156072.25761 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^765552.26859 ^232227.74180 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^739103.62601 ^306146.74589 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^705537.01148 ^377117.38946 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^665175.68984 ^444456.18642 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^618408.36269 ^507514.62733 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^565685.42495 ^565685.42495 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^507514.62733 ^618408.36269 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^444456.18642 ^665175.68984 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^377117.38946 ^705537.01148 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^306146.74589 ^739103.62601 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^232227.74180 ^765552.26859 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^156072.25761 ^784628.22432 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^78413.71226 ^796147.78134 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^0.00000 ^800000.00000 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-78413.71226 ^796147.78134 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-156072.25761 ^784628.22432 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-232227.74180 ^765552.26859 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-306146.74589 ^739103.62601 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-377117.38946 ^705537.01148 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-444456.18642 ^665175.68984 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-507514.62733 ^618408.36269 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-565685.42495 ^565685.42495 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-618408.36269 ^507514.62733 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-665175.68984 ^444456.18642 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-705537.01148 ^377117.38946 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-739103.62601 ^306146.74589 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-765552.26859 ^232227.74180 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-784628.22432 ^156072.25761 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-796147.78134 ^78413.71226 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-800000.00000 ^0.00000 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-796147.78134 ^-78413.71226 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-784628.22432 ^-156072.25761 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-765552.26859 ^-232227.74180 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-739103.62601 ^-306146.74589 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-705537.01148 ^-377117.38946 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-665175.68984 ^-444456.18642 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-618408.36269 ^-507514.62733 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-565685.42495 ^-565685.42495 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-507514.62733 ^-618408.36269 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-444456.18642 ^-665175.68984 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-377117.38946 ^-705537.01148 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-306146.74589 ^-739103.62601 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-232227.74180 ^-765552.26859 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-156072.25761 ^-784628.22432 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-78413.71226 ^-796147.78134 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^-0.00000 ^-800000.00000 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^78413.71226 ^-796147.78134 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^156072.25761 ^-784628.22432 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^232227.74180 ^-765552.26859 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^306146.74589 ^-739103.62601 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^377117.38946 ^-705537.01148 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^444456.18642 ^-665175.68984 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^507514.62733 ^-618408.36269 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^565685.42495 ^-565685.42495 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^618408.36269 ^-507514.62733 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^665175.68984 ^-444456.18642 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^705537.01148 ^-377117.38946 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^739103.62601 ^-306146.74589 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^765552.26859 ^-232227.74180 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^784628.22432 ^-156072.25761 ^0 0.000001 0 force
particle minecraft:cloud ^ ^ ^ ^796147.78134 ^-78413.71226 ^0 0.000001 0 force
#please end me

View File

@@ -0,0 +1,13 @@
particle minecraft:poof ^ ^ ^ ^600000.00000 ^0.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^519615.24227 ^300000.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^300000.00000 ^519615.24227 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^0.00000 ^600000.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-300000.00000 ^519615.24227 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-519615.24227 ^300000.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-600000.00000 ^0.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-519615.24227 ^-300000.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-300000.00000 ^-519615.24227 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^-0.00000 ^-600000.00000 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^300000.00000 ^-519615.24227 ^0 0.000001 0 force
particle minecraft:poof ^ ^ ^ ^519615.24227 ^-300000.00000 ^0 0.000001 0 force
#why is there no better way

View File

@@ -0,0 +1,9 @@
particle minecraft:cloud ^0.80000 ^0.00000 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^0.56569 ^0.56569 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^0.00000 ^0.80000 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^-0.56569 ^0.56569 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^-0.80000 ^0.00000 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^-0.56569 ^-0.56569 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^-0.00000 ^-0.80000 ^0 ^ ^ ^300000.0 0.000000 0 force
particle minecraft:cloud ^0.56569 ^-0.56569 ^0 ^ ^ ^300000.0 0.000000 0 force
#not as fucked as ring but fuck

View File

@@ -0,0 +1,9 @@
#runs every tick
execute as @a if data entity @s cardinal_components."origins:origin".OriginLayers[{Origin:"terraoriginum:empyrian"}].Origin run function terraoriginum:armor
execute as @e[type=minecraft:snowball,tag=terraoriginum.ball] at @s run function terraoriginum:air_ball
#ha ha no ball(s) fucking cretin
execute as @e[type=minecraft:armor_stand,tag=terraoriginum.ballDetect] at @s unless entity @e[type=minecraft:snowball,tag=terraoriginum.ball,sort=nearest,limit=1,distance=..0.35] run tag @s add terraoriginum.noBall
execute as @e[type=minecraft:marker,tag=terraoriginum.ballOrigin] store result score @s terraoriginum.timer run execute if score @s terraoriginum.id = @e[type=minecraft:snowball,tag=terraoriginum.ball,limit=1] terraoriginum.id
execute as @e[type=minecraft:marker,tag=terraoriginum.ballOrigin] if score @s terraoriginum.timer matches 0 run kill @s

View File

@@ -0,0 +1,13 @@
{
"powers": [
"terraoriginum:empyrian-powers/lightweight_keys",
"terraoriginum:empyrian-powers/lightweight_effects",
"terraoriginum:empyrian-powers/shoot",
"terraoriginum:empyrian-powers/buoyant",
"terraoriginum:empyrian-powers/ballast",
"terraoriginum:empyrian-powers/burst"
],
"icon": "minecraft:white_dye",
"order": 1008,
"impact": 3
}

View File

@@ -10,7 +10,7 @@
"origins:elytra",
"origins:launch_into_air"
],
"icon": "minecraft:air",
"icon": "minecraft:amethyst_cluster",
"order": 1007,
"impact": 3
}

View File

@@ -11,7 +11,7 @@
"terraoriginum:spirit-powers/nightvis",
"terraoriginum:ectotest"
],
"icon": "minecraft:air",
"icon": "terraoriginum:spirit",
"order": 1001,
"impact": 3
}

View File

@@ -17,7 +17,7 @@
"terraoriginum:lato-powers/tall_width",
"terraoriginum:lato-powers/tall_width_hitbox"
],
"icon": "netherite_axe",
"icon": "creeper_head",
"order": 998,
"impact": 3
}

View File

@@ -0,0 +1,102 @@
{
"badges": [
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/item/firework_rocket.png",
"text": [
{
"text": "Elytras do not fit your body. You can't use firework rockets to propel yourself when flying",
"color": "#cacaca"
}
]
}
],
"type": "origins:multiple",
"resource": {
"type": "origins:resource",
"min": 0,
"max": 100
},
"exhaustion": {
"type": "origins:modify_exhaustion",
"modifier": {
"resource": "*:*_resource",
"operation": "multiply_base_multiplicative",
"value": 0,
"modifier": {
"operation": "multiply_total",
"value": -0.9
}
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian_powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:on_block",
"inverted": true
}
]
}
},
"speed": {
"type": "origins:modify_velocity",
"axes": ["x","z"],
"modifiers": [
{
"resource": "*:*_resource",
"operation": "multiply_base_multiplicative",
"value": 0,
"modifier": {
"operation": "add_base_early",
"value": -1
}
},
{
"operation": "multiply_total",
"value": -0.99
}
],
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:on_block",
"inverted": true
}
]
}
},
"prevent_firework": {
"type": "origins:prevent_item_use",
"item_condition": {
"type": "origins:ingredient",
"ingredient": {
"item": "minecraft:firework_rocket"
}
},
"condition": {
"type": "origins:fall_flying"
}
},
"prevent_elytra": {
"type": "origins:restrict_armor",
"chest": {
"type": "origins:ingredient",
"ingredient": {
"item": "minecraft:elytra"
}
}
}
}

View File

@@ -0,0 +1,63 @@
{
"type": "origins:multiple",
"float": {
"type": "origins:modify_velocity",
"axes": ["y"],
"modifier": {
"operation": "add_base_late",
"value": 0.2
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:fluid_height",
"fluid": "minecraft:water",
"comparison": ">=",
"compare_to": 0.4
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"stand": {
"type": "origins:walk_on_fluid",
"fluid": "minecraft:water",
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:fluid_height",
"fluid": "minecraft:water",
"comparison": "<=",
"compare_to": 0.4
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"stand_2": {
"type": "origins:ignore_water",
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:fluid_height",
"fluid": "minecraft:water",
"comparison": "<=",
"compare_to": 0.4
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
}
}

View File

@@ -0,0 +1,79 @@
{
"type": "origins:multiple",
"cooldown": {
"type": "origins:resource",
"min": 0,
"max": 1
},
"trigger": {
"type": "origins:modify_damage_taken",
"self_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:change_resource",
"resource": "*:*_cooldown",
"change": 1
},
{
"type": "origins:set_fall_distance",
"fall_distance": 0
},
{
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
}
]
},
"apply_armor_condition": {
"type": "origins:constant",
"value": false
},
"damage_condition": {
"type": "origins:amount",
"comparison": ">=",
"compare_to": 5
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:on_block",
"inverted": true
}
]
}
},
"regen": {
"type": "origins:action_over_time",
"interval": 1,
"rising_action": {
"type": "origins:change_resource",
"resource": "*:*_cooldown",
"change": -1
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_cooldown",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:relative_health",
"comparison": ">=",
"compare_to": 0.75
}
]
}
}
}

View File

@@ -0,0 +1,80 @@
{
"hidden": true,
"type": "origins:action_over_time",
"interval": 1,
"rising_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:poof ~ ~ ~ 0.2 0.2 0.2 0.3 20 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:explosion ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.dragon_fireball.explode",
"volume": 0.5,
"pitch": 2
},
{
"type": "origins:area_of_effect",
"radius": 3.6,
"bientity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:target_action",
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "damage @s 0.01 minecraft:generic_kill by @e[tag=terraoriginum.noBall,limit=1]"
},
{
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
}
]
}
},
{
"type": "origins:if_else",
"condition": {
"type": "origins:target_condition",
"condition": {
"type": "origins:command",
"command": "execute if score @s terraoriginum.id = @e[tag=terraoriginum.noBall,limit=1] terraoriginum.id",
"comparison": "==",
"compare_to": 1
}
},
"if_action": {
"type": "origins:add_velocity",
"y": 0.8,
"z": 0.2
},
"else_action": {
"type": "origins:add_velocity",
"y": 0.4,
"z": 0.3
}
}
]
}
},
{
"type": "origins:execute_command",
"command": "kill @s"
}
]
},
"condition": {
"type": "origins:nbt",
"nbt": "{Tags:['terraoriginum.noBall']}"
}
}

View File

@@ -0,0 +1,542 @@
{
"name": "Lightweight",
"hidden": true,
"type": "origins:multiple",
"particle_type": {
"type": "origins:resource",
"min": 0,
"max": 2
},
"callback": {
"type": "origins:action_on_callback",
"entity_action_added": {
"type": "origins:execute_command",
"command": "function terraoriginum:load"
}
},
"vfx_cooldown": {
"type": "origins:cooldown",
"cooldown": 10
},
"disable": {
"type": "origins:action_over_time",
"interval": 1,
"rising_action": {
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
},
"condition": {
"type": "origins:or",
"conditions": [
{
"type": "origins:fluid_height",
"fluid": "minecraft:water",
"comparison": ">",
"compare_to": 0.3
},
{
"type": "origins:food_level",
"comparison": "<=",
"compare_to": 6
}
]
}
},
"flight_sim": {
"type": "origins:elytra_flight",
"render_elytra": false,
"condition": {
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_fly_check",
"comparison": ">",
"compare_to": 0
}
},
"float_exhaust": {
"type": "origins:action_over_time",
"interval": 1,
"entity_action": {
"type": "origins:exhaust",
"amount": 0.01
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"fly_particles": {
"type": "origins:action_over_time",
"interval": 1,
"entity_action": {
"type": "origins:if_else",
"condition": {
"type": "origins:sneaking"
},
"if_action": {
"type": "origins:if_else_list",
"actions": [
{
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 1
}
]
},
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~-0.25 ~ run particle minecraft:poof ^ ^ ^-0.5 0 0 0 0.05 2 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~-0.25 ~ run particle minecraft:cloud ^ ^ ^-0.5 0 0 0 0.01 3 force"
}
]
}
},
{
"condition": {
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 0
},
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~-0.4 ~ run particle minecraft:dust_color_transition 1 1 1 4 0.95 0.68 0.16 ^ ^ ^-0.5 0.15 0.15 0.15 0 1 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~-0.4 ~ run particle minecraft:dust_color_transition 1 1 1 2 0.95 0.68 0.16 ^ ^ ^-0.5 0 0 0 0 3 force"
}
]
}
}
]
},
"else_action": {
"type": "origins:if_else_list",
"actions": [
{
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 1
}
]
},
"action": {
"type": "origins:execute_command",
"command": "particle minecraft:poof ^ ^ ^-0.5 0 0 0 0.03 3 force"
}
},
{
"condition": {
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 0
},
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "particle minecraft:dust_color_transition 1 1 1 3 0.95 0.68 0.16 ^ ^ ^-0.5 0.2 0.2 0.2 0 1 force"
}
]
}
}
]
}
},
"condition": {
"type": "origins:fall_flying"
}
},
"boost_vfx": {
"type": "origins:action_over_time",
"interval": 1,
"rising_action": {
"type": "origins:if_else",
"condition": {
"type": "origins:resource",
"resource": "*:*_vfx_cooldown",
"comparison": "==",
"compare_to": 0
},
"if_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:play_sound",
"sound": "minecraft:entity.ender_dragon.hurt",
"volume": 0.15,
"pitch": 0.66
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.ender_dragon.hurt",
"volume": 0.1,
"pitch": 1.3
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.firework_rocket.blast",
"volume": 0.4,
"pitch": 0.75
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.item.pickup",
"volume": 0.03,
"pitch": 0
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.wither.shoot",
"volume": 0.06,
"pitch": 1.5
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~-0.5 ~ positioned ^ ^ ^-2 run function terraoriginum:ring"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:explosion ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:flash ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:trigger_cooldown",
"power": "*:*_vfx_cooldown"
}
]
}
},
"falling_action": {
"type": "origins:if_else",
"condition": {
"type": "origins:resource",
"resource": "*:*_vfx_cooldown",
"comparison": "==",
"compare_to": 0
},
"if_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:play_sound",
"sound": "minecraft:item.armor.equip_generic",
"volume": 2,
"pitch": 0
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:poof ~ ~ ~ 0.2 0.2 0.2 0.2 30 force"
}
]
}
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:fall_flying"
},
{
"type": "origins:sneaking"
}
]
}
},
"float": {
"type": "origins:modify_velocity",
"axes": ["y"],
"modifier": {
"operation": "multiply_total",
"value": -1
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"float_extra": {
"type": "origins:prevent_sprinting",
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"float_speed": {
"type": "origins:modify_velocity",
"axes": ["x","z"],
"modifier": {
"operation": "multiply_total",
"value": -0.2
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"proj_correction": {
"type": "origins:modify_falling",
"take_fall_damage": false,
"velocity": 0,
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"fall_speed": {
"type": "origins:modify_falling",
"take_fall_damage": false,
"velocity": 0.02,
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:or",
"conditions": [
{
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:sneaking"
}
]
},
{
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
]
},
{
"type": "origins:fall_flying",
"inverted": true
}
]
}
},
"float_end_rod": {
"type": "origins:particle",
"particle": "minecraft:end_rod",
"visible_while_invisible": true,
"visible_in_first_person": false,
"force": true,
"frequency": 1,
"count": 1,
"speed": 0.01,
"spread": {"x": 0.15, "y": 0.15, "z": 0.15},
"offset_y": -0.3,
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"float_particles_normal": {
"type": "origins:particle",
"particle": "minecraft:cloud",
"visible_while_invisible": true,
"visible_in_first_person": false,
"force": true,
"frequency": 2,
"count": 4,
"speed": 0,
"spread": {"x": 0.5, "y": 0.1, "z": 0.5},
"offset_y": -0.3,
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_particle_type",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
},
"float_particles_shiny": {
"type": "origins:particle",
"particle": {
"type": "minecraft:dust_color_transition",
"params": "1 1 1 1.5 0.95 0.68 0.16"
},
"visible_while_invisible": true,
"visible_in_first_person": false,
"force": true,
"frequency": 2,
"count": 10,
"speed": 0,
"spread": {"x": 0.5, "y": 0.1, "z": 0.5},
"offset_y": -0.3,
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_particle_type",
"comparison": "==",
"compare_to": 1
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
},
{
"type": "origins:sneaking",
"inverted": true
}
]
}
}
}

View File

@@ -0,0 +1,395 @@
{
"badges": [
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/mob_effect/levitation.png",
"text": [
{
"text": "Trigger flight abilities by pressing ",
"color": "#cacaca"
},
{
"keybind": "key.jump",
"color": "white"
},
{
"text": " when in mid-air. Deactivate flight abilities by double tapping ",
"color": "#cacaca"
},
{
"keybind": "key.sneak",
"color": "white"
},
{
"text": " or landing.",
"color": "#cacaca"
}
]
},
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/mob_effect/slow_falling.png",
"text": [
{
"text": "Hold ",
"color": "#cacaca"
},
{
"keybind": "key.jump",
"color": "white"
},
{
"text": " to fly.",
"color": "#cacaca"
},
{
"keybind": "key.sneak",
"color": "white"
},
{
"text": " can be held while flying to increase flight speed and exhaustion rate.",
"color": "#cacaca"
}
]
},
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/item/barrier.png",
"text": [
{
"text": "Floating or flying is not possible when inside any fluid.",
"color": "#cacaca"
}
]
}
],
"type": "origins:multiple",
"fly_check": {
"type": "origins:resource",
"min": 0,
"max": 4,
"hud_render": {
"should_render": false
}
},
"toggle_check": {
"type": "origins:resource",
"min": 0,
"max": 2,
"hud_render": {
"should_render": false
},
"min_action": {
"type": "origins:change_resource",
"resource": "*:*_fly_check",
"change": -4
}
},
"toggle_timer": {
"type": "origins:cooldown",
"cooldown": 5
},
"toggle_decay": {
"type": "origins:action_over_time",
"interval": 1,
"entity_action": {
"type": "origins:change_resource",
"resource": "*:*_toggle_check",
"change": -1
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:or",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": "==",
"compare_to": 2
},
{
"type": "origins:block_collision",
"offset_y": -0.7
},
{
"type": "origins:on_block"
}
]
},
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "*:*_toggle_timer",
"comparison": "==",
"compare_to": 0
}
]
}
},
"toggle_jump": {
"type": "origins:active_self",
"entity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:trigger_cooldown",
"power": "*:*_toggle_timer"
},
{
"type": "origins:change_resource",
"resource": "*:*_toggle_check",
"change": 1
},
{
"type": "origins:change_resource",
"resource": "*:*_fly_check",
"change": 3
},
{
"type": "origins:set_fall_distance",
"fall_distance": 0.1
}
]
},
"cooldown": 1,
"key": {
"key": "key.jump"
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:on_block",
"inverted": true
},
{
"type": "origins:riding",
"inverted": true
},
{
"type": "origins:raycast",
"distance": 3.5,
"block": true,
"entity": false,
"shape_type": "collider",
"inverted": true
},
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:fluid_height",
"fluid": "minecraft:water",
"comparison": "<=",
"compare_to": 0.4
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/burst_cooldown",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:food_level",
"comparison": ">",
"compare_to": 6
}
]
}
},
"toggle_sneak": {
"type": "origins:active_self",
"entity_action": {
"type": "origins:if_else_list",
"actions": [
{
"condition": {
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": "==",
"compare_to": 1
},
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:change_resource",
"resource": "*:*_toggle_check",
"change": 2
},
{
"type": "origins:set_fall_distance",
"fall_distance": 0.1
},
{
"type": "origins:trigger_cooldown",
"power": "*:*_toggle_timer"
}
]
}
},
{
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": "==",
"compare_to": 2
},
{
"type": "origins:resource",
"resource": "*:*_toggle_timer",
"comparison": ">",
"compare_to": 0
}
]
},
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:trigger_cooldown",
"power": "*:*_toggle_timer"
},
{
"type": "origins:change_resource",
"resource": "*:*_toggle_check",
"change": -2
}
]
}
}
]
},
"cooldown": 1,
"key": {
"key": "key.sneak"
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:fall_flying",
"inverted": true
}
]
}
},
"fly_trigger": {
"type": "origins:active_self",
"entity_action": {
"type": "origins:change_resource",
"resource": "*:*_fly_check",
"operation": "set",
"change": 4
},
"cooldown": 0,
"key": {
"key": "key.jump",
"continuous": true
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:resource",
"resource": "*:*_toggle_check",
"comparison": ">",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/burst_cooldown",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:on_block",
"inverted": true
},
{
"type": "origins:raycast",
"distance": 3.5,
"block": true,
"entity": false,
"shape_type": "collider",
"inverted": true
}
]
}
},
"fly_tick": {
"type": "origins:action_over_time",
"interval": 1,
"entity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:if_else",
"condition": {
"type": "origins:fall_flying"
},
"if_action": {
"type": "origins:if_else",
"condition": {
"type": "origins:sneaking"
},
"if_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:add_velocity",
"space": "local",
"set": true,
"z": 1
},
{
"type": "origins:exhaust",
"amount": 0.04
}
]
},
"else_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:add_velocity",
"space": "local",
"set": true,
"z": 0.55
},
{
"type": "origins:exhaust",
"amount": 0.02
}
]
}
}
},
{
"type": "origins:change_resource",
"resource": "*:*_fly_check",
"change": -1
}
]
}
}
}

View File

@@ -0,0 +1,623 @@
{
"badges": [
{
"type": "origins:tooltip",
"sprite": "origins:textures/gui/badge/info.png",
"text": [
{
"text": "Air balls behave differently depending on if they were thrown while on the ground, floating, or flying.",
"color": "#cacaca"
}
]
},
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/mob_effect/glowing.png",
"text": [
{
"text": "Radius Charge\nA low-velocity, heavy air ball which explodes upon contact with any physical object, knocking nearby entities away.\nActivate with ",
"color": "#cacaca"
},
{
"keybind": "key.origins.primary_active",
"color": "white"
},
{
"text": " when flying or in mid-air but not floating.",
"color": "#cacaca"
}
]
},
{
"type": "origins:tooltip",
"sprite": "minecraft:textures/item/spectral_arrow.png",
"text": [
{
"text": "Precision Charge\nA high-velocity, weightless air ball which deals heavy knockback upon contact with an entity.\nActivate with ",
"color": "#cacaca"
},
{
"keybind": "key.origins.primary_active",
"color": "white"
},
{
"text": " when standing on a block or floating.",
"color": "#cacaca"
}
]
}
],
"type": "origins:multiple",
"cooldown_aoe": {
"type": "origins:cooldown",
"cooldown": 30,
"hud_render": {
"should_render": true,
"sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png",
"bar_index": 8
}
},
"cooldown_precision": {
"type": "origins:cooldown",
"cooldown": 60,
"hud_render": {
"should_render": true,
"sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png",
"bar_index": 8
}
},
"activate_aoe": {
"type": "origins:fire_projectile",
"entity_type": "minecraft:snowball",
"tag": "{Tags:['terraoriginum.ball','terraoriginum.dropBall'],Item:{id:\"minecraft:quartz_block\",Count:1b},Passengers:[{id:\"minecraft:armor_stand\",Small:1b,Invisible:1b,Marker:1b,Tags:['terraoriginum.ballDetect'],cardinal_components:{\"apoli:powers\":{Powers:[{Type:\"terraoriginum:empyrian-powers/dropball_power\",Data:{},Sources:[\"terraoriginum\"]}]}}}]}",
"count": 1,
"interval": 0,
"speed": 0.8,
"divergence": 0.7,
"shooter_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:swing_hand",
"hand": "MAIN_HAND"
},
{
"type": "origins:execute_command",
"command": "execute at @s run summon minecraft:marker ~ ~ ~ {Tags:['terraoriginum.ballOrigin']}"
},
{
"type": "origins:execute_command",
"command": "execute at @s run scoreboard players operation @e[type=minecraft:marker,tag=terraoriginum.ballOrigin,sort=nearest,limit=1] terraoriginum.id = @s terraoriginum.id"
},
{
"type": "origins:if_else_list",
"actions": [
{
"condition": {
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 0
},
"action": {
"type": "origins:execute_command",
"command": "scoreboard players set @e[type=minecraft:snowball,tag=terraoriginum.ball,sort=nearest,limit=1] terraoriginum.isGmer 1"
}
}
]
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.witch.throw",
"volume": 1,
"pitch": 0.65
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.firework_rocket.large_blast_far",
"volume": 0.5,
"pitch": 2
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~1.5 ~ positioned ^ ^ ^1.5 run function terraoriginum:throw_ring_small"
},
{
"type": "origins:exhaust",
"amount": 0.2
},
{
"type": "origins:trigger_cooldown",
"power": "*:*_cooldown_aoe"
}
]
},
"projectile_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s run scoreboard players operation @s terraoriginum.id = @p terraoriginum.id"
},
{
"type": "origins:execute_command",
"command": "execute at @s run scoreboard players operation @e[type=minecraft:armor_stand,tag=terraoriginum.ballDetect,sort=nearest,limit=1] terraoriginum.id = @p terraoriginum.id"
}
]
},
"cooldown": 1,
"key": {
"key": "key.origins.primary_active"
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:or",
"conditions": [
{
"type": "origins:and",
"conditions": [
{
"type": "origins:on_block",
"inverted": true
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": "==",
"compare_to": 0
}
]
},
{
"type": "origins:and",
"conditions": [
{
"type": "origins:sneaking"
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": ">",
"compare_to": 0
}
]
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_fly_check",
"comparison": ">",
"compare_to": 0
}
]
},
{
"type": "origins:resource",
"resource": "*:*_cooldown_aoe",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "*:*_cooldown_precision",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:food_level",
"comparison": ">",
"compare_to": 6
}
]
}
},
"activate_precision": {
"type": "origins:fire_projectile",
"entity_type": "minecraft:snowball",
"tag": "{NoGravity:1b,Tags:['terraoriginum.ball','terraoriginum.fastBall'],Item:{id:\"minecraft:smooth_quartz\",Count:1b}}",
"count": 1,
"interval": 0,
"speed": 3,
"divergence": 0,
"shooter_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:swing_hand",
"hand": "MAIN_HAND"
},
{
"type": "origins:execute_command",
"command": "execute at @s run summon minecraft:marker ~ ~ ~ {Tags:['terraoriginum.ballOrigin']}"
},
{
"type": "origins:execute_command",
"command": "execute at @s run scoreboard players operation @e[type=minecraft:marker,tag=terraoriginum.ballOrigin,sort=nearest,limit=1] terraoriginum.id = @s terraoriginum.id"
},
{
"type": "origins:if_else_list",
"actions": [
{
"condition": {
"type": "origins:scoreboard",
"objective": "terraoriginum.isGmer",
"comparison": "==",
"compare_to": 0
},
"action": {
"type": "origins:execute_command",
"command": "scoreboard players set @e[type=minecraft:snowball,tag=terraoriginum.ball,sort=nearest,limit=1] terraoriginum.isGmer 1"
}
}
]
},
{
"type": "origins:play_sound",
"sound": "minecraft:item.trident.riptide_1",
"volume": 0.12,
"pitch": 2
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.witch.throw",
"volume": 1,
"pitch": 1.3
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.item.pickup",
"volume": 0.2,
"pitch": 0
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.firework_rocket.launch",
"volume": 2,
"pitch": 1.4
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.firework_rocket.large_blast_far",
"volume": 2,
"pitch": 2
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~1.5 ~ positioned ^ ^ ^0.5 run particle minecraft:flash ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~1.5 ~ positioned ^ ^ ^1.5 run function terraoriginum:throw_ring"
},
{
"type": "origins:execute_command",
"command": "execute at @s positioned ~ ~1.5 ~ positioned ^ ^ ^3 run function terraoriginum:throw_ring_small"
},
{
"type": "origins:exhaust",
"amount": 0.4
},
{
"type": "origins:trigger_cooldown",
"power": "*:*_cooldown_precision"
}
]
},
"projectile_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s run scoreboard players operation @s terraoriginum.id = @p terraoriginum.id"
},
{
"type": "origins:execute_command",
"command": "scoreboard players set @s terraoriginum.timer 100"
}
]
},
"cooldown": 1,
"key": {
"key": "key.origins.primary_active"
},
"condition": {
"type": "origins:and",
"conditions": [
{
"type": "origins:or",
"conditions": [
{
"type": "origins:on_block"
},
{
"type": "origins:and",
"conditions": [
{
"type": "origins:sneaking",
"inverted": true
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"comparison": "==",
"compare_to": 1
}
]
}
]
},
{
"type": "origins:resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_fly_check",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "*:*_cooldown_aoe",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:resource",
"resource": "*:*_cooldown_precision",
"comparison": "==",
"compare_to": 0
},
{
"type": "origins:food_level",
"comparison": ">",
"compare_to": 6
}
]
}
},
"effect_aoe": {
"type": "origins:modify_projectile_damage",
"damage_condition": {
"type": "origins:projectile",
"projectile_condition": {
"type": "origins:nbt",
"nbt": "{Tags:['terraoriginum.dropBall']}"
}
},
"self_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s as @e[type=minecraft:marker,tag=terraoriginum.ballOrigin] if score @s terraoriginum.id = @p terraoriginum.id run tag @s add terraoriginum.confirmedBallOrigin"
},
{
"type": "origins:execute_command",
"command": "playsound minecraft:entity.arrow.hit_player neutral @s ~ ~ ~ 1 1"
}
]
},
"target_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "tag @s add terraoriginum.actor"
},
{
"type": "origins:execute_command",
"command": "kill @e[type=minecraft:armor_stand,tag=terraoriginum.ballDetect,sort=nearest,limit=1]"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:poof ~ ~ ~ 0.2 0.2 0.2 0.3 20 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:explosion ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.dragon_fireball.explode",
"volume": 0.5,
"pitch": 2
},
{
"type": "origins:area_of_effect",
"radius": 3.6,
"bientity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:target_action",
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "damage @s 0.01 minecraft:generic_kill by @e[tag=terraoriginum.actor,limit=1]"
},
{
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
}
]
}
},
{
"type": "origins:if_else",
"condition": {
"type": "origins:target_condition",
"condition": {
"type": "origins:command",
"command": "execute if score @s terraoriginum.id = @e[tag=terraoriginum.noBall,limit=1] terraoriginum.id",
"comparison": "==",
"compare_to": 1
}
},
"if_action": {
"type": "origins:add_velocity",
"y": 0.8,
"z": 0.2
},
"else_action": {
"type": "origins:add_velocity",
"y": 0.4,
"z": 0.3
}
}
]
}
},
{
"type": "origins:execute_command",
"command": "tag @s remove terraoriginum.actor"
},
{
"type": "origins:execute_command",
"command": "execute store result storage terraoriginum:storage Position.y int 1 run data get entity @s Pos[1]"
},
{
"type": "origins:execute_command",
"command": "execute as @e[type=minecraft:marker,tag=terraoriginum.confirmedBallOrigin] at @s run function terraoriginum:repos_marker with storage terraoriginum:storage Position"
},
{
"type": "origins:execute_command",
"command": "damage @s 0.01 minecraft:generic_kill by @e[tag=terraoriginum.confirmedBallOrigin,limit=1]"
},
{
"type": "origins:area_of_effect",
"include_actor": false,
"radius": 256,
"bientity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:invert",
"action": {
"type": "origins:add_velocity",
"y": 0.3,
"z": 0.5
}
},
{
"type": "origins:target_action",
"action": {
"type": "origins:execute_command",
"command": "kill @s"
}
}
]
},
"bientity_condition": {
"type": "origins:target_condition",
"condition": {
"type": "origins:nbt",
"nbt": "{Tags:['terraoriginum.confirmedBallOrigin']}"
}
}
},
{
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
}
]
}
},
"effect_precision": {
"type": "origins:modify_projectile_damage",
"damage_condition": {
"type": "origins:projectile",
"projectile_condition": {
"type": "origins:nbt",
"nbt": "{Tags:['terraoriginum.fastBall']}"
}
},
"self_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s as @e[type=minecraft:marker,tag=terraoriginum.ballOrigin] if score @s terraoriginum.id = @p terraoriginum.id run tag @s add terraoriginum.confirmedBallOrigin"
},
{
"type": "origins:execute_command",
"command": "playsound minecraft:entity.arrow.hit_player neutral @s ~ ~ ~ 1 1"
}
]
},
"target_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:explosion ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:execute_command",
"command": "execute at @s run particle minecraft:flash ~ ~ ~ 0 0 0 0 1 force"
},
{
"type": "origins:play_sound",
"sound": "minecraft:entity.firework_rocket.blast",
"volume": 2,
"pitch": 0.7
},
{
"type": "origins:execute_command",
"command": "execute store result storage terraoriginum:storage Position.y int 1 run data get entity @s Pos[1]"
},
{
"type": "origins:execute_command",
"command": "execute as @e[type=minecraft:marker,tag=terraoriginum.confirmedBallOrigin] at @s run function terraoriginum:repos_marker with storage terraoriginum:storage Position"
},
{
"type": "origins:execute_command",
"command": "damage @s 0.01 minecraft:generic_kill by @e[tag=terraoriginum.confirmedBallOrigin,limit=1]"
},
{
"type": "origins:area_of_effect",
"include_actor": false,
"radius": 256,
"bientity_action": {
"type": "origins:and",
"actions": [
{
"type": "origins:invert",
"action": {
"type": "origins:and",
"actions": [
{
"type": "origins:add_velocity",
"y": 0.25,
"z": 2.5
}
]
}
},
{
"type": "origins:target_action",
"action": {
"type": "origins:execute_command",
"command": "kill @s"
}
}
]
},
"bientity_condition": {
"type": "origins:target_condition",
"condition": {
"type": "origins:nbt",
"nbt": "{Tags:['terraoriginum.confirmedBallOrigin']}"
}
}
},
{
"type": "origins:change_resource",
"resource": "terraoriginum:empyrian-powers/lightweight_keys_toggle_check",
"change": -2
}
]
}
}
}