Migrate to classtweaker (#5153)

* move to classtweaker

* interface injection via classtweaker

* More renames
This commit is contained in:
modmuss 2026-01-23 22:00:31 +00:00 committed by GitHub
parent a17204814e
commit 11a26f3131
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
104 changed files with 248 additions and 268 deletions

View file

@ -108,7 +108,7 @@ Fabric API makes strong backwards compatibility guarantees, by which contributor
- Transitive Access Wideners (TAWs) should be used to expose access to private or protected members in vanilla classes.
- Most TAWs should go in the dedicated `fabric-transitive-access-wideners-v1` module.
- Remember to add the `transitive-` prefix, otherwise dependent mods will not see the access modifications.
- Some TAWs such as Block subclass constructors are automatically generated. Make sure that you don't edit the `.accesswidener` file in `src` directly. Rather edit the template file (`template.accesswidener`) and run the `gradlew generateAccessWidener` task to update the generated file.
- Some TAWs such as Block subclass constructors are automatically generated. Make sure that you don't edit the `.classtweaker` file in `src` directly. Rather edit the template file (`template.classtweaker`) and run the `gradlew generateClassTweaker` task to update the generated file.
- Large amounts of TAWs for a specific purpose can be included in another module, as is the case for the data generation API, for example.
- Do **not** expose TAWs for functions that take a `String` identifier.
- This makes it too easy to forget the mod ID namespace, so the identifier would often end up in the vanilla `minecraft` namespace.

View file

@ -2,7 +2,7 @@ plugins {
id "java-library"
id "eclipse"
id "maven-publish"
id "net.fabricmc.fabric-loom" version "1.14.7" apply false
id "net.fabricmc.fabric-loom" version "1.15.2" apply false
id "com.diffplug.spotless" version "7.2.1"
id "me.modmuss50.remotesign" version "0.5.0" apply false
id "me.modmuss50.mod-publish-plugin" version "1.1.0"
@ -336,7 +336,7 @@ apply from: "gradle/module-validation.gradle"
apply from: "gradle/module-versioning.gradle"
loom {
accessWidenerPath = file("gradle/javadoc.accesswidener")
accessWidenerPath = file("gradle/javadoc.classtweaker")
}
javadoc {

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-biome-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-biome-api-v1.classtweaker")
}
testDependencies(project, [

View file

@ -1,4 +1,4 @@
accessWidener v1 official
classTweaker v1 official
accessible class net/minecraft/world/level/biome/Biome$ClimateSettings
# Top-Level Biome Fields Access

View file

@ -23,7 +23,7 @@
"mixins": [
"fabric-biome-api-v1.mixins.json"
],
"accessWidener" : "fabric-biome-api-v1.accesswidener",
"accessWidener" : "fabric-biome-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable"
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-block-api-v1.classtweaker')
}
testDependencies(project, [
':fabric-rendering-v1',
])

View file

@ -0,0 +1,4 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/level/block/Block net/fabricmc/fabric/api/block/v1/FabricBlock
transitive-inject-interface net/minecraft/world/level/block/state/BlockBehaviour$Properties net/fabricmc/fabric/api/block/v1/FabricBlock$FabricProperties
transitive-inject-interface net/minecraft/world/level/block/state/BlockState net/fabricmc/fabric/api/block/v1/FabricBlockState

View file

@ -24,12 +24,8 @@
"mixins": [
"fabric-block-api-v1.mixins.json"
],
"accessWidener": "fabric-block-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/level/block/Block": ["net/fabricmc/fabric/api/block/v1/FabricBlock"],
"net/minecraft/world/level/block/state/BlockBehaviour\u0024Properties": ["net/fabricmc/fabric/api/block/v1/FabricBlock\u0024FabricProperties"],
"net/minecraft/world/level/block/state/BlockState": ["net/fabricmc/fabric/api/block/v1/FabricBlockState"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1 +1,5 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-block-getter-api-v2.classtweaker')
}

View file

@ -0,0 +1,3 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/level/BlockGetter net/fabricmc/fabric/api/blockgetter/v2/FabricBlockGetter
transitive-inject-interface net/minecraft/world/level/block/entity/BlockEntity net/fabricmc/fabric/api/blockgetter/v2/RenderDataBlockEntity

View file

@ -26,11 +26,8 @@
"environment": "client"
}
],
"accessWidener": "fabric-block-getter-api-v2.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/level/BlockGetter": ["net/fabricmc/fabric/api/blockgetter/v2/FabricBlockGetter"],
"net/minecraft/world/level/block/entity/BlockEntity": ["net/fabricmc/fabric/api/blockgetter/v2/RenderDataBlockEntity"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,5 +1,5 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/client/resources/fabric-client-gametest-api-v1.accesswidener')
accessWidenerPath = file('src/client/resources/fabric-client-gametest-api-v1.classtweaker')
}

View file

@ -1,3 +1,3 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/client/Options$FieldAccess
accessible class net/minecraft/client/multiplayer/ClientChunkCache$Storage

View file

@ -23,7 +23,7 @@
"mixins": [
"fabric-client-gametest-api-v1.mixins.json"
],
"accessWidener": "fabric-client-gametest-api-v1.accesswidener",
"accessWidener": "fabric-client-gametest-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "experimental"
}

View file

@ -7,5 +7,5 @@ testDependencies(project, [
])
loom {
accessWidenerPath = file('src/main/resources/fabric-command-api-v2.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-command-api-v2.classtweaker')
}

View file

@ -1,5 +1,6 @@
accessWidener v2 official
classTweaker v1 official
# fields for mods to check whether the environment is as desired for registration
transitive-accessible field net/minecraft/commands/Commands$CommandSelection includeDedicated Z
transitive-accessible field net/minecraft/commands/Commands$CommandSelection includeIntegrated Z
transitive-inject-interface net/minecraft/commands/arguments/selector/EntitySelectorParser net/fabricmc/fabric/api/command/v2/FabricEntitySelectorParser

View file

