Tags
Creators
Details
0.12.5+26.2
Compatibility
Required content
Changes
0.12.5: Sounds and particles
An NPC can now make noise, and it can glow. Both come with a way to bring in your own files and share them with a whole server.
Sounds
Talk tab, then Sounds. Six slots: a voice, an ambient sound on a timer, and sounds for hurt, death, step and angry. Pitch shifts all of them at once, so one villager noise becomes a whole cast.
The ambient sound has a gap and a mode. Exact plays on the dot, for a blacksmith at an anvil. Random wanders, for chatter. The boxes fill in as you type, and a typo is refused in chat instead of saving silently.
Your own sounds. Drop an .ogg in a folder, name it, done. It is notchcurrency:yourname from
then on. On a server an operator's import goes up at once and everyone else gets it on their next
join. Nothing is pushed to players already online, on purpose.
Animations on a timer
Pose tab, Now and then. A second animation that plays once on a timer, exact or random, then drops back to the idle loop. Set it and the anvil sound to the same gap and the swing lands with the clang. They used to drift apart. They do not any more.
Particles
Manage tab, then Particles. Build an effect from up to four layers, six shapes, spin and rise, and give it to any NPC to wear all the time or fire from any reaction, dialogue choice or quest.
Every effect is drawn on your own game with a one tick lifetime, so a ring of glyphs holds together and turns as one thing, and moving it costs the server nothing.
Minecraft's own particles are all there with plain names, sorted into groups, with a picture when you hover. A few of them ignore where you put them, so there are seven tame versions of ours that wear the same pictures and behave. And eight slots for your own PNGs, shared the same way sounds are.
Four starter effects come with a fresh world: wizard, ghost, holy and cursed. Pull them apart.
On an older world, /npcfx starters adds them.
Economy
A pass over the money side, looking for holes.
- Shop buying is airtight now. The server takes the quantity from the client, and it only checked that it was above zero. A hacked client could send a number so big the price wrapped around, and the shop handed over the items for nothing. Buying is capped at 256 per click, the price maths cannot wrap, and if the withdrawal fails the sale stops. The sell side already did all of this.
- Loans have a debt ceiling. An overdue loan grew 20% a cycle forever, so a player who left for two months came back owing millions. Interest and fees now stop at 3x the borrowing limit. Config: Debt ceiling, 0 for the old behaviour.
- Big payments ask first.
/payfor 10,000 or more shows a [Confirm] button. Click it, or run the same command again within 30 seconds. Config: Confirm /pay above, 0 to turn it off. - Starting balance. A config option to hand every brand-new player a few coins on their first join. Off by default.
- Savings interest. A config option to pay every account a small percent of its balance on a timer, capped per payout. Off by default, it creates money.
- A balance can no longer wrap past the top of the number range.
- A listing with some stock left, but not enough for one sale, looked buyable and then did nothing when clicked. It now shows the red cross, and the tooltip says how many a sale needs. The owner's screen shows the same.
- APP.ly's battery swap (special_idle3) played some moves backwards: the head door swung into the head, he leaned back instead of forward, and an arm passed through his head. The X and Y turns in that one animation had their signs flipped in the conversion. Flipped back.
- APP.ly's random clips are weighted now: the flourish often, the doze rarely and only when no player is within 8 blocks, the battery swap rarest. They still need Idle set to Lively, which now says so on the button.
Also
- A fly ceiling for NPCs with gravity off, on Stats & Abilities, next to the toggle.
- Three quiet guards keep particles from ever hurting a server: a 32 block range, a cap per shape, and a per player budget every tick.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gGHT7Irr:3gEjONd1"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gGHT7Irr:3gEjONd1"
}

