Skip to content

Commit 65247c8

Browse files
committed
Merge branch '1.21.1/dev' into 1.21.8
2 parents 482800e + 2e79ef9 commit 65247c8

File tree

3 files changed

+16
-19
lines changed

3 files changed

+16
-19
lines changed

common/src/main/java/com/xtracr/realcamera/compat/DisableHelper.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
import com.xtracr.realcamera.RealCameraCore;
44
import com.xtracr.realcamera.config.ConfigFile;
5-
import net.minecraft.core.Holder;
65
import net.minecraft.core.registries.BuiltInRegistries;
7-
import net.minecraft.resources.ResourceKey;
86
import net.minecraft.resources.ResourceLocation;
97
import net.minecraft.tags.TagKey;
108
import net.minecraft.world.entity.Entity;
@@ -14,7 +12,6 @@
1412

1513
import java.util.HashMap;
1614
import java.util.Map;
17-
import java.util.Optional;
1815
import java.util.function.Predicate;
1916

2017
public class DisableHelper {
@@ -41,7 +38,7 @@ public class DisableHelper {
4138
RENDER_MODEL.registerOrInBinding(player -> {
4239
Item mainHand = player.getMainHandItem().getItem();
4340
Item offHand = player.getOffhandItem().getItem();
44-
for (String pattern : ConfigFile.config().getDisableMainFeatureItems())
41+
for (String pattern : ConfigFile.config().getDisableRenderItems())
4542
if (matchesItemPattern(mainHand, pattern) || matchesItemPattern(offHand, pattern))
4643
return true;
4744
return false;
@@ -73,12 +70,7 @@ public static boolean matchesItemPattern(Item item, String pattern) {
7370
String tagId = pattern.substring(1);
7471
TagKey<Item> itemTag = TagKey.create(BuiltInRegistries.ITEM.key(), ResourceLocation.parse(tagId));
7572
return BuiltInRegistries.ITEM.get(itemTag)
76-
.map(tag -> {
77-
ResourceLocation itemLocation = BuiltInRegistries.ITEM.getKey(item);
78-
ResourceKey<Item> itemKey = ResourceKey.create(BuiltInRegistries.ITEM.key(), itemLocation);
79-
Optional<Holder.Reference<Item>> itemRef = BuiltInRegistries.ITEM.get(itemKey);
80-
return itemRef.map(tag::contains).orElse(false);
81-
})
73+
.map(tag -> tag.contains(BuiltInRegistries.ITEM.wrapAsHolder(item)))
8274
.orElse(false);
8375
}
8476
return simpleWildcardMatch(BuiltInRegistries.ITEM.getKey(item).toString(), pattern);

common/src/main/java/com/xtracr/realcamera/gui/ModelAnalyser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void computeFocusedOnTexture(int mouseX, int mouseY) {
114114
Matrix4f positionMatrix = texturePose.last().pose();
115115
Vector3f position = new Vector3f();
116116
for (BuiltRecord record : textureRecords) {
117-
int length = record.primitives()[0].length;
117+
int length = record.renderType().mode().primitiveLength;
118118
int[] xs = new int[length], ys = new int[length];
119119
for (VertexData[] primitive : record.primitives()) {
120120
for (int j = 0; j < length; j++) {

common/src/main/java/com/xtracr/realcamera/util/IterableVertexBuffer.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.mojang.blaze3d.vertex.VertexFormat;
66
import com.mojang.blaze3d.vertex.VertexFormatElement;
77
import com.xtracr.realcamera.util.VertexData.MutableVertex;
8+
import net.minecraft.util.ARGB;
89
import net.minecraft.world.phys.Vec3;
910
import org.jetbrains.annotations.NotNull;
1011

@@ -19,10 +20,10 @@
1920

2021
public class IterableVertexBuffer implements Iterable<VertexData> {
2122
private static final boolean IS_LITTLE_ENDIAN = ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN;
23+
public final int vertexCount, vertexSize;
2224
private final MutableVertex reusableVertex = VertexData.mutable();
2325
private final Iterable<VertexData[]> primitives;
2426
private final ByteBuffer buffer;
25-
private final int vertexCount, vertexSize;
2627
private final int positionOffset, colorOffset, uvOffset, overlayOffset, lightOffset, normalOffset;
2728
private final boolean hasPosition, hasColor, hasUV, hasOverlay, hasLight, hasNormal, fastFormat;
2829

@@ -72,7 +73,7 @@ public MutableVertex readVertexAt(int index, MutableVertex mutable) {
7273
mutable.x = buffer.getFloat(vertexOffset);
7374
mutable.y = buffer.getFloat(vertexOffset + 4);
7475
mutable.z = buffer.getFloat(vertexOffset + 8);
75-
mutable.argb = IS_LITTLE_ENDIAN ? buffer.getInt(vertexOffset + 12) : Integer.reverseBytes(buffer.getInt(vertexOffset + 12));
76+
mutable.argb = readColor(vertexOffset + 12);
7677
mutable.u = buffer.getFloat(vertexOffset + 16);
7778
mutable.v = buffer.getFloat(vertexOffset + 20);
7879
mutable.overlay = buffer.getInt(vertexOffset + 24);
@@ -89,7 +90,7 @@ public MutableVertex readVertexAt(int index, MutableVertex mutable) {
8990
mutable.z = buffer.getFloat(offset + 8);
9091
}
9192
if (hasColor) {
92-
mutable.argb = IS_LITTLE_ENDIAN ? buffer.getInt(vertexOffset + colorOffset) : Integer.reverseBytes(buffer.getInt(vertexOffset + colorOffset));
93+
mutable.argb = readColor(vertexOffset + colorOffset);
9394
}
9495
if (hasUV) {
9596
int offset = vertexOffset + uvOffset;
@@ -121,6 +122,10 @@ public Spliterator<VertexData> spliterator() {
121122
return new VertexSpliterator(0, vertexCount);
122123
}
123124

125+
private int readColor(int offset) {
126+
return ARGB.fromABGR(IS_LITTLE_ENDIAN ? buffer.getInt(offset) : Integer.reverseBytes(buffer.getInt(offset)));
127+
}
128+
124129
private class VertexPointer implements VertexData {
125130
protected int bytePointer = 0;
126131

@@ -150,7 +155,7 @@ public Vec3 position() {
150155

151156
@Override
152157
public int argb() {
153-
if (hasColor) return IS_LITTLE_ENDIAN ? buffer.getInt(bytePointer + colorOffset) : Integer.reverseBytes(buffer.getInt(bytePointer + colorOffset));
158+
if (hasColor) return readColor(bytePointer + colorOffset);
154159
return 0;
155160
}
156161

@@ -214,7 +219,7 @@ public VertexData asImmutable() {
214219
return new ImmutableVertex(buffer.getFloat(bytePointer),
215220
buffer.getFloat(bytePointer + 4),
216221
buffer.getFloat(bytePointer + 8),
217-
IS_LITTLE_ENDIAN ? buffer.getInt(bytePointer + 12) : Integer.reverseBytes(buffer.getInt(bytePointer + 12)),
222+
readColor(bytePointer + 12),
218223
buffer.getFloat(bytePointer + 16),
219224
buffer.getFloat(bytePointer + 20),
220225
buffer.getInt(bytePointer + 24),
@@ -321,7 +326,7 @@ public PrimitiveIterator() {
321326
for (int i = 0; i < primitiveLength; i++) {
322327
reusablePrimitive[i] = VertexData.mutable();
323328
}
324-
readVertexAt(0, reusablePrimitive[0]);
329+
if (0 < vertexCount) readVertexAt(0, reusablePrimitive[0]);
325330
}
326331

327332
@Override
@@ -348,7 +353,7 @@ public PrimitiveSpliterator(int start, int end) {
348353
for (int i = 0; i < primitiveLength; i++) {
349354
reusablePrimitive[i] = VertexData.mutable();
350355
}
351-
readVertexAt(0, reusablePrimitive[0]);
356+
if (0 < vertexCount) readVertexAt(0, reusablePrimitive[0]);
352357
}
353358

354359
@Override
@@ -407,7 +412,7 @@ private void fastReadQuadAt(int index, MutableVertex[] quad) {
407412
mutable.x = buffer.getFloat(vertexOffset);
408413
mutable.y = buffer.getFloat(vertexOffset + 4);
409414
mutable.z = buffer.getFloat(vertexOffset + 8);
410-
mutable.argb = IS_LITTLE_ENDIAN ? buffer.getInt(vertexOffset + 12) : Integer.reverseBytes(buffer.getInt(vertexOffset + 12));
415+
mutable.argb = readColor(vertexOffset + 12);
411416
mutable.u = buffer.getFloat(vertexOffset + 16);
412417
mutable.v = buffer.getFloat(vertexOffset + 20);
413418
mutable.overlay = buffer.getInt(vertexOffset + 24);

0 commit comments

Comments
 (0)