Add TAW for RenderLayer.MultiPhaseParameters.Builder methods & RenderPipelines snippets ()

* Access widen RenderLayer.MultiPhaseParameters.Build methods

* More TAWs
This commit is contained in:
modmuss 2025-03-22 13:01:44 +00:00 committed by GitHub
parent 578999f7f5
commit f17a180c96
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 70 additions and 0 deletions
fabric-transitive-access-wideners-v1

View file

@ -49,6 +49,10 @@ tasks.register('generateAccessWidener') {
generateRenderPhaseFields(lines, fs)
lines.add("")
generateRenderPhaseInnerClasses(lines, fs)
lines.add("")
generateRenderLayerBuilderMethods(lines, fs)
lines.add("")
generateRenderPipelinesFields(lines, fs)
}
file('src/main/resources/fabric-transitive-access-wideners-v1.accesswidener').text = String.join('\n', lines) + '\n'
@ -131,6 +135,38 @@ def generateRenderPhaseInnerClasses(List<String> lines, FileSystem fs) {
}
}
def generateRenderLayerBuilderMethods(List<String> lines, FileSystem fs) {
lines.add("# Protected methods of RenderLayer.MultiPhaseParameters.Builder")
def node = loadClass(fs.getPath("net/minecraft/client/render/RenderLayer\$MultiPhaseParameters\$Builder.class"))
for (def method : node.methods) {
// All protected inner methods of MultiPhaseParameters.Builder
if ((method.access & Opcodes.ACC_PROTECTED) != 0) {
lines.add("transitive-accessible method $node.name $method.name $method.desc")
}
}
}
def generateRenderPipelinesFields(List<String> lines, FileSystem fs) {
lines.add("# private fields of RenderPipelines")
def node = loadClass(fs.getPath("net/minecraft/client/gl/RenderPipelines.class"))
for (def field : node.fields) {
// All private fields of RenderPipelines of type RenderPipeline.Snippet
if ((field.access & Opcodes.ACC_PRIVATE) != 0 && field.desc == "Lcom/mojang/blaze3d/pipeline/RenderPipeline\$Snippet;") {
lines.add("transitive-accessible field $node.name ${field.name} ${field.desc}")
}
}
for (def method : node.methods) {
if ((method.access & Opcodes.ACC_PRIVATE) != 0 && (method.access & Opcodes.ACC_STATIC) != 0) {
lines.add("transitive-accessible method $node.name $method.name $method.desc")
}
}
}
def generateTrackedDataFields(String className, List<String> lines, FileSystem fs, String... extraMethods) {
// using a set to prevent duplicates from multiple dataTracker references in a single method
// linked to preserve order and improve generated access widener readability

View file

@ -327,3 +327,37 @@ transitive-accessible class net/minecraft/client/render/RenderPhase$Target
transitive-accessible class net/minecraft/client/render/RenderPhase$LineWidth
transitive-accessible class net/minecraft/client/render/RenderPhase$OffsetTexturing
transitive-accessible class net/minecraft/client/render/RenderPhase$Textures
# Protected methods of RenderLayer.MultiPhaseParameters.Builder
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder texture (Lnet/minecraft/client/render/RenderPhase$TextureBase;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder lightmap (Lnet/minecraft/client/render/RenderPhase$Lightmap;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder overlay (Lnet/minecraft/client/render/RenderPhase$Overlay;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder layering (Lnet/minecraft/client/render/RenderPhase$Layering;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder target (Lnet/minecraft/client/render/RenderPhase$Target;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder texturing (Lnet/minecraft/client/render/RenderPhase$Texturing;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder lineWidth (Lnet/minecraft/client/render/RenderPhase$LineWidth;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder build (Z)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
transitive-accessible method net/minecraft/client/render/RenderLayer$MultiPhaseParameters$Builder build (Lnet/minecraft/client/render/RenderLayer$OutlineMode;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
# private fields of RenderPipelines
transitive-accessible field net/minecraft/client/gl/RenderPipelines MATRICES_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines FOG_NO_COLOR_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines FOG_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines MATRICES_COLOR_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines MATRICES_COLOR_FOG_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines MATRICES_COLOR_FOG_OFFSET_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines MATRICES_COLOR_FOG_LIGHT_DIR_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines TERRAIN_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines ENTITY_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines RENDERTYPE_BEACON_BEAM_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines TEXT_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines RENDERTYPE_END_PORTAL_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines RENDERTYPE_CLOUDS_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines RENDERTYPE_LINES_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines POSITION_COLOR_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines PARTICLE_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines WEATHER_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines GUI_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines POSITION_TEX_COLOR_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible field net/minecraft/client/gl/RenderPipelines RENDERTYPE_OUTLINE_SNIPPET Lcom/mojang/blaze3d/pipeline/RenderPipeline$Snippet;
transitive-accessible method net/minecraft/client/gl/RenderPipelines register (Lcom/mojang/blaze3d/pipeline/RenderPipeline;)Lcom/mojang/blaze3d/pipeline/RenderPipeline;