@ -21,7 +21,7 @@
"minecraft": ">1.19-alpha.22.11.a"
},
"description": "Adds command-related hooks.",
"accessWidener": "fabric-command-api-v2.accesswidener",
"accessWidener": "fabric-command-api-v2.classtweaker",
"mixins": [
"fabric-command-api-v2.mixins.json",
{
@ -30,9 +30,6 @@
}
],
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/commands/arguments/selector/EntitySelectorParser": ["net/fabricmc/fabric/api/command/v2/FabricEntitySelectorParser"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-content-registries-v0.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-content-registries-v0.classtweaker")
}
moduleDependencies(project, [

View file

@ -1,2 +1,3 @@
accessWidener v1 official
classTweaker v1 official
accessible method net/minecraft/world/item/alchemy/PotionBrewing$Mix <init> (Lnet/minecraft/core/Holder;Lnet/minecraft/world/item/crafting/Ingredient;Lnet/minecraft/core/Holder;)V
transitive-inject-interface net/minecraft/world/item/alchemy/PotionBrewing$Builder net/fabricmc/fabric/api/registry/FabricPotionBrewingBuilder

View file

@ -25,12 +25,9 @@
"mixins": [
"fabric-content-registries-v0.mixins.json"
],
"accessWidener" : "fabric-content-registries-v0.accesswidener",
"accessWidener" : "fabric-content-registries-v0.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:provided_javadoc": "fabric-content-registries-v0.mapping",
"loom:injected_interfaces": {
"net/minecraft/world/item/alchemy/PotionBrewing\u0024Builder": ["net/fabricmc/fabric/api/registry/FabricPotionBrewingBuilder"]
}
"loom:provided_javadoc": "fabric-content-registries-v0.mapping"
}
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-convention-tags-v2.classtweaker')
}
moduleDependencies(project, [
'fabric-api-base',
'fabric-lifecycle-events-v1'

View file

@ -0,0 +1,2 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/tags/TagKey net/fabricmc/fabric/api/tag/FabricTagKey

View file

@ -28,11 +28,9 @@
"mixins": [
"fabric-convention-tags-api-v2.mixins.json"
],
"accessWidener": "fabric-convention-tags-v2.classtweaker",
"description": "Contains common tags used by mods for better inter-mod compatibility.",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/tags/TagKey": ["net/fabricmc/fabric/api/tag/FabricTagKey"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -6,5 +6,5 @@ moduleDependencies(project, [
])
loom {
accessWidenerPath = file('src/main/resources/fabric-creative-tab-api-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-creative-tab-api-v1.classtweaker')
}

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
transitive-accessible field net/minecraft/world/item/CreativeModeTabs BUILDING_BLOCKS Lnet/minecraft/resources/ResourceKey;
transitive-accessible field net/minecraft/world/item/CreativeModeTabs COLORED_BLOCKS Lnet/minecraft/resources/ResourceKey;
transitive-accessible field net/minecraft/world/item/CreativeModeTabs NATURAL_BLOCKS Lnet/minecraft/resources/ResourceKey;
@ -17,3 +17,4 @@ accessible field net/minecraft/world/item/CreativeModeTabs CACHED_PARAMETERS Lne
transitive-accessible class net/minecraft/world/item/CreativeModeTab$TabVisibility
transitive-accessible class net/minecraft/world/item/CreativeModeTab$Output
accessible class net/minecraft/world/item/CreativeModeTab$ItemDisplayBuilder
transitive-inject-interface net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen net/fabricmc/fabric/api/client/creativetab/v1/FabricCreativeModeInventoryScreen

View file

@ -28,11 +28,8 @@
"environment": "client"
}
],
"accessWidener": "fabric-creative-tab-api-v1.accesswidener",
"accessWidener": "fabric-creative-tab-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen": ["net/fabricmc/fabric/api/client/creativetab/v1/FabricCreativeModeInventoryScreen"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-data-attachment-api-v1.classtweaker')
}
moduleDependencies(project, [
'fabric-api-base',
':fabric-entity-events-v1',

View file

@ -0,0 +1,5 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/level/block/entity/BlockEntity net/fabricmc/fabric/api/attachment/v1/AttachmentTarget
transitive-inject-interface net/minecraft/world/level/chunk/ChunkAccess net/fabricmc/fabric/api/attachment/v1/AttachmentTarget
transitive-inject-interface net/minecraft/world/entity/Entity net/fabricmc/fabric/api/attachment/v1/AttachmentTarget
transitive-inject-interface net/minecraft/world/level/Level net/fabricmc/fabric/api/attachment/v1/AttachmentTarget

View file

@ -38,13 +38,8 @@
"net.fabricmc.fabric.impl.attachment.client.AttachmentSyncClient"
]
},
"accessWidener": "fabric-data-attachment-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "experimental",
"loom:injected_interfaces": {
"net/minecraft/world/level/block/entity/BlockEntity": ["net/fabricmc/fabric/api/attachment/v1/AttachmentTarget"],
"net/minecraft/world/level/chunk/ChunkAccess": ["net/fabricmc/fabric/api/attachment/v1/AttachmentTarget"],
"net/minecraft/world/entity/Entity": ["net/fabricmc/fabric/api/attachment/v1/AttachmentTarget"],
"net/minecraft/world/level/Level": ["net/fabricmc/fabric/api/attachment/v1/AttachmentTarget"]
}
"fabric-api:module-lifecycle": "experimental"
}
}

View file

