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 @@ -6,7 +6,7 @@
# tripwire
execute if entity @s[gamemode=!adventure,predicate=gm4_crossbow_cartridges:items/string,x_rotation=-15..15] align xyz positioned ~0.5 ~ ~0.5 run function gm4_crossbow_cartridges:cables/shoot_arrow

# bucket with fish/axolotl
# bucket with mob
execute if entity @s[tag=!gm4_cb_use,predicate=gm4_crossbow_cartridges:items/bucket] run function gm4_crossbow_cartridges:projectile/bucket

# torch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# Check fish/axolotl and shoot
# Check bucket type and shoot
# @s = player using the crossbow
# at arrow
# run from check_projectile

tag @s add gm4_cb_use

execute if predicate gm4_crossbow_cartridges:items/axolotl run function gm4_crossbow_cartridges:projectile/bucket/axolotl
execute if predicate gm4_crossbow_cartridges:items/cod run function gm4_crossbow_cartridges:projectile/bucket/cod
execute if predicate gm4_crossbow_cartridges:items/salmon run function gm4_crossbow_cartridges:projectile/bucket/salmon
execute if predicate gm4_crossbow_cartridges:items/pufferfish run function gm4_crossbow_cartridges:projectile/bucket/pufferfish
execute if predicate gm4_crossbow_cartridges:items/tropical run function gm4_crossbow_cartridges:projectile/bucket/tropical
execute if predicate gm4_crossbow_cartridges:items/axolotl run function gm4_crossbow_cartridges:projectile/bucket/axolotl
execute if predicate gm4_crossbow_cartridges:items/salmon run function gm4_crossbow_cartridges:projectile/bucket/salmon
execute if predicate gm4_crossbow_cartridges:items/sulfur_cube run function gm4_crossbow_cartridges:projectile/bucket/sulfur_cube
execute if predicate gm4_crossbow_cartridges:items/tadpole run function gm4_crossbow_cartridges:projectile/bucket/tadpole
execute if predicate gm4_crossbow_cartridges:items/tropical run function gm4_crossbow_cartridges:projectile/bucket/tropical

# give advancement for launching mob in a bucket
execute unless predicate gm4_crossbow_cartridges:items/sulfur_cube run advancement grant @s only gm4:crossbow_cartridges_bucket

# replace filled bucket in player's offhand with water bucket
execute if predicate gm4_crossbow_cartridges:items/sulfur_cube run return run item replace entity @s[gamemode=!creative] weapon.offhand with minecraft:bucket
item replace entity @s[gamemode=!creative] weapon.offhand with minecraft:water_bucket
Comment thread
runcows marked this conversation as resolved.
Comment thread
misode marked this conversation as resolved.

# give advancement for launching mob in a bucket
advancement grant @s only gm4:crossbow_cartridges_bucket
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Summon sulfur cube
# @s = player using the crossbow
# at @s
# run from projectile/bucket

# replace arrow with sulfur cube and copy data
summon minecraft:sulfur_cube ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:instant_damage',amplifier:10,duration:1}],Silent:1b,DeathLootTable:"gm4:empty"}

execute as @e[type=minecraft:sulfur_cube,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion

# sulfur cube sound
playsound minecraft:entity.sulfur_cube.squish player @a[distance=..15] ^ ^ ^1 2 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Summon sulfur cube
# @s = player using the crossbow
# at arrow
# run from projectile/bucket

# replace arrow with sulfur cube and copy data
summon minecraft:sulfur_cube ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}

data modify storage gm4_crossbow_cartridges:temp projectile.Age merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data".age
data modify storage gm4_crossbow_cartridges:temp projectile.AgeLocked merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data".age_locked
data modify storage gm4_crossbow_cartridges:temp projectile.equipment.body set from entity @s equipment.offhand.components."minecraft:sulfur_cube_content"
execute as @e[type=minecraft:sulfur_cube,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion

# sulfur cube sound
playsound minecraft:entity.sulfur_cube.squish player @a[distance=..15] ^ ^ ^1 2 1

# shoot 2 more if using multishot
execute at @e[tag=gm4_cb_arrow,distance=..1,limit=2] run function gm4_crossbow_cartridges:projectile/bucket/multishot/sulfur_cube
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"items": [
"minecraft:cod_bucket",
"minecraft:salmon_bucket",
"minecraft:pufferfish_bucket",
"minecraft:tropical_fish_bucket",
"minecraft:axolotl_bucket",
"minecraft:tadpole_bucket"
]
}
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"items": "#gm4_crossbow_cartridges:bucket"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"items": [
"minecraft:sulfur_cube_bucket"
]
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"values": [
"minecraft:axolotl_bucket",
"minecraft:cod_bucket",
"minecraft:salmon_bucket",
"minecraft:pufferfish_bucket",
"minecraft:tropical_fish_bucket",
"minecraft:axolotl_bucket",
"minecraft:tadpole_bucket"
"minecraft:salmon_bucket",
"minecraft:sulfur_cube_bucket",
"minecraft:tadpole_bucket",
"minecraft:tropical_fish_bucket"
]
}
Loading