Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class BottledLightning:

@liquid.util_below
def lightning_strike():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
unless entity @s[gamemode=spectator]
unless entity @s[predicate=gm4_lightning_in_a_bottle:on_fire]
run function gm4_lightning_in_a_bottle:liquid_tanks/util/lightning:
Expand Down
2 changes: 1 addition & 1 deletion gm4_liquid_tanks/bolt-docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ This set of commands is called on tanks of the matching type, and run as provide
```py
@liquid.util_below
def dispense_ink():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink
```

# Advanced Usage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
tag @s add gm4_processing_tank

#milk clearing potion effects
execute if score @s[tag=gm4_lt_milk] gm4_lt_value matches 3.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt={active_effects:[{}]}] run function gm4_standard_liquids:util/liquid_dispensing/milk
execute if score @s[tag=gm4_lt_milk] gm4_lt_value matches 3.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt={active_effects:[{}]}] run function gm4_standard_liquids:util/liquid_dispensing/milk

#honey clearing poison and applying saturation
execute if score @s[tag=gm4_lt_honey] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt={active_effects:[{id:'minecraft:poison'}]}] run function gm4_standard_liquids:util/liquid_dispensing/honey
execute if score @s[tag=gm4_lt_honey] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt={active_effects:[{id:'minecraft:poison'}]}] run function gm4_standard_liquids:util/liquid_dispensing/honey
execute if score @s[tag=gm4_lt_honey] gm4_lt_value matches 1.. as @a[gamemode=!spectator,limit=1,dx=0] unless entity @s[nbt={foodLevel:20}] run function gm4_standard_liquids:util/liquid_dispensing/honey

#mushroom soup applying saturation
Expand All @@ -20,8 +20,8 @@ execute if score @s[tag=gm4_lt_rabbit_stew] gm4_lt_value matches 1.. as @a[gamem
execute if score @s[tag=gm4_lt_beetroot_soup] gm4_lt_value matches 1.. as @a[gamemode=!spectator,limit=1,dx=0] unless entity @s[nbt={foodLevel:20}] run function gm4_standard_liquids:util/liquid_dispensing/beetroot_soup

#ink tanks applying effects
execute if score @s[tag=gm4_lt_ink] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink
execute if score @s[tag=gm4_lt_glow_ink] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink
execute if score @s[tag=gm4_lt_ink] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink
execute if score @s[tag=gm4_lt_glow_ink] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink

#player withdrawing experience
execute if score $schedule_withdraw_exp gm4_lt_util matches 2.. run schedule clear gm4_standard_liquids:util/experience/scheduled_withdraw
Expand Down
6 changes: 3 additions & 3 deletions gm4_liquid_tanks/data/gm4_standard_liquids/modules/main.bolt
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ class Ink:

@liquid.util_below
def dispense_ink():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:blindness'}]}] run function gm4_standard_liquids:util/liquid_dispensing/ink

@liquid
class GlowInk:
Expand All @@ -133,7 +133,7 @@ class GlowInk:

@liquid.util_below
def dispense_ink():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:glowing'}]}] run function gm4_standard_liquids:util/liquid_dispensing/glow_ink

# tell bolt how to name different ominous bottles - they have the same item id so this is a special case
def omnious_naming_scheme(input_name: str, output_name: str) -> str | bool:
Expand All @@ -157,7 +157,7 @@ for lvl, numeral_lvl in zip((0,1,2,3,4), ("I", "II", "III", "IV", "V")):
@liquid.util_below
def dispense_omen():
execute
as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
unless entity @s[gamemode=spectator]
if entity @s[nbt=!{active_effects:[{id:'minecraft:bad_omen'}]}]
run function f"gm4_standard_liquids:util/liquid_dispensing/ominous_bottle_{lvl}":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
scoreboard players operation $source gm4_ender_bolt_foreign_id = @s gm4_ender_bolt_foreign_id

# spread
execute as @e[distance=..1.6,team=!gm4_invalid,type=!armor_stand,tag=!smithed.strict] unless score @s gm4_bolt_time matches -40.. run function gm4_ender_bolt_shamir:infection/check_ignore_list
execute as @e[distance=..1.6,type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict] unless score @s gm4_bolt_time matches -40.. run function gm4_ender_bolt_shamir:infection/check_ignore_list
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tag @s add gm4_vibro_user
scoreboard players operation $damage gm4_vibro_shock = @s gm4_vibro_shock

# calculate damage dealt to mobs
execute as @e[team=!gm4_invalid_team,type=!armor_stand,tag=!gm4_vibro_user,distance=..6] at @s run function gm4_vibro_shamir:shock/calculate
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!gm4_vibro_user,distance=..6] at @s run function gm4_vibro_shamir:shock/calculate

# visuals
particle minecraft:cloud ~ ~.3 ~ 0.2 0.2 0.2 0.1 20
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