@ -27,7 +27,7 @@ sourceSets {
}
loom {
accessWidenerPath = file("src/main/resources/fabric-data-generation-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-data-generation-api-v1.classtweaker")
runs {
datagen {
@ -83,7 +83,7 @@ import java.lang.reflect.Modifier
import java.util.zip.ZipEntry
import java.util.zip.ZipFile
tasks.register('generateAccessWidener') {
tasks.register('generateClassTweaker') {
inputs.files(loom.getNamedMinecraftJars())
doLast {
@ -93,18 +93,18 @@ tasks.register('generateAccessWidener') {
def clientJar = minecraftProvider.clientOnlyJar.path.toFile()
def classes = getClasses([commonJar, clientJar])
String accessWidener = "accessWidener\tv2\tofficial\n"
accessWidener += "\n"
accessWidener += "# DO NOT EDIT BY HAND! This file is generated automatically.\n"
accessWidener += "# Edit \"template.accesswidener\" instead then run \"gradlew generateAccessWidener\".\n"
accessWidener += "\n"
accessWidener += file("template.accesswidener").text + "\n"
String out = "classTweaker\tv1\tofficial\n"
out += "\n"
out += "# DO NOT EDIT BY HAND! This file is generated automatically.\n"
out += "# Edit \"template.classtweaker\" instead then run \"gradlew generateClassTweaker\".\n"
out += "\n"
out += file("template.classtweaker").text + "\n"
visitMethods(classes["net/minecraft/data/recipes/RecipeProvider"]) { name, desc, owner ->
if (it.name == "generate")
return
accessWidener += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
out += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
}
visitMethods(classes["net/minecraft/client/data/models/BlockModelGenerators"]) { name, desc, owner ->
@ -112,15 +112,15 @@ tasks.register('generateAccessWidener') {
// Skip over methods that dont take any arguments, as they are specific to minecraft.
return
accessWidener += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
out += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
}
visitMethods(classes["net/minecraft/data/loot/BlockLootSubProvider"]) { name, desc, owner ->
accessWidener += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
out += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
}
visitMethods(classes["net/minecraft/client/data/models/ItemModelGenerators"]) { name, desc, owner ->
accessWidener += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
out += "transitive-accessible\tmethod\t${owner}\t${name}\t${desc}\n"
}
classes.values().forEach { classNode ->
@ -135,11 +135,11 @@ tasks.register('generateAccessWidener') {
return
}
accessWidener += "transitive-extendable\tmethod\t${owner}\t${name}\t${desc}\n"
out += "transitive-extendable\tmethod\t${owner}\t${name}\t${desc}\n"
}
}
file("src/main/resources/fabric-data-generation-api-v1.accesswidener").text = accessWidener
file("src/main/resources/fabric-data-generation-api-v1.classtweaker").text = out
}
}
@ -215,5 +215,5 @@ def hasAncestor(ClassNode classNode, Map<String, ClassNode> classes, String ance
}
}
generateResources.dependsOn generateAccessWidener
generateResources.dependsOn generateClassTweaker
generateResources.dependsOn runDatagenClient

View file

@ -1,7 +1,7 @@
accessWidener v2 official
classTweaker v1 official
# DO NOT EDIT BY HAND! This file is generated automatically.
# Edit "template.accesswidener" instead then run "gradlew generateAccessWidener".
# Edit "template.classtweaker" instead then run "gradlew generateClassTweaker".
accessible field net/minecraft/data/DataGenerator vanillaPackOutput Lnet/minecraft/data/PackOutput;
mutable field net/minecraft/data/DataGenerator vanillaPackOutput Lnet/minecraft/data/PackOutput;
@ -53,6 +53,11 @@ accessible class net/minecraft/client/data/models/ModelProvider$ItemInfoCollecto
accessible class net/minecraft/client/data/models/ModelProvider$BlockStateGeneratorCollector
accessible field net/minecraft/client/data/models/ModelProvider$BlockStateGeneratorCollector generators Ljava/util/Map;
transitive-inject-interface net/minecraft/data/loot/BlockLootSubProvider net/fabricmc/fabric/api/datagen/v1/loot/FabricBlockLootSubProvider
transitive-inject-interface net/minecraft/data/loot/EntityLootSubProvider net/fabricmc/fabric/api/datagen/v1/loot/FabricEntityLootSubProvider
transitive-inject-interface net/minecraft/data/recipes/RecipeOutput net/fabricmc/fabric/api/datagen/v1/recipe/FabricRecipeOutput
transitive-inject-interface net/minecraft/data/tags/TagAppender net/fabricmc/fabric/api/datagen/v1/provider/FabricTagAppender<TE;TT;>
### Generated access wideners below
transitive-accessible method net/minecraft/data/recipes/RecipeProvider buildRecipes ()V

View file

@ -31,14 +31,8 @@
"environment": "client"
}
],
"accessWidener" : "fabric-data-generation-api-v1.accesswidener",
"accessWidener" : "fabric-data-generation-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/data/loot/BlockLootSubProvider": ["net/fabricmc/fabric/api/datagen/v1/loot/FabricBlockLootSubProvider"],
"net/minecraft/data/loot/EntityLootSubProvider": ["net/fabricmc/fabric/api/datagen/v1/loot/FabricEntityLootSubProvider"],
"net/minecraft/data/recipes/RecipeOutput": ["net/fabricmc/fabric/api/datagen/v1/recipe/FabricRecipeOutput"],
"net/minecraft/data/tags/TagAppender": ["net/fabricmc/fabric/api/datagen/v1/provider/FabricTagAppender<TE;TT;>"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -48,4 +48,9 @@ accessible class net/minecraft/client/data/models/ModelProvider$ItemInfoCollecto
accessible class net/minecraft/client/data/models/ModelProvider$BlockStateGeneratorCollector
accessible field net/minecraft/client/data/models/ModelProvider$BlockStateGeneratorCollector generators Ljava/util/Map;
transitive-inject-interface net/minecraft/data/loot/BlockLootSubProvider net/fabricmc/fabric/api/datagen/v1/loot/FabricBlockLootSubProvider
transitive-inject-interface net/minecraft/data/loot/EntityLootSubProvider net/fabricmc/fabric/api/datagen/v1/loot/FabricEntityLootSubProvider
transitive-inject-interface net/minecraft/data/recipes/RecipeOutput net/fabricmc/fabric/api/datagen/v1/recipe/FabricRecipeOutput
transitive-inject-interface net/minecraft/data/tags/TagAppender net/fabricmc/fabric/api/datagen/v1/provider/FabricTagAppender<TE;TT;>
### Generated access wideners below

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-entity-events-v1.classtweaker')
}
moduleDependencies(project, ['fabric-api-base'])
testDependencies(project, [

View file

@ -0,0 +1,2 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/effect/MobEffect net/fabricmc/fabric/api/entity/event/v1/effect/FabricMobEffect

View file

@ -22,10 +22,8 @@
"mixins": [
"fabric-entity-events-v1.mixins.json"
],
"accessWidener": "fabric-entity-events-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/effect/MobEffect": ["net/fabricmc/fabric/api/entity/event/v1/effect/FabricMobEffect"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-game-rule-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-game-rule-api-v1.classtweaker")
}
moduleDependencies(project, ['fabric-api-base'])

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/world/level/gamerules/GameRules$VisitorCaller
accessible class net/minecraft/client/gui/screens/worldselection/AbstractGameRulesScreen$EntryFactory

View file

@ -26,7 +26,7 @@
"environment": "client"
}
],
"accessWidener" : "fabric-game-rule-api-v1.accesswidener",
"accessWidener" : "fabric-game-rule-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-gametest-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-gametest-api-v1.classtweaker")
runs {
testmodClient {

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager$Source
accessible method net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager$Source <init> (Ljava/util/function/Function;Ljava/util/function/Supplier;)V

View file

@ -28,7 +28,7 @@
"mixins": [
"fabric-gametest-api-v1.mixins.json"
],
"accessWidener": "fabric-gametest-api-v1.accesswidener",
"accessWidener": "fabric-gametest-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-item-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-item-api-v1.classtweaker")
}
moduleDependencies(project, ['fabric-api-base', 'fabric-resource-loader-v1'])

View file

@ -1,3 +0,0 @@
accessWidener v2 official
accessible class net/minecraft/resources/RegistryLoadTask$PendingRegistration
accessible class net/minecraft/core/component/DataComponentInitializers$BakedEntry

View file

@ -0,0 +1,7 @@
classTweaker v1 official
accessible class net/minecraft/resources/RegistryLoadTask$PendingRegistration
accessible class net/minecraft/core/component/DataComponentInitializers$BakedEntry
transitive-inject-interface net/minecraft/world/item/Item net/fabricmc/fabric/api/item/v1/FabricItem
transitive-inject-interface net/minecraft/world/item/Item$Properties net/fabricmc/fabric/api/item/v1/FabricItem$Properties
transitive-inject-interface net/minecraft/world/item/ItemStack net/fabricmc/fabric/api/item/v1/FabricItemStack
transitive-inject-interface net/minecraft/core/component/DataComponentMap$Builder net/fabricmc/fabric/api/item/v1/FabricComponentMapBuilder

View file

@ -29,13 +29,7 @@
},
"description": "Hooks for items",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/item/Item": ["net/fabricmc/fabric/api/item/v1/FabricItem"],
"net/minecraft/world/item/Item\u0024Properties": ["net/fabricmc/fabric/api/item/v1/FabricItem\u0024Properties"],
"net/minecraft/world/item/ItemStack": ["net/fabricmc/fabric/api/item/v1/FabricItemStack"],
"net/minecraft/core/component/DataComponentMap\u0024Builder": ["net/fabricmc/fabric/api/item/v1/FabricComponentMapBuilder"]
}
"fabric-api:module-lifecycle": "stable"
},
"accessWidener": "fabric-item-api-v1.accesswidener"
"accessWidener": "fabric-item-api-v1.classtweaker"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-lifecycle-events-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-lifecycle-events-v1.classtweaker")
}
moduleDependencies(project, ['fabric-api-base'])

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/server/MinecraftServer$ReloadableResources
accessible class net/minecraft/client/multiplayer/ClientChunkCache$Storage
accessible method net/minecraft/client/multiplayer/ClientChunkCache$Storage inRange (II)Z

