Leaping Salmon
Introduction
Look out, salmon are leaping dangerously high! We must create ponds for them to land in!
Swing a ‘trident’
We’ll use a Trident to cause salmon to make giant leaps into the sky. Add a ||player:on item used||
to your code and set the item type to Trident.
player.onItemInteracted(TRIDENT, function () {
})
Use a ‘repeat’ loop
We want multiple fish to spawn for each Trident use, so insert a ||loops:repeat||
loop into the ||player:on item used||
block and set the repeat number to 6.
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
}
})
Spawn some salmon
Now it’s time to spawn the salmon. Put a ||mobs:spawn||
into the ||loops:repeat||
loop and set the animal type to Salmon.
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
mobs.spawn(SALMON, pos(0, 0, 0))
}
})
Set random positions
If the salmon all spawn to the same place, you won’t see how grand the feat was! Let’s add a ||positions: pick random position||
into the ||mobs:spawn||
instruction to spread the fish apart randomly.
Set the from position to ~-3 ~30 ~-3 and the to position to ~3 ~30 ~3. That’ll make them spawn high in the sky over a nice area!
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
mobs.spawn(SALMON, randpos(
pos(-3, 30, -3),
pos(3, 30, 3)
))
}
})
Save the salmon!
We’ve just made it so the salmon fall from extremely high! We should create a pond to catch them so they don’t get injured when they land. Add a new ||player:on item used||
to your code, and set the item to Kelp.
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
mobs.spawn(SALMON, randpos(
pos(-3, 30, -3),
pos(3, 30, 3)
))
}
})
player.onItemInteracted(KELP_ITEM, function () {
})
Rescue pond
Put a ||blocks:fill||
into the ||player:on item used||
that’s set for Kelp. The falling fish need to land in water, so set the fill block type to Water.
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
mobs.spawn(SALMON, randpos(
pos(-3, 30, -3),
pos(3, 30, 3)
))
}
})
player.onItemInteracted(KELP_ITEM, function () {
blocks.fill(
WATER,
pos(0, 0, 0),
pos(0, 0, 0),
FillOperation.Replace
)
})
Expand the pond
Finally, we must change the size of our pond so the fish can land right into it. In the ||blocks:fill||
, set the from position to ~-4 ~-1 ~-4 and the to position to ~4 ~-1 ~4. This creates a 9 x 9 shallow pool of water around the player.
player.onItemInteracted(TRIDENT, function () {
for (let i = 0; i < 6; i++) {
mobs.spawn(SALMON, randpos(
pos(-3, 30, -3),
pos(3, 30, 3)
))
}
})
player.onItemInteracted(KELP_ITEM, function () {
blocks.fill(
WATER,
pos(-4, -1, -4),
pos(4, -1, 4),
FillOperation.Replace
)
})
Play the game!
You’re all done! Go in-game and add a Trident and some Kelp to your equipment. Use the Kelp to create a pond, then use your Trident to fill it with fish! If you’re feeling brave, try using the Trident before the Kelp and see if you’re fast enough to save the Salmon.