geforkt von Mirrors/Paper
89d51d5f29
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable. It should be noted that this decision does not promise all future exploits will be configurable.
64 Zeilen
2.7 KiB
Diff
64 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Mon, 6 Jul 2020 22:48:48 -0700
|
|
Subject: [PATCH] Manually inline methods in BlockPosition
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
|
|
index 3b3d81886d50ee6510ff366e11817a578c645089..541cef99113af865b995af2cfb7a1e4724dd8878 100644
|
|
--- a/src/main/java/net/minecraft/core/BlockPos.java
|
|
+++ b/src/main/java/net/minecraft/core/BlockPos.java
|
|
@@ -516,9 +516,9 @@ public class BlockPos extends Vec3i {
|
|
}
|
|
|
|
public BlockPos.MutableBlockPos set(int x, int y, int z) {
|
|
- this.setX(x);
|
|
- this.setY(y);
|
|
- this.setZ(z);
|
|
+ this.x = x; // Paper - Perf: Manually inline methods in BlockPosition
|
|
+ this.y = y; // Paper - Perf: Manually inline methods in BlockPosition
|
|
+ this.z = z; // Paper - Perf: Manually inline methods in BlockPosition
|
|
return this;
|
|
}
|
|
|
|
@@ -581,19 +581,19 @@ public class BlockPos extends Vec3i {
|
|
|
|
@Override
|
|
public BlockPos.MutableBlockPos setX(int i) {
|
|
- super.setX(i);
|
|
+ this.x = i; // Paper - Perf: Manually inline methods in BlockPosition
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public BlockPos.MutableBlockPos setY(int i) {
|
|
- super.setY(i);
|
|
+ this.y = i; // Paper - Perf: Manually inline methods in BlockPosition
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public BlockPos.MutableBlockPos setZ(int i) {
|
|
- super.setZ(i);
|
|
+ this.z = i; // Paper - Perf: Manually inline methods in BlockPosition
|
|
return this;
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/core/Vec3i.java b/src/main/java/net/minecraft/core/Vec3i.java
|
|
index 5256ff18d992250e04a6180e196c2d5d3f0928ca..369b54b96c682717ef93d05312714b4d30efaceb 100644
|
|
--- a/src/main/java/net/minecraft/core/Vec3i.java
|
|
+++ b/src/main/java/net/minecraft/core/Vec3i.java
|
|
@@ -19,9 +19,9 @@ public class Vec3i implements Comparable<Vec3i> {
|
|
return IntStream.of(vec.getX(), vec.getY(), vec.getZ());
|
|
});
|
|
public static final Vec3i ZERO = new Vec3i(0, 0, 0);
|
|
- private int x;
|
|
- private int y;
|
|
- private int z;
|
|
+ protected int x; // Paper - Perf: Manually inline methods in BlockPosition; protected
|
|
+ protected int y; // Paper - Perf: Manually inline methods in BlockPosition; protected
|
|
+ protected int z; // Paper - Perf: Manually inline methods in BlockPosition; protected
|
|
|
|
public static Codec<Vec3i> offsetCodec(int maxAbsValue) {
|
|
return ExtraCodecs.validate(CODEC, (vec) -> {
|