Skip to content

Conversation

1vers1on
Copy link
Contributor

@1vers1on 1vers1on commented Aug 28, 2025

Description

This PR fixes the issue where the piglin barter drop uses a HashSet for iteration, which results in a deterministic order after the set is finalized.

Proposed changes

  • Added a new method in SlimefunRegistry called getRandomizedBarteringDrops(), which copies the barterDrops into a List and shuffles it with ThreadLocalRandom.
  • Updated the piglin drop event listener to use the randomized list instead of iterating over the original HashSet.

Related Issues (if applicable)

Resolves #4326

Checklist

  • I have fully tested the proposed changes and promise that they will not break everything into chaos.
  • I have also tested the proposed changes in combination with various popular addons and can confirm my changes do not break them.
  • I have made sure that the proposed changes do not break compatibility across the supported Minecraft versions (1.16.* - 1.20.*).
  • I followed the existing code standards and didn't mess up the formatting.
  • I did my best to add documentation to any public classes or methods I added.
  • I have added Nonnull and Nullable annotations to my methods to indicate their behaviour for null values
  • I added sufficient Unit Tests to cover my code.

@1vers1on 1vers1on requested a review from a team as a code owner August 28, 2025 15:48
Copy link
Contributor

Pro Tip!
You can help us label your Pull Requests by using the following branch naming convention next time you create a pull request. ❤️

Branch naming convention Label
feature/** 🎈 Feature
fix/** ✨ Fix
chore/** 🧹 Chores
api/** 🔧 API
performance/** 💡 Performance Optimization
compatibility/** 🤝 Compatibility

If your changes do not fall into any of these categories, don't worry. You can just ignore this message in that case! 👀

Copy link
Contributor

Slimefun preview build

A Slimefun preview build is available for testing!
Commit: 8d9f1a1

https://preview-builds.walshy.dev/download/Slimefun/4337/8d9f1a12

Note: This is not a supported build and is only here for the purposes of testing.
Do not run this on a live server and do not report bugs anywhere but this PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Piglin Barter Drops are Biased
1 participant