* Mining Level API, part 1
* Fix incorrect netherite mining level in MiningLevelManager docs
* Add some format checks in dynamic mining level tag checking
* Add mining level API test mod
* Grammar
* Add cursed basic support for the tool attribute api
* Fix tool attribute JD
* Add proper compat for tool attribute api
Also fixes the remaining bugs in it!
* Update license headers
* stuff
* better comments
* more test mod work
* more
* Fix test mod
* i'm done with this module
* Address some code review things
* Use Reference2IntMap (basically IdentityHashMap for int values)
* Prefix mixin handlers with fabric$
* Add missing license header
* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java
* Resolve liach's comment
* Update to use TagFactory
* dynamic tool attributes v2, part 1
* move duck interface to impl package
* add licenses
* fix mixin build failure on a dedicated server
* remove unused shadow of getItem()
* add a simple user-context-based attribute tool to the test item suite
* add clarifying comments in DynamicAttributeTool jdoc regarding parameter reliability + extended docs on getDynamicModifiers for attribute freshing
* player -> user because context is not always a player
* add license to TestNullableItem
* 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)
* Clean up to tool-attributes, add annotations and add test for custom tool types.
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Change version to 1.2.3
Signed-off-by: shedaniel <daniel@shedaniel.me>
* remove unrelated change
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Turn build.gradle to tabs
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix checkstyle
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix some review issues
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Add license to package-info.java
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Remove line between the javadoc and the package line
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Move the @NotNull annotation
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Boost to Loom 0.5
Add null related annotations
* Rearrange nullable to be overline
* Fix anno sorting for picky
* Add imports
* Address feedback
* Fix import
* Decoupled effective checks and mining speed
* Fixed typo
* Bump major for method sig change
* Fix semvar
* Re-add original API method
* Extend test mod
* Fix bug discovered by testing
* Change current to vanillaResult, update doc for postProcessMiningSpeed
* Remove </p> tag
* Add vanilla tests and rename vars
* Actual support
* Remove this useless mixin
* Resolve some issues
* Remove duplicate entries
* maybe?
* fix max breaking speed
* choose an item that is the closest
* Set version to 1.1
* better docs remove stuff
* deprecation doc and no todo comments
* Check if block has valid mining level
* javadocs
* Most of the issues resolved
* Some more javadoc and resolve some issues
* Forgot to change order for these
* Adds post process method to DynamicAttributeTool
Fixed going to vanilla again to query
Fixed tool mining level < 0
Fixed vanilla items on modded blocks not working
Renamed taggedToolHandlerInvoker to toolHandlerInvoker
Renamed entries to ENTRIES
* New comparision method for modded tools to vanilla blocks
* Remove useless mixins and use getMaterial().getMiningSpeed to support more tools.
* Simply mixin
* Some useful javadocs
* Fix license
* Bump fabric-object-builders-v0 because we are good
* Bump version of fabric-object-builder-api-v1 because we are nice
* Resolve some issues
* a
* remove vanilla tools vanilla blocks thing ok
* descriptive
* Get the faster speed instead
* Rename ModdedToolsVanillaBlocksToolHandler
* Remove tri state
* Fix compile errors
* testmod
* fix formatting
* fix testmod javadoc
* forgot to license format testmod
* Bump to 1.1.0
# Conflicts:
# fabric-object-builder-api-v1/build.gradle
# fabric-tool-attribute-api-v1/build.gradle
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/api/tool/attribute/v1/DynamicAttributeTool.java
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinItemStack.java
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinPlayerInventory.java
Moves the ToolManager and tool tags declared in fabric-mining-levels-v0 to a new fabric-tool-attributes-v1, along with adding new interfaces to be implemented on tools so that mining speed, mining level, and entity attribute modifiers can be decided by the itemstack.