View file

@ -38,5 +38,5 @@
"custom": {
"fabric-api:module-lifecycle": "stable"
},
"accessWidener": "fabric-lifecycle-events-v1.accesswidener"
"accessWidener": "fabric-lifecycle-events-v1.classtweaker"
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-loot-api-v3.classtweaker')
}
moduleDependencies(project, [
'fabric-api-base',
'fabric-resource-loader-v1'

View file

@ -0,0 +1,3 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/level/storage/loot/LootTable$Builder net/fabricmc/fabric/api/loot/v3/FabricLootTableBuilder
transitive-inject-interface net/minecraft/world/level/storage/loot/LootPool$Builder net/fabricmc/fabric/api/loot/v3/FabricLootPoolBuilder

View file

@ -24,11 +24,8 @@
"mixins": [
"fabric-loot-api-v3.mixins.json"
],
"accessWidener": "fabric-loot-api-v3.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/level/storage/loot/LootTable\u0024Builder": ["net/fabricmc/fabric/api/loot/v3/FabricLootTableBuilder"],
"net/minecraft/world/level/storage/loot/LootPool\u0024Builder": ["net/fabricmc/fabric/api/loot/v3/FabricLootPoolBuilder"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-menu-api-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-menu-api-v1.classtweaker')
}
moduleDependencies(project, [

View file

@ -1,4 +1,4 @@
accessWidener v1 official
classTweaker v1 official
accessible class net/minecraft/world/inventory/MenuType$MenuSupplier
accessible method net/minecraft/world/inventory/MenuType <init> (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V
extendable method net/minecraft/world/inventory/MenuType <init> (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;Lnet/minecraft/world/flag/FeatureFlagSet;)V
@ -6,3 +6,4 @@ accessible class net/minecraft/client/gui/screens/MenuScreens$ScreenConstructor
accessible method net/minecraft/client/gui/screens/MenuScreens register (Lnet/minecraft/world/inventory/MenuType;Lnet/minecraft/client/gui/screens/MenuScreens$ScreenConstructor;)V
accessible method net/minecraft/client/gui/screens/MenuScreens getConstructor (Lnet/minecraft/world/inventory/MenuType;)Lnet/minecraft/client/gui/screens/MenuScreens$ScreenConstructor;
accessible field net/minecraft/world/SimpleMenuProvider menuConstructor Lnet/minecraft/world/inventory/MenuConstructor;
transitive-inject-interface net/minecraft/world/MenuProvider net/fabricmc/fabric/api/menu/v1/FabricMenuProvider

View file

@ -30,11 +30,8 @@
"mixins": [
"fabric-menu-api-v1.mixins.json"
],
"accessWidener": "fabric-menu-api-v1.accesswidener",
"accessWidener": "fabric-menu-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/MenuProvider": ["net/fabricmc/fabric/api/menu/v1/FabricMenuProvider"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -13,5 +13,5 @@ testDependencies(project, [
])
loom {
accessWidenerPath = file('src/client/resources/fabric-model-loading-api-v1.accesswidener')
accessWidenerPath = file('src/client/resources/fabric-model-loading-api-v1.classtweaker')
}

View file

@ -1,2 +0,0 @@
accessWidener v2 official
accessible class net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl

View file

@ -0,0 +1,3 @@
classTweaker v1 official
accessible class net/minecraft/client/resources/model/ModelBakery$ModelBakerImpl
transitive-inject-interface net/minecraft/client/resources/model/ModelManager net/fabricmc/fabric/api/client/model/loading/v1/FabricModelManager

View file

@ -32,11 +32,8 @@
"config": "fabric-model-loading-api-v1.mixins.json"
}
],
"accessWidener": "fabric-model-loading-api-v1.accesswidener",
"accessWidener": "fabric-model-loading-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/client/resources/model/ModelManager": ["net/fabricmc/fabric/api/client/model/loading/v1/FabricModelManager"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -9,5 +9,5 @@ testDependencies(project, [
])
loom {
accessWidenerPath = file('src/main/resources/fabric-networking-api-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-networking-api-v1.classtweaker')
}

View file

@ -1,4 +1,5 @@
accessWidener v2 official
classTweaker v1 official
accessible field net/minecraft/network/VarInt MAX_VARINT_SIZE I
accessible field net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket MAX_PAYLOAD_SIZE I
accessible field net/minecraft/network/protocol/common/ClientboundCustomPayloadPacket MAX_PAYLOAD_SIZE I
transitive-inject-interface net/minecraft/server/network/ServerConfigurationPacketListenerImpl net/fabricmc/fabric/api/networking/v1/FabricServerConfigurationPacketListenerImpl

View file

@ -24,7 +24,7 @@
"net.fabricmc.fabric.impl.networking.client.ClientNetworkingImpl::clientInit"
]
},
"accessWidener": "fabric-networking-api-v1.accesswidener",
"accessWidener": "fabric-networking-api-v1.classtweaker",
"depends": {
"fabricloader": ">=0.18.4",
"fabric-api-base": "*"
@ -38,9 +38,6 @@
}
],
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/server/network/ServerConfigurationPacketListenerImpl": [ "net/fabricmc/fabric/api/networking/v1/FabricServerConfigurationPacketListenerImpl" ]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -13,5 +13,5 @@ testDependencies(project, [
])
loom {
accessWidenerPath = file("src/main/resources/fabric-object-builder-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-object-builder-api-v1.classtweaker")
}