particle minecraft:sonic_boom ~ ~ ~ 0 0 0 1 1
scoreboard players set $target_found gm4_pneuma_data 0
execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[team=!gm4_invalid_team,tag=!gm4_oa_shrieker,dx=0.5,dy=0.5,dz=0.5] run function gm4_orb_of_ankou:pneumas/shrieking/boom
execute positioned ~-0.5 ~-0.5 ~-0.5 as @e[type=!#gm4:non_living,tag=!gm4_oa_shrieker,dx=0.5,dy=0.5,dz=0.5] run function gm4_orb_of_ankou:pneumas/shrieking/boom
scoreboard players add $ray gm4_pneuma_data 1

execute unless score $ray gm4_pneuma_data matches 15.. unless score $target_found gm4_pneuma_data matches 1.. positioned ^ ^ ^1 run function gm4_orb_of_ankou:pneumas/shrieking/find_target
4 changes: 2 additions & 2 deletions gm4_potion_liquids/data/gm4_potion_liquids/modules/main.bolt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ with open("gm4_potion_liquids/potion_definitions.csv", "r") as csvfile:

m, s = row["effect_duration"].split(":")
duration = max(int(m)*60 + round(float(s)), 1)
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
unless entity @s[gamemode=spectator]
unless predicate inline_predicate
run function f"gm4_potion_liquids:util/dispense/{row["potion_id"]}":
Expand Down Expand Up @@ -115,7 +115,7 @@ class FloatingPotion:

@potion_liquid.util_below
def dispense_float_potion():
execute as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
execute as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0]
unless entity @s[gamemode=spectator]
unless predicate {
"condition":"minecraft:entity_properties",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
execute if block ~ ~-1 ~ purpur_pillar[axis=y] run tag @s add gm4_ta_wired

# tag nearby entities based on pyramid level
tag @e[team=!gm4_invalid_team,type=!armor_stand,distance=..4,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_1 run tag @e[team=!gm4_invalid_team,type=!armor_stand,distance=..16,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_2 run tag @e[team=!gm4_invalid_team,type=!armor_stand,distance=..64,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_3 run tag @e[team=!gm4_invalid_team,type=!armor_stand,distance=..128,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
tag @e[type=!#gm4:non_living,type=!armor_stand,distance=..4,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_1 run tag @e[type=!#gm4:non_living,type=!armor_stand,distance=..16,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_2 run tag @e[type=!#gm4:non_living,type=!armor_stand,distance=..64,nbt=!{NoAI:1b}] add gm4_ta_new_jammed
execute if predicate gm4_teleportation_anchors:has_pyramid_3 run tag @e[type=!#gm4:non_living,type=!armor_stand,distance=..128,nbt=!{NoAI:1b}] add gm4_ta_new_jammed

# track which jammed affected which entity and set decay score
scoreboard players set @e[tag=gm4_ta_new_jammed,distance=..129] gm4_ta_jam_time 3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,27 @@
tag @s add gm4_processing_tank

#harming
execute if score @s[tag=gm4_lt_zauber_harming_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_zauber_liquids:util/harming
execute if score @s[tag=gm4_lt_zauber_harming_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_zauber_liquids:util/harming

#healing
execute if score @s[tag=gm4_lt_zauber_healing_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_zauber_liquids:util/healing
execute if score @s[tag=gm4_lt_zauber_healing_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] run function gm4_zauber_liquids:util/healing

#leaping
execute if score @s[tag=gm4_lt_zauber_leaping_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:jump_boost'}]}] run function gm4_zauber_liquids:util/leaping
execute if score @s[tag=gm4_lt_zauber_leaping_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:jump_boost'}]}] run function gm4_zauber_liquids:util/leaping

#poison
execute if score @s[tag=gm4_lt_zauber_poison_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:poison'}]}] run function gm4_zauber_liquids:util/poison
execute if score @s[tag=gm4_lt_zauber_poison_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:poison'}]}] run function gm4_zauber_liquids:util/poison

#regeneration
execute if score @s[tag=gm4_lt_zauber_regeneration_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:regeneration'}]}] run function gm4_zauber_liquids:util/regeneration
execute if score @s[tag=gm4_lt_zauber_regeneration_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:regeneration'}]}] run function gm4_zauber_liquids:util/regeneration

#speed
execute if score @s[tag=gm4_lt_zauber_swiftness_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:speed'}]}] run function gm4_zauber_liquids:util/swiftness
execute if score @s[tag=gm4_lt_zauber_swiftness_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:speed'}]}] run function gm4_zauber_liquids:util/swiftness

#strength
execute if score @s[tag=gm4_lt_zauber_strength_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:strength'}]}] run function gm4_zauber_liquids:util/strength
execute if score @s[tag=gm4_lt_zauber_strength_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[nbt=!{active_effects:[{id:'minecraft:strength'}]}] run function gm4_zauber_liquids:util/strength

#wormhole
execute if score @s[tag=gm4_lt_zauber_wormhole_potion] gm4_lt_value matches 1.. as @e[team=!invalid_team,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[tag=!gm4_zl_wormhole_ignore] run function gm4_zauber_liquids:util/wormhole
execute if score @s[tag=gm4_lt_zauber_wormhole_potion] gm4_lt_value matches 1.. as @e[type=!#gm4:non_living,type=!armor_stand,tag=!smithed.strict,limit=1,dx=0] unless entity @s[gamemode=spectator] if entity @s[tag=!gm4_zl_wormhole_ignore] run function gm4_zauber_liquids:util/wormhole

tag @s remove gm4_processing_tank
Loading