Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ private boolean findMethodNames(FieldNameProvider nameProvider, Analyzer<SourceV
MappingEntry mappingEntry = new MappingEntry(fieldNode.owner, fieldNode.name, fieldNode.desc);
if (attemptedProposals.contains(mappingEntry)) continue;

if (instr1.getOpcode() != Opcodes.INVOKESTATIC && instr1.getOpcode() != Opcodes.INVOKESPECIAL) continue;
if (instr1.getOpcode() != Opcodes.INVOKESTATIC && instr1.getOpcode() != Opcodes.INVOKESPECIAL && instr1.getOpcode() != Opcodes.INVOKEVIRTUAL) continue;
if (!(instr1 instanceof MethodInsnNode methodNode)) continue;

var frame = frames[i - 1];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,36 @@
package net.fabricmc.filament.nameproposal;

import java.util.List;
import java.util.Set;

import net.fabricmc.filament.nameproposal.field.nameprovider.ConditionalFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.ConstantFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.FieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.ModifyingFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.RecursiveArgumentFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.SequenceFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.nameprovider.StringArgumentFieldNameProvider;
import net.fabricmc.filament.nameproposal.field.predicate.DescriptorFieldPredicate;
import net.fabricmc.filament.nameproposal.field.predicate.InternalInitFieldPredicate;
import net.fabricmc.filament.nameproposal.field.predicate.MethodOwnerFieldPredicate;
import net.fabricmc.filament.nameproposal.field.predicate.StaticFieldPredicate;

public record NameProposalConfig(FieldNameProvider fieldNameProvider) {
// trusted owners, currently for most IDs
private static final Set<String> TRUSTED_ID_OWNERS = Set.of(
"net/minecraft/class_3612",
"net/minecraft/class_8057",
"net/minecraft/class_8173",
"net/minecraft/class_9796",
"net/minecraft/class_1_779",
"net/minecraft/class_1_780",
"net/minecraft/class_1_781",
"net/minecraft/class_1_786",
"net/minecraft/class_1_789",
"net/minecraft/class_1_793",
"net/minecraft/class_1_819"
);

public static final NameProposalConfig DEFAULT = new NameProposalConfig(new SequenceFieldNameProvider(List.of(
new ConditionalFieldNameProvider(
StringArgumentFieldNameProvider.INSTANCE,
Expand All @@ -37,21 +55,25 @@ public record NameProposalConfig(FieldNameProvider fieldNameProvider) {
InternalInitFieldPredicate.INSTANCE
)
),
new ModifyingFieldNameProvider(new ConditionalFieldNameProvider(
new RecursiveArgumentFieldNameProvider(TRUSTED_ID_OWNERS::contains),
List.of(
new StaticFieldPredicate(true),
InternalInitFieldPredicate.INSTANCE
)
), (name, field) -> switch (field.methodName()) {
case "method_1_4731" -> name + "_SMITHING_TEMPLATE";
case "method_1_4732" -> "MUSIC_DISC_" + name;
case "method_1_4733" -> name + "_POTTERY_SHERD";
case "method_1_4735" -> name + "_SPAWN_EGG";
default -> name;
}),
// Results of BlockItemTagKey#{block, item}
new ConditionalFieldNameProvider(
new RecursiveArgumentFieldNameProvider(owner -> {
// trusted owners, currently for most IDs
return owner.equals("net/minecraft/class_1_779")
|| owner.equals("net/minecraft/class_1_780")
|| owner.equals("net/minecraft/class_1_781")
|| owner.equals("net/minecraft/class_1_786")
|| owner.equals("net/minecraft/class_1_789")
|| owner.equals("net/minecraft/class_1_793")
|| owner.equals("net/minecraft/class_1_819")
|| owner.equals("net/minecraft/class_3612");
}),
new RecursiveArgumentFieldNameProvider("net/minecraft/class_1_780"::equals),
List.of(
new StaticFieldPredicate(true),
InternalInitFieldPredicate.INSTANCE
new MethodOwnerFieldPredicate("net/minecraft/class_1_782")
)
),
new ConditionalFieldNameProvider(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package net.fabricmc.filament.nameproposal.field.nameprovider;

import java.util.function.UnaryOperator;
import java.util.function.BiFunction;

import net.fabricmc.filament.nameproposal.field.FieldData;

/**
* A field name provider that delegates to another provider and modifies
* the returned name.
*/
public record ModifyingFieldNameProvider(FieldNameProvider delegate, BiFunction<String, FieldData, String> modifier) implements FieldNameProvider {
public ModifyingFieldNameProvider(FieldNameProvider delegate, UnaryOperator<String> modifier) {
this(delegate, (name, data) -> modifier.apply(name));
}

public static ModifyingFieldNameProvider prefixing(FieldNameProvider delegate, String prefix) {
return new ModifyingFieldNameProvider(delegate, name -> prefix + name);
}

public static ModifyingFieldNameProvider suffixing(FieldNameProvider delegate, String suffix) {
return new ModifyingFieldNameProvider(delegate, name -> name + suffix);
}

@Override
public String getName(FieldData field) {
String delegateName = delegate.getName(field);
return delegateName == null ? null : modifier.apply(delegateName, field);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CLASS net/minecraft/class_9799 net/minecraft/client/util/BufferAllocator
CLASS net/minecraft/class_9799 com/mojang/blaze3d/buffers/BufferAllocator
FIELD field_52078 LOGGER Lorg/slf4j/Logger;
FIELD field_52079 ALLOCATOR Lorg/lwjgl/system/MemoryUtil$MemoryAllocator;
FIELD field_52080 MIN_GROWTH I
Expand Down Expand Up @@ -40,5 +40,7 @@ CLASS net/minecraft/class_9799 net/minecraft/client/util/BufferAllocator
FIELD field_52092 closed Z
METHOD <init> (Lnet/minecraft/class_9799;JII)V
ARG 2 offset
ARG 4 size
ARG 5 clearCount
METHOD method_1_4842 getSize ()I
METHOD method_60817 getBuffer ()Ljava/nio/ByteBuffer;
81 changes: 81 additions & 0 deletions mappings/com/mojang/blaze3d/buffers/MultiDrawBuffer.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
CLASS net/minecraft/class_1_807 com/mojang/blaze3d/buffers/MultiDrawBuffer
FIELD field_1_5738 uploadedIndices Lcom/mojang/blaze3d/buffers/GpuBuffer;
FIELD field_1_5739 uploadedVertices Lcom/mojang/blaze3d/buffers/GpuBuffer;
FIELD field_1_5740 draws Ljava/util/List;
FIELD field_1_5741 indexPool Lnet/minecraft/class_1_807$class_1_810;
FIELD field_1_5742 lastDraw Lnet/minecraft/class_1_807$class_1_808;
FIELD field_1_5743 bufferBuilderForLastDraw Lnet/minecraft/class_287;
FIELD field_1_5744 allocator Lnet/minecraft/class_9799;
FIELD field_1_5745 staging Lnet/minecraft/class_1_807$class_1_810;
FIELD field_1_5746 vertexPool Lnet/minecraft/class_1_807$class_1_810;
METHOD <init> (Ljava/util/function/Supplier;I)V
ARG 1 labelGetter
ARG 2 maxSize
METHOD method_1_4944 appendDraw (Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$class_5596;)Lnet/minecraft/class_1_807$class_1_808;
ARG 1 vertexFormat
ARG 2 drawMode
METHOD method_1_4945 appendDraw (Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$class_5596;Lnet/minecraft/class_8251;)Lnet/minecraft/class_1_807$class_1_808;
ARG 1 vertexFormat
ARG 2 drawMode
ARG 3 vertexSorter
METHOD method_1_4946 collectCentroids (Lnet/minecraft/class_1_807$class_1_808;)Lnet/minecraft/class_11899;
ARG 0 multiBuffer
METHOD method_1_4947 clear ()V
METHOD method_1_4948 finish ()V
METHOD method_1_4949 finishPendingDraw ()V
METHOD method_1_4950 execute (Lnet/minecraft/class_1_807$class_1_808;)Lnet/minecraft/class_1_807$class_1_809;
ARG 1 multiBuffer
METHOD method_1_4951 appendDraw (Lnet/minecraft/class_1_807$class_1_808;)Lnet/minecraft/class_4588;
ARG 1 draw
METHOD method_1_4955 upload ()V
METHOD method_1_4956 upload (Lcom/mojang/blaze3d/systems/GpuDevice;Ljava/util/List;Lcom/mojang/blaze3d/buffers/GpuBuffer;Lcom/mojang/blaze3d/buffers/GpuBuffer;II)V
ARG 1 device
ARG 2 draws
ARG 3 vertexBuffer
ARG 4 indexBuffer
ARG 5 vertexOffset
ARG 6 indexOffset
CLASS class_1_808 MultiBuffer
FIELD field_1_5748 vertexFormat Lcom/mojang/blaze3d/vertex/VertexFormat;
FIELD field_1_5749 totalIndexCount I
FIELD field_1_5750 indexOffset I
FIELD field_1_5751 drawMode Lcom/mojang/blaze3d/vertex/VertexFormat$class_5596;
FIELD field_1_5752 vertexSorter Lnet/minecraft/class_8251;
FIELD field_1_5753 totalVertexSize I
FIELD field_1_5754 segments Ljava/util/List;
FIELD field_1_5755 totalVertexCount I
FIELD field_1_5756 vertexOffset I
METHOD <init> (Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$class_5596;Lnet/minecraft/class_8251;)V
ARG 1 vertexFormat
ARG 2 drawMode
ARG 3 vertexSorter
METHOD method_1_4957 add (Lnet/minecraft/class_9801;)V
ARG 1 buffer
METHOD method_1_4958 clear ()V
METHOD method_1_4959 getIndexType ()Lcom/mojang/blaze3d/vertex/VertexFormat$class_5595;
METHOD method_1_4960 isEmpty ()Z
CLASS class_1_809 DrawCall
CLASS class_1_810 BufferPool
FIELD field_1_5757 BUFFER_ALIGNMENT I
FIELD field_1_5758 ALLOCATION_MAX_SIZE_FACTOR I
FIELD field_1_5759 usableBuffers Ljava/util/List;
FIELD field_1_5760 labelGetter Ljava/util/function/Supplier;
FIELD field_1_5761 waitingBuffers Ljava/util/List;
FIELD field_1_5762 usage I
FIELD field_1_5763 allocatedBuffers Ljava/util/List;
METHOD <init> (Ljava/util/function/Supplier;I)V
ARG 1 labelGetter
ARG 2 usage
METHOD method_1_4961 allocate (Lcom/mojang/blaze3d/systems/GpuDevice;I)Lcom/mojang/blaze3d/buffers/GpuBuffer;
ARG 1 device
ARG 2 size
METHOD method_1_4962 finish (Lcom/mojang/blaze3d/systems/GpuDevice;)V
ARG 1 device
METHOD method_1_4963 (Lnet/minecraft/class_1_807$class_1_810$class_1_811;)Z
ARG 1 waitingBuffer
METHOD method_1_4964 getSuitableBuffer (II)Lcom/mojang/blaze3d/buffers/GpuBuffer;
ARG 1 minSize
ARG 2 maxSize
METHOD method_1_4965 claimReadyBuffers ()V
CLASS class_1_811 WaitingBuffer
METHOD method_1_4966 getIfReady ()Ljava/util/List;
35 changes: 35 additions & 0 deletions mappings/com/mojang/blaze3d/shaders/BindGroupLayout.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
CLASS net/minecraft/class_1_794 com/mojang/blaze3d/shaders/BindGroupLayout
FIELD field_1_5657 samplers Ljava/util/List;
FIELD field_1_5658 buffers Ljava/util/List;
METHOD <init> (Ljava/util/List;Ljava/util/List;)V
ARG 1 samplers
ARG 2 buffers
METHOD method_1_4832 builder ()Lnet/minecraft/class_1_794$class_1_795;
METHOD method_1_4833 validate (Ljava/util/List;)V
ARG 0 layouts
METHOD method_1_4834 getSamplers (Ljava/util/List;)Ljava/util/List;
ARG 0 layouts
METHOD method_1_4835 getBuffers (Ljava/util/List;)Ljava/util/List;
ARG 0 layouts
METHOD method_1_4836 getSamplers ()Ljava/util/List;
METHOD method_1_4837 getBuffers ()Ljava/util/List;
CLASS class_1_795 Builder
FIELD field_1_5659 samplers Ljava/util/List;
FIELD field_1_5660 buffers Ljava/util/List;
METHOD method_1_4838 build ()Lnet/minecraft/class_1_794;
METHOD method_1_4839 sampler (Ljava/lang/String;)Lnet/minecraft/class_1_794$class_1_795;
ARG 1 name
METHOD method_1_4840 buffer (Ljava/lang/String;Lnet/minecraft/class_10789;)Lnet/minecraft/class_1_794$class_1_795;
ARG 1 name
ARG 2 type
METHOD method_1_4841 buffer (Ljava/lang/String;Lnet/minecraft/class_10789;Lnet/minecraft/class_1_658;)Lnet/minecraft/class_1_794$class_1_795;
ARG 1 name
ARG 2 type
ARG 3 texelFormat
CLASS class_1_796 BufferBinding
METHOD <init> (Ljava/lang/String;Lnet/minecraft/class_1_658;)V
ARG 1 name
ARG 2 gpuFormat
METHOD <init> (Ljava/lang/String;Lnet/minecraft/class_10789;)V
ARG 1 name
ARG 2 type
1 change: 1 addition & 0 deletions mappings/com/mojang/blaze3d/systems/DeviceType.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CLASS net/minecraft/class_1_785 com/mojang/blaze3d/systems/DeviceType
3 changes: 3 additions & 0 deletions mappings/com/mojang/blaze3d/textures/TexelFormat.mapping
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
CLASS net/minecraft/class_1_658 com/mojang/blaze3d/textures/TexelFormat
FIELD field_1_3259 size I
FIELD field_1_3866 alignment I
METHOD <init> (Ljava/lang/String;III)V
ARG 3 size
ARG 4 alignment
METHOD method_1_3886 isColor ()Z
METHOD method_1_3887 hasDepth ()Z
METHOD method_1_3888 hasStencil ()Z
METHOD method_1_3889 getSize ()I
METHOD method_1_4721 getAlignment ()I
12 changes: 12 additions & 0 deletions mappings/com/mojang/blaze3d/vertex/VertexFormat.mapping
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
CLASS com/mojang/blaze3d/vertex/VertexFormat
METHOD <init> (Ljava/util/List;Ljava/util/List;Lit/unimi/dsi/fastutil/ints/IntList;I)V
ARG 1 elements
ARG 2 names
ARG 3 offsets
ARG 4 vertexSize
METHOD contains (Lcom/mojang/blaze3d/vertex/VertexFormatElement;)Z
ARG 1 element
METHOD equals (Ljava/lang/Object;)Z
ARG 1 other
METHOD getElementName (Lcom/mojang/blaze3d/vertex/VertexFormatElement;)Ljava/lang/String;
ARG 1 element
METHOD getOffset (Lcom/mojang/blaze3d/vertex/VertexFormatElement;)I
ARG 1 element
METHOD lambda$new$0 (II)I
ARG 0 a
ARG 1 b
Expand All @@ -15,6 +26,7 @@ CLASS com/mojang/blaze3d/vertex/VertexFormat
METHOD <init> (Ljava/lang/String;II)V
ARG 3 size
METHOD method_31972 smallestFor (I)Lcom/mojang/blaze3d/vertex/VertexFormat$class_5595;
ARG 0 indexCount
CLASS class_5596 DrawMode
FIELD field_27384 firstVertexCount I
COMMENT The number of vertices needed to form a first shape.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
CLASS net/minecraft/class_2985 net/minecraft/advancement/PlayerAdvancementTracker
FIELD field_1_5441 criterionProgress Ljava/util/Map;
FIELD field_13387 currentDisplayTab Lnet/minecraft/class_8779;
FIELD field_13388 progressUpdates Ljava/util/Set;
FIELD field_13390 visibleAdvancements Ljava/util/Set;
Expand All @@ -14,9 +15,15 @@ CLASS net/minecraft/class_2985 net/minecraft/advancement/PlayerAdvancementTracke
FIELD field_46074 progressMapCodec Lcom/mojang/serialization/Codec;
METHOD <init> (Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/class_3324;Lnet/minecraft/class_2989;Ljava/nio/file/Path;Lnet/minecraft/class_3222;)V
ARG 1 dataFixer
ARG 2 playerManager
ARG 3 advancementLoader
ARG 4 filePath
ARG 5 owner
METHOD method_1_4806 resetCriterionProgress ()V
METHOD method_1_4807 getOrCreateConditions (Lnet/minecraft/class_179;)Ljava/util/Map;
ARG 1 criterion
METHOD method_1_4808 getConditions (Lnet/minecraft/class_179;)Ljava/util/Map;
ARG 1 criterion
METHOD method_12872 rewardEmptyAdvancements (Lnet/minecraft/class_2989;)V
ARG 1 advancementLoader
METHOD method_12873 load (Lnet/minecraft/class_2989;)V
Expand Down Expand Up @@ -62,6 +69,8 @@ CLASS net/minecraft/class_2985 net/minecraft/advancement/PlayerAdvancementTracke
METHOD method_53637 (Lnet/minecraft/class_8779;Lnet/minecraft/class_185;)V
ARG 2 display
METHOD method_53638 beginTracking (Lnet/minecraft/class_175;Lnet/minecraft/class_2985$class_180;)V
ARG 1 criterion
ARG 2 conditionKey
METHOD method_53639 (Lnet/minecraft/class_2989;Lnet/minecraft/class_2960;Lnet/minecraft/class_167;)V
ARG 2 id
ARG 3 progress
Expand All @@ -72,8 +81,10 @@ CLASS net/minecraft/class_2985 net/minecraft/advancement/PlayerAdvancementTracke
ARG 1 entry
ARG 2 progress
METHOD method_53642 endTrackingCompleted (Lnet/minecraft/class_179;Lnet/minecraft/class_2985$class_180;)V
ARG 1 criterion
ARG 2 conditionKey
METHOD method_53643 createProgressMap ()Lnet/minecraft/class_2985$class_8780;
CLASS class_180 ConditionsContainer
CLASS class_180 ConditionKey
FIELD comp_1926 advancement Lnet/minecraft/class_8779;
FIELD comp_1927 id Ljava/lang/String;
METHOD <init> (Lnet/minecraft/class_8779;Ljava/lang/String;)V
Expand Down
9 changes: 9 additions & 0 deletions mappings/net/minecraft/block/BlockItemKey.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CLASS net/minecraft/class_1_784 net/minecraft/block/BlockItemKey
METHOD method_1_4757 ofVanilla (Ljava/lang/String;)Lnet/minecraft/class_1_784;
ARG 0 path
METHOD method_1_4758 ofVanilla (Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/class_1_784;
ARG 0 blockPath
ARG 1 itemPath
METHOD method_1_4759 of (Lnet/minecraft/class_2960;Lnet/minecraft/class_2960;)Lnet/minecraft/class_1_784;
ARG 0 blockId
ARG 1 itemId
19 changes: 19 additions & 0 deletions mappings/net/minecraft/block/BlockItemKeys.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
CLASS net/minecraft/class_1_786 net/minecraft/block/BlockItemKeys
FIELD field_1_4550 BANNERS Lnet/minecraft/class_1_727;
FIELD field_1_4555 BEDS Lnet/minecraft/class_1_727;
FIELD field_1_4609 CARPETS Lnet/minecraft/class_1_727;
FIELD field_1_4675 CONCRETES Lnet/minecraft/class_1_727;
FIELD field_1_4676 CONCRETE_POWDERS Lnet/minecraft/class_1_727;
FIELD field_1_4679 COPPER_BLOCKS Lnet/minecraft/class_1_758;
FIELD field_1_4680 COPPER_BLOCK_SEQ Lnet/minecraft/class_1_758$class_1_821;
FIELD field_1_4798 DYED_CANDLES Lnet/minecraft/class_1_727;
FIELD field_1_4799 DYED_SHULKER_BOXES Lnet/minecraft/class_1_727;
FIELD field_1_4800 DYED_TERRACOTTAS Lnet/minecraft/class_1_727;
FIELD field_1_4827 GLAZED_TERRACOTTAS Lnet/minecraft/class_1_727;
FIELD field_1_5164 STAINED_GLASSES Lnet/minecraft/class_1_727;
FIELD field_1_5165 STAINED_GLASS_PANES Lnet/minecraft/class_1_727;
FIELD field_1_5272 WOOLS Lnet/minecraft/class_1_727;
METHOD method_1_4761 ofColors (Ljava/lang/String;)Lnet/minecraft/class_1_727;
ARG 0 suffix
METHOD method_1_4762 ofOxidations (Ljava/lang/String;)Lnet/minecraft/class_1_758;
ARG 0 suffix
7 changes: 7 additions & 0 deletions mappings/net/minecraft/block/BlockKeys.mapping
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CLASS net/minecraft/class_1_781 net/minecraft/block/BlockKeys
FIELD field_1_4414 CANDLE_CAKES Lnet/minecraft/class_1_727;
FIELD field_1_4486 WALL_BANNERS Lnet/minecraft/class_1_727;
METHOD method_1_4737 of (Ljava/lang/String;)Lnet/minecraft/class_5321;
ARG 0 path
METHOD method_1_4738 ofColors (Ljava/lang/String;)Lnet/minecraft/class_1_727;
ARG 0 suffix
Loading
Loading