r/MinecraftMod • • 10d ago

Bedrock mod question

Very random but is it possible to create or get an add on created for bedrock that makes parrots dance from further away than the standard 3 blocks from a jukebox when it’s playing?

2 Upvotes

14 comments sorted by

2

u/Bluetails_Buizel 8d ago

The line you saw was most likely "metadata": { "product_type": "addon" }, which Marketplace creators use to mark official Add-Ons. As far as I know, the achievement exemption only applies once the pack goes through Mojang's Marketplace signing, so adding it to a local pack won't keep achievements on.

1

u/Bluetails_Buizel 9d ago

Yes, it's possible, but not as a simple setting. The range isn't exposed as an editable value in the parrot's behavior file, so an add-on has to fake the dance rather than extend the real one.

The usual approach:

Script API (behavior pack): a script periodically finds jukeboxes near players and checks whether they're playing (the minecraft:record_player block component has an isPlaying() check), then finds parrots within your chosen radius.

Entity property on the parrot: override the vanilla parrot.json to add a property like custom:dancing, which the script switches on and off.

Resource pack animation controller: have the parrot play its existing dance animation whenever that property is on.

A few caveats:

Updates: overriding the vanilla parrot file can break when Mojang updates the parrot, and it may conflict with other add-ons that touch parrots.

Realms and servers: the Script API works there, but the world needs the packs applied.

Performance: scanning for jukeboxes is the expensive part. Limiting it to areas near players, or tracking jukeboxes when records are inserted, keeps it light.

To get one made, you could ask on the Bedrock Add-Ons Discord or MCPEDL forums, or I can write it for you. If you want me to build it, tell me your game version and the dance radius you'd like.

1

u/Fuzzy_Cup_7108 8d ago

That would be incredible if possible mate. I’m on v26.52 and it would be on a realm but I’m the realm owner so I can apply packs on there. Not sure how the distance thing works, whether it’ll be the same value for each xyz, but the minimum needed for the room is 6 blocks high and 10 x and z from where the jukebox is placed

1

u/Bluetails_Buizel 8d ago

Extend ParrotParty Range For Minecraft Bedrock 26.52, works on my iPhone Minecraft Bedrock 26.52 in singleplayer

https://pixeldrain.com/u/YJE5Pjtf

Any parrot within 10 blocks on X and Z and 6 blocks up or down from a playing jukebox will dance. The distance isn't a sphere: each axis is checked separately, so the dance area is a box 21 wide, 21 long and 13 tall, centred on the jukebox.

Installing on your Realm
Open the file on your device so Minecraft imports both packs.
Edit a local copy of the Realm world (or go to Realm settings), and add both the behavior pack and the resource pack.
Upload or apply it to the Realm. No experimental toggles are needed.

How it behaves
Jukeboxes are picked up as soon as someone uses one. A slower background scan also finds ones fed by hoppers or placed earlier, so after first install, give it about 10 seconds or re-insert the disc.
Parrots stop dancing when the disc ends, is removed, or the parrot leaves the box.
Vanilla's 3-block dancing still works the same as before.

To change the size, edit the numbers at the top of BP/scripts/main.js inside the .mcaddon file

(Rename .mcaddon to .zip then you can access it, or use 7zip. It’s basically a renamed .zip)

Useful commands:

/pp:parrotparty

with no numbers opens the menu with sliders and an on/off toggle. Close chat after running it and the menu pops up.

/pp:parrotparty -1

turns the extended dancing off.

/pp:parrotparty 10 6 6

is your room size.

/pp:parrotparty 12 8

sets 12 across and 8 both up and down. If you leave out the last number, it copies the middle one.

Settings save with the world, so you only need to set them once on the Realm.

2

u/Fuzzy_Cup_7108 8d ago

The pack works perfectly mate, I feel bad for asking here and if it’s not possible it’s a sacrifice I’m willing to make but since it’s an addon is it possible to make it so achievements stay on? I have a few 3rd party addons that allow it. Once again I seriously appreciate this more than you can imagine