View file

@ -1,4 +1,4 @@
accessWidener v1 official
classTweaker v1 official
extendable method net/minecraft/world/level/block/state/BlockBehaviour$Properties <init> ()V
accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes register (Lnet/minecraft/core/Registry;Lnet/minecraft/resources/ResourceKey;Ljava/util/Set;II)Lnet/minecraft/world/entity/ai/village/poi/PoiType;
extendable class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier
@ -7,3 +7,5 @@ accessible method net/minecraft/world/entity/SpawnPlacements register (Lnet/mine
accessible field net/minecraft/world/entity/npc/villager/VillagerType BY_BIOME Ljava/util/Map;
accessible method net/minecraft/world/level/block/state/properties/WoodType register (Lnet/minecraft/world/level/block/state/properties/WoodType;)Lnet/minecraft/world/level/block/state/properties/WoodType;
accessible method net/minecraft/world/level/block/state/properties/BlockSetType register (Lnet/minecraft/world/level/block/state/properties/BlockSetType;)Lnet/minecraft/world/level/block/state/properties/BlockSetType;
transitive-inject-interface net/minecraft/world/entity/EntityType$Builder net/fabricmc/fabric/api/object/builder/v1/entity/FabricEntityType$Builder<TT;>
transitive-inject-interface net/minecraft/world/level/block/entity/BlockEntityType net/fabricmc/fabric/api/object/builder/v1/block/entity/FabricBlockEntityType

View file

@ -28,12 +28,8 @@
"environment": "client"
}
],
"accessWidener" : "fabric-object-builder-api-v1.accesswidener",
"accessWidener" : "fabric-object-builder-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/entity/EntityType\u0024Builder": ["net/fabricmc/fabric/api/object/builder/v1/entity/FabricEntityType\u0024Builder<TT;>"],
"net/minecraft/world/level/block/entity/BlockEntityType": ["net/fabricmc/fabric/api/object/builder/v1/block/entity/FabricBlockEntityType"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-particles-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-particles-v1.classtweaker")
}
moduleDependencies(project, [

View file

@ -1,6 +1,7 @@
accessWidener v1 official
classTweaker v1 official
accessible field net/minecraft/client/particle/ParticleEngine resourceManager Lnet/minecraft/client/particle/ParticleResources;
accessible field net/minecraft/client/particle/ParticleResources providers Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
accessible field net/minecraft/client/particle/ParticleResources spriteSets Ljava/util/Map;
accessible method net/minecraft/client/particle/ParticleResources$MutableSpriteSet <init> ()V
accessible field net/minecraft/client/particle/ParticleResources$MutableSpriteSet sprites Ljava/util/List;
transitive-inject-interface net/minecraft/core/particles/BlockParticleOption net/fabricmc/fabric/api/particle/v1/FabricBlockParticleOption

View file

@ -36,10 +36,7 @@
}
],
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/core/particles/BlockParticleOption": ["net/fabricmc/fabric/api/particle/v1/FabricBlockParticleOption"]
}
"fabric-api:module-lifecycle": "stable"
},
"accessWidener": "fabric-particles-v1.accesswidener"
"accessWidener": "fabric-particles-v1.classtweaker"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-recipe-api-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-recipe-api-v1.classtweaker')
}
moduleDependencies(project, [

View file

@ -1,6 +1,9 @@
accessWidener v2 official
classTweaker v1 official
extendable class net/minecraft/world/item/crafting/Ingredient
accessible method net/minecraft/world/item/crafting/Ingredient <init> (Lnet/minecraft/core/HolderSet;)V
accessible method net/minecraft/world/item/crafting/Ingredient displayForSingleItem (Lnet/minecraft/core/Holder;)Lnet/minecraft/world/item/crafting/display/SlotDisplay;
accessible field net/minecraft/network/Connection channel Lio/netty/channel/Channel;
accessible field net/minecraft/server/network/ServerLoginPacketListenerImpl connection Lnet/minecraft/network/Connection;
transitive-inject-interface net/minecraft/world/item/crafting/Ingredient net/fabricmc/fabric/api/recipe/v1/ingredient/FabricIngredient
transitive-inject-interface net/minecraft/world/item/crafting/RecipeManager net/fabricmc/fabric/api/recipe/v1/FabricRecipeManager
transitive-inject-interface net/minecraft/world/item/crafting/RecipeAccess net/fabricmc/fabric/api/recipe/v1/FabricRecipeAccess

View file

@ -22,7 +22,7 @@
"environment": "client"
}
],
"accessWidener": "fabric-recipe-api-v1.accesswidener",
"accessWidener": "fabric-recipe-api-v1.classtweaker",
"depends": {
"fabricloader": ">=0.18.4",
"fabric-networking-api-v1": "*",
@ -41,11 +41,6 @@
},
"description": "Recipe extensions such as creation of new types of recipe ingredients and recipe synchronization.",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/item/crafting/Ingredient": ["net/fabricmc/fabric/api/recipe/v1/ingredient/FabricIngredient"],
"net/minecraft/world/item/crafting/RecipeManager": ["net/fabricmc/fabric/api/recipe/v1/FabricRecipeManager"],
"net/minecraft/world/item/crafting/RecipeAccess": ["net/fabricmc/fabric/api/recipe/v1/FabricRecipeAccess"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-registry-sync-v0.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-registry-sync-v0.classtweaker")
}
moduleDependencies(project, [

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible field net/minecraft/core/MappedRegistry frozen Z
accessible method net/minecraft/core/Holder$Reference bindValue (Ljava/lang/Object;)V
accessible method net/minecraft/core/registries/BuiltInRegistries createContents ()V
@ -7,3 +7,4 @@ mutable field net/minecraft/resources/RegistryDataLoader SYNCHRONIZED_REGISTRIES
accessible field net/minecraft/core/RegistrySynchronization NETWORKABLE_REGISTRIES Ljava/util/Set;
mutable field net/minecraft/core/RegistrySynchronization NETWORKABLE_REGISTRIES Ljava/util/Set;
accessible field net/minecraft/resources/RegistryLoadTask registry Lnet/minecraft/core/WritableRegistry;
transitive-inject-interface net/minecraft/core/Registry net/fabricmc/fabric/api/event/registry/FabricRegistry

View file

@ -36,11 +36,8 @@
"net.fabricmc.fabric.impl.client.registry.sync.FabricRegistryClientInit"
]
},
"accessWidener": "fabric-registry-sync-v0.accesswidener",
"accessWidener": "fabric-registry-sync-v0.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/core/Registry": ["net/fabricmc/fabric/api/event/registry/FabricRegistry"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -18,5 +18,5 @@ testDependencies(project, [
])
loom {
accessWidenerPath = file('src/client/resources/fabric-renderer-api-v1.accesswidener')
accessWidenerPath = file('src/client/resources/fabric-renderer-api-v1.classtweaker')
}

View file

@ -1,3 +0,0 @@
accessWidener v2 official
accessible class net/minecraft/client/renderer/block/model/multipart/MultiPartModel$SharedBakedState
accessible method net/minecraft/client/resources/model/QuadCollection <init> (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V

View file

@ -0,0 +1,13 @@
classTweaker v1 official
accessible class net/minecraft/client/renderer/block/model/multipart/MultiPartModel$SharedBakedState
accessible method net/minecraft/client/resources/model/QuadCollection <init> (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
transitive-inject-interface net/minecraft/client/renderer/block/model/BlockModelPart net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockModelPart
transitive-inject-interface net/minecraft/client/renderer/block/BlockModelShaper net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockModelShaper
transitive-inject-interface net/minecraft/client/renderer/block/model/BlockStateModel net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockStateModel
transitive-inject-interface net/minecraft/client/renderer/block/ModelBlockRenderer net/fabricmc/fabric/api/client/renderer/v1/render/FabricModelBlockRenderer
transitive-inject-interface net/minecraft/client/renderer/block/BlockRenderDispatcher net/fabricmc/fabric/api/client/renderer/v1/render/FabricBlockRenderDispatcher
transitive-inject-interface net/minecraft/client/renderer/item/ItemStackRenderState$LayerRenderState net/fabricmc/fabric/api/client/renderer/v1/render/FabricLayerRenderState
transitive-inject-interface net/minecraft/client/renderer/OrderedSubmitNodeCollector net/fabricmc/fabric/api/client/renderer/v1/render/FabricOrderedSubmitNodeCollector
transitive-inject-interface net/minecraft/client/resources/model/SpriteGetter net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricSpriteGetter
transitive-inject-interface net/minecraft/client/renderer/texture/TextureAtlas net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricTextureAtlas
transitive-inject-interface net/minecraft/client/renderer/texture/SpriteLoader$Preparations net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricPreparations

View file

@ -34,20 +34,8 @@
"mixins": [
"fabric-renderer-api-v1.mixins.json"
],
"accessWidener": "fabric-renderer-api-v1.accesswidener",
"accessWidener": "fabric-renderer-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/client/renderer/block/model/BlockModelPart": ["net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockModelPart"],
"net/minecraft/client/renderer/block/BlockModelShaper": ["net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockModelShaper"],
"net/minecraft/client/renderer/block/model/BlockStateModel": ["net/fabricmc/fabric/api/client/renderer/v1/model/FabricBlockStateModel"],
"net/minecraft/client/renderer/block/ModelBlockRenderer": ["net/fabricmc/fabric/api/client/renderer/v1/render/FabricModelBlockRenderer"],
"net/minecraft/client/renderer/block/BlockRenderDispatcher": ["net/fabricmc/fabric/api/client/renderer/v1/render/FabricBlockRenderDispatcher"],
"net/minecraft/client/renderer/item/ItemStackRenderState\u0024LayerRenderState": ["net/fabricmc/fabric/api/client/renderer/v1/render/FabricLayerRenderState"],
"net/minecraft/client/renderer/OrderedSubmitNodeCollector": ["net/fabricmc/fabric/api/client/renderer/v1/render/FabricOrderedSubmitNodeCollector"],
"net/minecraft/client/resources/model/SpriteGetter": ["net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricSpriteGetter"],
"net/minecraft/client/renderer/texture/TextureAtlas": ["net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricTextureAtlas"],
"net/minecraft/client/renderer/texture/SpriteLoader\u0024Preparations": ["net/fabricmc/fabric/api/client/renderer/v1/sprite/FabricPreparations"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/client/resources/fabric-renderer-indigo.accesswidener")
accessWidenerPath = file("src/client/resources/fabric-renderer-indigo.classtweaker")
}
moduleDependencies(project, [

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/client/renderer/block/ModelBlockRenderer$CommonRenderStorage
accessible class net/minecraft/client/renderer/block/ModelBlockRenderer$AmbientOcclusionRenderStorage
accessible method net/minecraft/client/renderer/block/ModelBlockRenderer calculateShape (Lnet/minecraft/world/level/BlockAndTintGetter;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/client/renderer/block/model/BakedQuad;Lnet/minecraft/client/renderer/block/ModelBlockRenderer$CommonRenderStorage;)V

View file

@ -33,5 +33,5 @@
"custom": {
"fabric-api:module-lifecycle": "stable"
},
"accessWidener" : "fabric-renderer-indigo.accesswidener"
"accessWidener" : "fabric-renderer-indigo.classtweaker"
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/client/resources/fabric-rendering-v1.classtweaker')
}
moduleDependencies(project, [
':fabric-api-base',
':fabric-transitive-access-wideners-v1',

View file

@ -0,0 +1,18 @@
classTweaker v1 official
transitive-inject-interface com/mojang/blaze3d/pipeline/RenderPipeline net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline
transitive-inject-interface com/mojang/blaze3d/pipeline/RenderPipeline$Snippet net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline$Snippet
transitive-inject-interface com/mojang/blaze3d/pipeline/RenderPipeline$Builder net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline$Builder
transitive-inject-interface net/minecraft/client/model/Model net/fabricmc/fabric/api/client/rendering/v1/FabricModel<TS;>
transitive-inject-interface net/minecraft/client/renderer/entity/state/EntityRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/MapRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/MapRenderState$MapDecorationRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/item/ItemStackRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/item/ItemStackRenderState$LayerRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/LevelRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/block/MovingBlockRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/blockentity/state/BlockEntityRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/BlockOutlineRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/CameraRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/SkyRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/WeatherRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState
transitive-inject-interface net/minecraft/client/renderer/state/WorldBorderRenderState net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState

View file

@ -29,60 +29,8 @@
"mixins": [
"fabric-rendering-v1.mixins.json"
],
"accessWidener": "fabric-rendering-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"com/mojang/blaze3d/pipeline/RenderPipeline": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline"
],
"com/mojang/blaze3d/pipeline/RenderPipeline\u0024Snippet": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline\u0024Snippet"
],
"com/mojang/blaze3d/pipeline/RenderPipeline\u0024Builder": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderPipeline\u0024Builder"
],
"net/minecraft/client/model/Model": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricModel<TS;>"
],
"net/minecraft/client/renderer/entity/state/EntityRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/MapRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/MapRenderState\u0024MapDecorationRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/item/ItemStackRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/item/ItemStackRenderState\u0024LayerRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/LevelRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/block/MovingBlockRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/blockentity/state/BlockEntityRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/BlockOutlineRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/CameraRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/SkyRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/WeatherRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
],
"net/minecraft/client/renderer/state/WorldBorderRenderState": [
"net/fabricmc/fabric/api/client/rendering/v1/FabricRenderState"
]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-resource-conditions-api-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-resource-conditions-api-v1.classtweaker")
}
testDependencies(project, [

View file

@ -1,4 +1,4 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/resources/RegistryOps$HolderLookupAdapter
accessible class net/minecraft/resources/RegistryLoadTask$PendingRegistration
accessible field net/minecraft/resources/RegistryOps lookupProvider Lnet/minecraft/resources/RegistryOps$RegistryInfoLookup;

View file

@ -27,7 +27,7 @@
"mixins": [
"fabric-resource-conditions-api-v1.mixins.json"
],
"accessWidener": "fabric-resource-conditions-api-v1.accesswidener",
"accessWidener": "fabric-resource-conditions-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file("src/main/resources/fabric-resource-loader-v1.accesswidener")
accessWidenerPath = file("src/main/resources/fabric-resource-loader-v1.classtweaker")
}
moduleDependencies(project, ['fabric-api-base'])

View file

@ -1,5 +1,7 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/server/MinecraftServer$ReloadableResources
accessible field net/minecraft/server/packs/repository/FolderRepositorySource packSource Lnet/minecraft/server/packs/repository/PackSource;
accessible field net/minecraft/server/packs/repository/PackRepository sources Ljava/util/Set;
accessible method net/minecraft/server/packs/metadata/pack/PackMetadataSection codecForPackType (Lnet/minecraft/server/packs/PackType;)Lcom/mojang/serialization/Codec;
transitive-inject-interface net/minecraft/server/MinecraftServer net/fabricmc/fabric/api/resource/v1/DataResourceStore
transitive-inject-interface net/minecraft/server/packs/resources/Resource net/fabricmc/fabric/api/resource/v1/FabricResource

View file

@ -20,7 +20,7 @@
"fabricloader": ">=0.18.4"
},
"description": "Asset and data resource loading.",
"accessWidener": "fabric-resource-loader-v1.accesswidener",
"accessWidener": "fabric-resource-loader-v1.classtweaker",
"mixins": [
"fabric-resource-loader-v1.mixins.json",
{
@ -29,10 +29,6 @@
}
],
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/server/MinecraftServer": ["net/fabricmc/fabric/api/resource/v1/DataResourceStore"],
"net/minecraft/server/packs/resources/Resource": ["net/fabricmc/fabric/api/resource/v1/FabricResource"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1 +1,5 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-serialization-api-v1.classtweaker')
}

