This snapshot is possibly one of the most impactful for API we have ever had. This PR is an inital port to support 22w06a, stuff will be missing and broken.
# Removed modules:
- fabric-mining-levels-v0 - Previously deprecated
- fabric-object-builders-v0 - Previously deprecated
- fabric-tag-extensions-v0
- fabric-tool-attribute-api-v1
# Modules with API breaking changes:
- fabric-biome-api-v1
- fabric-content-registries-v0
- fabric-data-generation-api-v1
- fabric-mining-level-api-v1
- fabric-object-builder-api-v1
- fabric-resource-conditions-api-v1
- fabric-structure-api-v1
# Impactful API changes:
### fabric-object-builder-api-v1
- Removed - FabricBlockSettings.breakByHand
- Removed - FabricBlockSettings.breakByTool - Previously deprecated
# Notable changes
- fabric-registry-sync-v0 moves vanilla's new registry freezing to a later point in time, allowing mods to add to the registry during init.
# Known issues:
- ServerBugfixMixin used to fix https://bugs.mojang.com/browse/MC-195468 has not yet been ported.
* Environmental Renderers
* Remove defunt hideClouds and hideWeather
* Pushed missing License
* Push checkstyle fixes
* remove unused
* Unwrapped the test mod sky rendering.
* Added a first attempt at javadoc.
* Forgot a blank line
* Moved Environment references out of class
* Moved Lamda functions for fog override, thick fog usage and fog color adjustment to their own interfaces and gave them proper javadoc.
* Made FabricSkyProperties private
* PURGE THE H...I mean FabricSkyPropertyBuilder and FabricSkyProperties.
- Reverted unintentional mixin changes
- Fix various typo errors that were pointed out.
- Added missing javadocs and added the ability to override.
* Forgot some pluggin in some overrides.
* Added missing javadoc suggestion
* Changed api a bit so that it fires a exception if renderer not being overridden and one already exists.
* Split Implemtnation and Interface
* Forgot a license
* Added WorldRenderContext to Renderers
* Added logging
* Added missing javadocs and removed the override option.
* Removed INSTANCE
* Environmental Renderers
* Remove defunt hideClouds and hideWeather
* Pushed missing License
* Push checkstyle fixes
* remove unused
* Unwrapped the test mod sky rendering.
* Added a first attempt at javadoc.
* Forgot a blank line
* Moved Environment references out of class
* Moved Lamda functions for fog override, thick fog usage and fog color adjustment to their own interfaces and gave them proper javadoc.
* Made FabricSkyProperties private
* PURGE THE H...I mean FabricSkyPropertyBuilder and FabricSkyProperties.
- Reverted unintentional mixin changes
- Fix various typo errors that were pointed out.
- Added missing javadocs and added the ability to override.
* Forgot some pluggin in some overrides.
* Added missing javadoc suggestion
* Changed api a bit so that it fires a exception if renderer not being overridden and one already exists.
* Split Implemtnation and Interface
* Forgot a license
* Added WorldRenderContext to Renderers
* Added logging
* Added missing javadocs and removed the override option.
* Removed INSTANCE
* Fixed Issues
* Fixed formatting issue.
* completed Juuxl's suggestions and removed null check on adding skyproperties. Changed SkyProperties registering to take an Identifier. Registration turns out to be only adding new options to the "effects" entry of dimension type jsonjson.
* Forgot to reenable this.
* Just did suggested tweaks
* Changed SkyProperties to DimensionEffects
* Pushed suggestions of Haykam and apple502j
* Added missing changes from sky properties to dimension effects.
* Corrected me being inconsistent.
* Forgot to remove import.
* Impliments
https://github.com/FabricMC/fabric/pull/1727#discussion_r734988305https://github.com/FabricMC/fabric/pull/1727#discussion_r734988265
* Implements https://github.com/FabricMC/fabric/pull/1727#discussion_r730429748
* Last minute tweak. Runnable that controls fog runs right before dimension spefific rendering is done. Based on more subtle issues discovered while working api with twilight forest.
Co-authored-by: AlphaMode <AlphaModeYT@gmail.com>
* Fix running game tests.
* Fix dimension api bugfix mixin. Of note: The Vanilla bug is still present, and the bugfix still needed.
* Fix references to unmatched RegistryOps method.
This migrates all uses of v0 networking to v1 api, and changes the readme to not mention networking-v0 in the example for dependencies.
This effectively makes v0 removable if it breaks in the future beyond repair. Though I expect v0 to last quite a bit longer.
(cherry picked from commit bf770ed853)
* Add custom value denoting module lifecycles.
* Make the module validation work.
My hand has been forced - we must use buildSrc since JsonSlurper is not available in main buildscript.
* Apply task to each project and dont cross projects
* A horrible hack
* Wait what
* It works now.
* Not needed
* Drop unneeded maven repo, cache map lookup
(cherry picked from commit daa38b3d82)
* dim api initial port
* A whole bunch of work
* Checkstyle :)
* Minor tweaks based on feedback
* Update to latest snapshot
* Checkstyle ;)
* Some more dim work
* Re add default placer's, the example mod includes a test dim that currently marks the world as experimental
* license
* Fixup javadoc
hardcoded for Overworld, use Dimension.hasVisibleSky instead.
- World.isDay() and World.isNight() are now un-hardcoded.
Instead of checking for the overworld, they check for a visible sky
like clocks. The check is false for the nether and the end,
so vanilla behaviour stays the same.
* Update versioning to match 1.15 branch
* Fix builtin mods being added as resource packs
* Update fabric-loader to replace deprecated methods
* Add more metadata to the modules (#353)
* Add fabric-api-base as a dep to fabric-networking-v0
* Allow for running fabric-api-base on the server-side environment (#360)
* Set curse version to 1.14.4
Also forces it to build again
* Fix NPE in fluid renderer mixin (#361)
* Fix NPE in fluid renderer mixin
* Ensure state, view, and pos are never null
* Bump fabric-rendering-fluids-v1 version
* Cooler dimension API, #309 (#319)
* pyro API
* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java
clarify portalDir param
Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>
* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java
rename & clarify verticalOffset param
Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>
* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/FabricDimensions.java
Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>
* Update fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/api/dimension/EntityPlacer.java
Co-Authored-By: Pyrofab <redstoneinfire@gmail.com>
* update parameter
* Add fabric-networking and fabric-registry-sync to dependencies
* Refactor FabricDimensionType to use a builder
Also adds a desiredRawId field separate from the actual raw
id fixed internally. The fixedRawId field is now set by
DimensionIdsFixer through reflection.
This change addresses concerns about the ability for any mod
to set a FabricDimensionType's raw id at any time.
* Improve javadoc of FabricDimensions#teleport
* Add an overload for FabricDimensions#teleport
* Update javadoc on DimensionIdsFixer
* Inline clientside packet handling
* Add side assertions to FabricDimensions#teleport
* Nuke minecraft's attempts to overwrite bad level properties
* Add license headers
* Reformat dimension API source code
* Update FabricDimensionType javadoc
* Remove redundant ThreadLocal from FabricDimensionInternals
* Fix crash on dedicated servers
* Fix Illegal Access during remapping
* Fix dimension remap exception propagation
* clarify EntityPlacer docs
* spacing fixes
* api.dimension -> api.dimension.v1
* Increment API patch version
Signifies inclusion of new Dimension API
* Partial fix to FabricDimensionType
* Bump dimension version
* Updates based on feedback