Leaping Salmon
Introduction
Look out, salmon are leaping dangerously high! We must create ponds for them to land in!
Swing the trident
We’ll use a Trident to cause salmon to make giant leaps into the sky. Put in an on item used event. Set the item type to a trident.
def on_item_interacted():
pass
# @highlight
player.on_item_interacted(TRIDENT, on_item_interacted)
Add a loop
We want multiple fish to spawn for each Trident use, so insert a for loop and set the repeat count to 6
. This will spawn fish 6
times.
def on_item_interacted():
# @highlight
for i in range(6):
pass
player.on_item_interacted(TRIDENT, on_item_interacted)
Spawn some salmon
Now it’s time to spawn the salmon. In the the for loop, spawn a salmon at the player’s current position.
def on_item_interacted():
for i in range(6):
# @highlight
mobs.spawn(SALMON, pos(0, 0, 0))
player.on_item_interacted(TRIDENT, on_item_interacted)
Spawn random salmon
We’ll make it so the salmon spawn into a random location so that it’s harder to catch
them. Replace the relative position in the spawn with a random position. The random position uses a range of two relative positions, from and to. Set the from
position to (-6, 60, -6)
and the to position to (6, 60, 6)
.
That’ll make them spawn high in the sky!
def on_item_interacted():
for i in range(6):
# @highlight
mobs.spawn(SALMON,
# @highlight
randpos(pos(-6, 60, -6), pos(6, 60, 6)))
player.on_item_interacted(TRIDENT, on_item_interacted)
Use some kelp
We’ve just made it so the salmon leap extremely high! We should create a pond to catch them so they don’t get injured when they land.
Use another on item used event to run code when kelp is used.
# @highlight
def on_item_interacted2():
# @highlight
pass
# @highlight
player.on_item_interacted(KELP, on_item_interacted2)
Make a water pond
In the kelp event, fill in water. Set both the from and to positions for the fill to (0, 0, 0)
. The falling fish need water to fall into.
def on_item_interacted2():
# @highlight
blocks.fill(WATER, pos(0, 0, 0), pos(0, 0, 0), FillOperation.REPLACE)
player.on_item_interacted(KELP, on_item_interacted2)
Enlarge the pond
Finally, we must change the size of our pond so the fish can land right into it. For the water, set the from position to (-2, -1, -2)
and the to
position to (2, -1, 2)
. This creates a 5 x 5 shallow pool of water around the player.
def on_item_interacted2():
# @highlight
blocks.fill(WATER, pos(-2, -1, -2), pos(2, -1, 2), FillOperation.REPLACE)
player.on_item_interacted(KELP, on_item_interacted2)
Run your program!
You’re all done! Go in-game and add a Trident and some Kelp to your equipment. Use the Trident to make salmon leap high in the sky. Then, quickly equip the Kelp and use it to create a pond underneath the fish so they can land safely. You’ll have to react quickly!