View file

@ -0,0 +1,3 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/world/level/storage/ValueInput net/fabricmc/fabric/api/serialization/v1/value/FabricValueInput
transitive-inject-interface net/minecraft/world/level/storage/ValueOutput net/fabricmc/fabric/api/serialization/v1/value/FabricValueOutput

View file

@ -22,11 +22,8 @@
"fabricloader": ">=0.18.4"
},
"description": "Extensions for improved serialization.",
"accessWidener": "fabric-serialization-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/world/level/storage/ValueInput": ["net/fabricmc/fabric/api/serialization/v1/value/FabricValueInput"],
"net/minecraft/world/level/storage/ValueOutput": ["net/fabricmc/fabric/api/serialization/v1/value/FabricValueOutput"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,5 +1,9 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/client/resources/fabric-sound-api-v1.classtweaker')
}
testDependencies(project, [
':fabric-api-base',
':fabric-resource-loader-v1',

View file

@ -0,0 +1,2 @@
classTweaker v1 official
transitive-inject-interface net/minecraft/client/resources/sounds/SoundInstance net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance

View file

@ -26,10 +26,8 @@
"environment": "client"
}
],
"accessWidener": "fabric-sound-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable",
"loom:injected_interfaces": {
"net/minecraft/client/resources/sounds/SoundInstance": ["net/fabricmc/fabric/api/client/sound/v1/FabricSoundInstance"]
}
"fabric-api:module-lifecycle": "stable"
}
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-tag-api-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-tag-api-v1.classtweaker')
}
moduleDependencies(project, [

View file

@ -1,3 +1,3 @@
accessWidener v2 official
classTweaker v1 official
accessible class net/minecraft/core/MappedRegistry$TagSet
accessible field net/minecraft/core/HolderSet$Named contents Ljava/util/List;

View file

@ -32,7 +32,7 @@
"mixins": [
"fabric-tag-api-v1.mixins.json"
],
"accessWidener": "fabric-tag-api-v1.accesswidener",
"accessWidener": "fabric-tag-api-v1.classtweaker",
"custom": {
"fabric-api:module-lifecycle": "stable"
}

View file

@ -1,7 +1,7 @@
version = getSubprojectVersion(project)
loom {
accessWidenerPath = file('src/main/resources/fabric-transitive-access-wideners-v1.accesswidener')
accessWidenerPath = file('src/main/resources/fabric-transitive-access-wideners-v1.classtweaker')
}
testDependencies(project, [
@ -22,15 +22,15 @@ import java.nio.file.FileSystems
import java.nio.file.Files
import java.nio.file.Path
tasks.register('generateAccessWidener') {
tasks.register('generateClassTweaker') {
doLast {
List<String> lines = new ArrayList<>();
lines.add("accessWidener v2 official")
lines.add("")
lines.add("# DO NOT EDIT BY HAND! This file is generated automatically.")
lines.add("# Edit \"template.accesswidener\" instead then run \"gradlew generateAccessWidener\".")
lines.add("# Edit \"template.classtweaker\" instead then run \"gradlew generateClassTweaker\".")
lines.add("")
lines.addAll(file("template.accesswidener").text.lines().toList())
lines.addAll(file("template.classtweaker").text.lines().toList())
Path commonJar = loom.namedMinecraftProvider.parentMinecraftProvider.commonJar.path
@ -49,7 +49,7 @@ tasks.register('generateAccessWidener') {
generateRenderPipelinesFields(lines, fs)
}
file('src/main/resources/fabric-transitive-access-wideners-v1.accesswidener').text = String.join('\n', lines) + '\n'
file('src/main/resources/fabric-transitive-access-wideners-v1.classtweaker').text = String.join('\n', lines) + '\n'
validateAccessWidener(lines)
}
@ -191,8 +191,8 @@ def validateAccessWidener(List<String> lines) {
}
if (exceptions.size() > 0) {
throw new InvalidUserDataException("\"fabric-transitive-access-wideners-v1.accesswidener\" contains non-transitive access modifiers at lines: [" + String.join(", ", exceptions) + "]")
throw new InvalidUserDataException("\"fabric-transitive-access-wideners-v1.classtweaker\" contains non-transitive access modifiers at lines: [" + String.join(", ", exceptions) + "]")
}
}
generateResources.dependsOn generateAccessWidener
generateResources.dependsOn generateClassTweaker

Some files were not shown because too many files have changed in this diff Show more