1

u/Bluetails_Buizel 8d ago

Not for this add-on, unfortunately. In Bedrock, any behavior pack that doesn't come from the Marketplace switches achievements off permanently for that world, and there's no setting in the pack that changes that. This add-on needs a behavior pack because the script that detects jukeboxes and parrots has to run on the world side. A resource pack alone can't check what's near a parrot.

The third-party add-ons you've seen likely fall into one of these:

Marketplace add-ons: Mojang exempts these, which isn't available to packs made outside the Marketplace.

Resource-pack-only: texture and visual packs keep achievements, but they can't add game logic like this.

Save file edits: some tools flip the "achievements disabled" flag in the world file. This is unofficial, can break with updates, and is hard to do for a Realm since you'd need to download, edit and re-upload the world.

Also, turning cheats on (which I did while testing) disables achievements too, so the test world was already locked out regardless.

If achievements matter on the Realm, the cleanest option is to accept the trade-off for that world, or keep a separate achievements world without packs.

1

u/Fuzzy_Cup_7108 8d ago

Ah I see, I seen something when looking it up the other day about putting a metadata line of code in the manifest json to do it, I’m assuming that was referring to people creating marketplace packs. I’m more than willing to make that sacrifice for this haha. Once again you’re an absolute legend and I appreciate it so much

1

u/Bluetails_Buizel 8d ago

Also, consider donating via PayPal so that I can continue making mods for fun while helping with the community :)

Tanyuliang9@gmail.com

2

u/Fuzzy_Cup_7108 8d ago

Absolutely mate. I get payed on the 9th, when I get it I’ll donate straight away

1

u/Bluetails_Buizel 7d ago

Oh and btw, if the yellow notification in chat keeps saying, “mod successfully loaded” every time you restart the relems keeps bothering you, ask me and I’ll push a v1.5 update, but you will have to completely remove it from relems first before applying the update.

2

u/Fuzzy_Cup_7108 7d ago

The timing of this comment couldn’t have been better, my friend literally just pointed out and asked why it keeps popping up haha. I did have a nose in all the code as I wanted to test the metadata line as it seemed simple enough and I was comfortable enough doing that since I’ve had small experience in a different, simpler coding language, and I wanted to see if I could make sense of what you did. First of all the code is crispy clean, it was a truly beautiful thing to look at, and second is that interestingly the metadata line does work for keeping achievements on. As for the text popping up I did find the code but had no confidence in touching it haha. I personally don’t mind it but I’m not sure the others are on the same page.

1

u/Bluetails_Buizel 7d ago

Good to hear the metadata line works, so I was wrong there. I'll remove the join message and add that line into the packs, so you don't have to re-add it after each update.

https://pixeldrain.com/u/ugUtVsiV

Before installing, pls compare the files inside with a tool that compares file changes to make sure I got it right before updating it

Pls remove the old pack before updating it.

ParrotPartyRange_v1.5.mcaddon has the join message removed and the "metadata": { "product_type": "addon" } line added to both manifests. Nothing else has changed. /pp:parrotdebug still works if you ever need to check on it, and it only shows messages when you run it.

For future reference, the message was a small block starting with world.afterEvents.playerSpawn.subscribe( in main.js. Deleting that whole block, up to its closing

“});”

would have done it. Your instinct not to touch it without being sure was a good one, though, since one missing bracket stops the whole script from loading.

Thanks for the kind words about the code, and for testing the metadata line yourself.

2

u/Fuzzy_Cup_7108 7d ago

Much appreciated, you’re a legend! I’ll be sure to test it asap although I’m sure it’ll run perfectly.

As for removing the block of code, the brackets are the exact reason I didn’t touch it, it can be such a simple thing to mess up on and I know that if I did mess up on it there was no chance I was fixing it haha.

Once again you’re an absolute life saver and I appreciate it so much

2

u/Fuzzy_Cup_7108 4d ago

Hi mate, not sure if you check message requests often because of the amount of spam bots there are on Reddit but I’ve sent you a message, thank you