Skip to content

GTNHLib ​

The shared library every GTNH mod builds on. Most of it is invisible by design, but this release the pack moved its item transfer onto GTNHLib's item moving core, and GTNHLib gained the team system, the on-screen title overlay, central number formatting and a JSON block model loader that resource packs can use.

Modded Plants in Flower Pots ​

Saplings, flowers and mushrooms from Biomes O' Plenty, Twilight Forest, Pam's HarvestCraft, Natura and Botania now go into a vanilla flower pot. That is every sapling of those mods, most Biomes O' Plenty flowers and mushrooms plus its tiny cactus and thorns, Twilight Forest's fiddlehead, mushgloom and huge water lily, Natura's glowshrooms and bluebells, and Botania's mystical flowers and mushrooms. Botania's generating and functional flowers do not fit.

One plant of each mod in a flower potModded Plants in Flower PotsModded Plants in Flower Pots

Shipped in: twilightforest #152, GTNHLib #435, GTNHLib #437, harvestcraft #75, Natura #46, Botania #146

Watch on Discord

GTNH Teams ​

You already have a team: the first time you log in, one called <name>'s Team is made with you as its owner. Any mod can keep its own data on it instead of a member list of its own. /gtnhteam invite <player> and /gtnhteam accept bring someone in, kick, promote and demote sort out the ranks, and leave puts you in a team of your own again. A member is a member, an officer or an owner: officers invite and kick members, owners do everything else, and a team can have more than one owner. /gtnhteam merge request <team> asks to fold your team into another. When that team's owner runs /gtnhteam merge accept, everyone moves across with their data, and it cannot be undone. /gtnhteam gui does all of it in a window instead.

Invites and a merge request, as they arrive in chat

Three mods use it already: the Vending Machine's team wallet, Visual Prospecting's shared vein and fluid discoveries, and GregTech's powerfail alerts, which now go to your GTNH team instead of your space project team. An ore vein or underground fluid you find reaches the teammates who are online at once, and the others catch up when they next log in; marking a vein depleted travels the same way.

/gtnhteam gui

Shipped in 15 pull requests

Quest titles and the /title command ​

A finished quest now shows as a large title in the middle of the screen. BetterQuesting's Notification Style in config/betterquesting.cfg is title by default; classic brings back the small popup. Operators get /title <player> title|subtitle|times|icon|clear|reset, which takes plain text with & colour codes or a JSON chat component, and times sets fade-in, stay and fade-out in ticks (10, 70 and 20 by default). icon puts an item above the title. ServerUtilities can send any of its notifications as a title, and its restart warnings in the last minute always arrive as one.

Quest titles and the /title command/title with colour codes/title icon

Shipped in: GTNHLib #330, ServerUtilities #273, BetterQuesting #200, GTNHLib #365, GTNHLib #388

Watch on Discord

Resource Pack Update Notifier ​

A resource pack can now tell you when it has an update. Packs that opt in through their pack.mcmeta are checked against their GitHub releases once per session, a few seconds after you join your first world, and a newer release for your GTNH version shows up in chat with a link to its release page. The same check warns when a pack is made for another GTNH version. /resourcepack updateCheck runs it by hand, and enableResourcePackUpdateCheck in config/gtnhlib.cfg turns it off. More information is available in the GTNH Wiki

Resource Pack Update Notifier

Shipped in: GTNHLib #260, GTNHLib #280, GTNHLib #285, GTNHLib #371

Watch on Discord

GregTech, AE2 and Jabba share one item mover ​

GregTech, Applied Energistics and Jabba now move items through one shared system in GTNHLib. GregTech adds Compressed Input and Output Buses from LuV to UHV and Quantum ones from UEV to UXV, which hold many stacks in each slot: the LuV Compressed Input Bus holds 256 stacks in each of its 49 slots. Alt-clicking a slot of one empties it into a single Matter Cluster, and a cluster can now hold more than 16,384 items. With blocking mode on, an AE2 interface only looks at a GregTech single-block machine's input slots, so items left in its output, circuit or battery slots no longer hold back the next pattern. Item movers can now pull from a super or quantum chest's output slot, and Jabba barrels with a hopper upgrade move 16 items every 8 ticks instead of one. Taking a whole stack out of a slot no longer copies its NBT, and looking for room no longer compares NBT against slots that are already full.

A Compressed Input Bus holds 256 stacks per slot

Shipped in 12 pull requests

Watch on Discord

JSON block models and shared APIs ​

Resource packs can replace the model of most blocks with a blockstate and model JSON in the modern format, as in later Minecraft versions; blockstates from packs older than pack format 4 are ignored. /blockstate get lists the properties of the block you are looking at, coloured by type, and /blockstate set <property> <value> changes one. The rest is API for other mods: the blockstate system, Brigadier commands, chat components for item and fluid names, colours that a resource pack overrides through a color.resource.<modid>.<name> lang key, and config annotations for field order, mod-gated entries, reloading from file and custom GUI entries.

Shipped in 54 pull requests

Other changes ​

blockSoundMixins in config/gtnhlib.cfg (default true, needs a restart) turns off the mixins that let blocks change their step and break sounds, for modlists where they crash at startup. String-list config values synced from a server are no longer split into single characters. The rest is internal work on the JSON model and tessellator code, the config system and the font helpers that Angelica builds on.

Shipped in 11 pull requests

Fixes ​

The server profiler started with /debug start no longer nests one level deeper every tick and grows until /debug stop. GTNHLib opened a jobs section on each server tick and never closed it.

Shipped in 61 pull requests

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@ah-OOG-ah (34), @RecursivePineapple (33), @sisyphussy (30), @Dream-Master (28), @mitchej123 (24), @Caedis (20), @boubou19 (15), @Alexdoru (13), @MalTeeez (13), @FourIsTheNumber (12), @cubefury (11), @Ruling-0 (11), @tiffit (11), @Nikolay-Sitnikov (9), @Algent (8), @chrombread (8), @Shigure-Ruiseki (8), @Ranzuu (7), @Roadhog360 (7), @alppp (6), @DarkShadow44 (6), @koolkrafter5 (6), @UltraProdigy (6), @danyadev (5), @Lyfts (5), @AnsonYeung (4), @Eldrinn-Elantey (4), @SuperSoupr (4), @Kogepan229 (3), @LazyFleshWasTaken (3), @0hwx (2), @DeathFuel (2), @eigenraven (2), @Ethryan (2), @hiroscho (2), @leagris (2), @Luca-Guettinger (2), @MassAnarchyy (2), @Sanduhr32 (2), @ABKQPO (1), @C0bra5 (1), @Cardinalstars (1), @Chitak985 (1), @Discreater (1), @EnderProyects (1), @EternalQ (1), @felixfour (1), @flamingowrangler2869 (1), @FrostyFire1 (1), @Glease (1), @glowredman (1), @jss2a98aj (1), @Justxs (1), @Kai-Z-JP (1), @KAMKEEL (1), @LazyFlesh (1), @MeiTianyou (1), @PLASMAchicken (1), @querns (1), @RealSilverMoon (1), @slprime (1), @spacebuilder2020 (1), @Spicierspace153 (1), @sunshinekitsune (1), @Taskeren (1), @wlhlm (1), @YannickMG (1)