Essential hooks for modding with Fabric.
Find a file
i509VCB 2f23104bdd
Lifecycle Events V1 [1.15] (#619)
* Lifecycle Events V1

Now includes Chunk and (Block)Entity (un)load events

* Add some tests to verify worlds are ticking in the log

* Lambda boogaloo

* Add some docs. Distinguish between a server starting to stop and server which has stopped.

* Split up test mods, some tweaks to (block)entity (un)load events.

Bind the ServerWorld being closed during shutdown to unload (block)entities.

* Shift around a few profiler variables and finalize

* Complete the tests, Block entities on server should be reliably tracked now.

Entities on the server obviously still need to be wrangled.

* Drop Server Entity Unload callback.

Believe me, this was a hard decision but it stands on the fact that about 20-40% of entities silently unload without going through the proper "unloadEntity" method in ServerWorld. No amount of debug hacks, double tracking unload events and even replacing the entity maps do not fix this issue. So I have decided to drop this from the feature set.

* checkstyle

* generic-events -> item-api

* Server start -> Server started

* Allow getting current server from Lifecycle

People have asked for this, but it is not encouraged for obvious reasons. Should be staged well enough to revert if we decide to.

* checkstyle lol

* update injection name

* Checkstyle lol: Redundant modifiers

* Add client starting, stopping and stopped callbacks.

* Loicenses

* Reorganize so each event category has it's own class.

Also this collapses the pretty widely reaching interfaces into more specific inner classes to avoid issues with generics.

* Some docs and slight name changes

* Add start tick callbacks to worlds, server and client

* Enhance some client related docs to life cycle

* Deprecate for reasons of discouraging singletonish server getter methods in lifecycle

* Add some description related to integrated server on server stopping.

* Add small test to verify tick starts are right spot of load

* Docs and a tiny bit more testing.

* Try clarifying client docs

* Drop a slightly unnessecary event

* Actually call and implement START_SERVER_TICK event

* Remove non-existent test

* again

* Refer to minecraft itself in client lifecycle docs

* Refer to Minecraft itself within ServerLifecycleEvents

* Remove primary server getters

* IJ DO YOU SPEAK RESOLVING IMPORTS

(cherry picked from commit c9257e8a11d8361469349f4171263121bb111af7)

* Prune the tests that shouldn't exist

* Listen here checkstyle you bugger

(cherry picked from commit 9701bba4002cec089c9d3738b1f226128078c130)

* Split up events to individual interfaces. Make Chunk events use WorldChunk instead.
2020-06-25 22:28:49 +01:00
fabric-api-base Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
fabric-biomes-v1 Version bump 2019-12-10 15:20:25 +00:00
fabric-blockrenderlayer-v1 Version bump 2019-11-28 19:45:38 +00:00
fabric-climbable-api-v1 Bump version 2020-04-29 22:12:11 +01:00
fabric-command-api-v1 Checkstyle fixes 2020-05-07 22:27:43 +01:00
fabric-commands-v0 Migrate commands to v1 (#539) 2020-04-29 22:05:43 +01:00
fabric-containers-v0 Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
fabric-content-registries-v0 Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
fabric-crash-report-info-v1 Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
fabric-dimensions-v1 Fix day/night-cycle enabling in World.isDay and World.isNight being 2020-03-05 13:43:51 +01:00
fabric-events-interaction-v0 Fix AttackBlockCallback being fired for incorrect player actions (#520) 2020-03-11 11:53:39 +00:00
fabric-events-lifecycle-v0 Lifecycle Events V1 [1.15] (#619) 2020-06-25 22:28:49 +01:00
fabric-item-api-v1 Lifecycle Events V1 [1.15] (#619) 2020-06-25 22:28:49 +01:00
fabric-item-groups-v0 Move creative pagination buttons (#639) 2020-06-12 11:12:42 +01:00
fabric-key-binding-api-v1 migrate to fabric-keybindings-v1 and remove builder (#615) 2020-06-12 11:18:17 +01:00
fabric-keybindings-v0 migrate to fabric-keybindings-v1 and remove builder (#615) 2020-06-12 11:18:17 +01:00
fabric-lifecycle-events-v1 Lifecycle Events V1 [1.15] (#619) 2020-06-25 22:28:49 +01:00
fabric-loot-tables-v1 1.15-pre2 2019-11-25 19:28:07 +00:00
fabric-mining-levels-v0 fabric-mining-levels-v0 -> fabric-tool-attribute-api-v1 (1.15 edition) (#460) 2020-04-22 03:30:02 +00:00
fabric-models-v0 Add checkstyle, format existing code accordingly. 2019-10-27 15:40:26 +01:00
fabric-networking-blockentity-v0 1.15-pre2 2019-11-25 19:28:07 +00:00
fabric-networking-v0 Bump version 2020-06-21 13:41:43 +01:00
fabric-object-builder-api-v1 Make villager profession builder create method public [1.15] (#649) 2020-05-29 23:38:01 +01:00
fabric-object-builders-v0 tool attribute 1.1 (#589) 2020-05-11 21:47:17 +01:00
fabric-particles-v1 Update loom to fix crash on build, Closes #831 2020-06-21 19:36:43 +01:00
fabric-registry-sync-v0 1.15-pre1 2019-11-21 21:04:17 +00:00
fabric-renderer-api-v1 Fix ForwardingBakedModel not forwarding isSideLit. Closes #501 (#502) 2020-02-10 17:13:08 +00:00
fabric-renderer-indigo Bump version 2020-02-10 00:57:59 +01:00
fabric-renderer-registries-v1 Fix checkstyle package check using client/server as the module name and missing suffix validation, adapt missed fabric-renderer-registry package 2019-11-27 13:24:36 +01:00
fabric-rendering-data-attachment-v1 Add checkstyle verification for package names, fix non-API packages. 2019-11-03 20:14:45 +01:00
fabric-rendering-fluids-v1 19w45a 2019-11-07 20:35:26 +00:00
fabric-rendering-v0 fabric-rendering-v1 module & added HudRenderCallback (#359) 2019-12-28 15:29:04 +00:00
fabric-rendering-v1 Add a hook for BuiltinModelItemRenderer (#563) 2020-04-30 00:05:39 +01:00
fabric-resource-loader-v0 1.15-pre3 - just mapping changes 2019-11-28 19:40:14 +00:00
fabric-tag-extensions-v0 Bump versions 2019-12-10 22:46:06 +01:00
fabric-textures-v0 1.15-pre7 - mapping changes 2019-12-09 21:40:36 +00:00
fabric-tool-attribute-api-v1 tool attribute 1.1 (#589) 2020-05-11 21:47:17 +01:00
gradle/wrapper update buildsystem to use maven-publish, hopefully 2019-04-22 17:12:13 +02:00
src/main/resources Object builders v0->v1 migration (#537) 2020-04-29 23:44:51 +01:00
.editorconfig update license header, add .editorconfig, run formatter - close #28 2019-04-26 20:18:20 +02:00
.gitignore Add checkstyle, format existing code accordingly. 2019-10-27 15:40:26 +01:00
.travis.yml Add Travis file from 1.16 2020-05-07 22:28:08 +01:00
build.gradle Update loom to fix crash on build, Closes #831 2020-06-21 19:36:43 +01:00
checkstyle.xml Restart Testmods (#593) 2020-05-03 19:46:37 +02:00
gradle.properties build to fabric-api 2019-04-24 19:15:08 +02:00
gradlew first commit - resource pack hook and little else 2018-11-05 15:54:18 +01:00
gradlew.bat first commit - resource pack hook and little else 2018-11-05 15:54:18 +01:00
HEADER update license header, add .editorconfig, run formatter - close #28 2019-04-26 20:18:20 +02:00
LICENSE first commit - resource pack hook and little else 2018-11-05 15:54:18 +01:00
README.md Add minimal "getting started" to README.md (#275) 2019-08-08 00:03:31 +01:00
settings.gradle Lifecycle Events V1 [1.15] (#619) 2020-06-25 22:28:49 +01:00

Fabric

Essential hooks and patches for modding with Fabric.

Getting Started

To setup a Fabric development environment, check out the example fabric mod and follow the instructions there.