geforkt von Mirrors/Paper
08f3fce0ba
Shift the sample points so they are centered on the entity, eliminating the directional bias of the explosion force
34 Zeilen
1.7 KiB
Diff
34 Zeilen
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
Date: Wed, 6 Aug 2014 18:17:41 -0400
|
|
Subject: [PATCH] Fix directional TNT bias
|
|
|
|
More information at https://bugs.mojang.com/browse/MC-65697
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
|
double d1 = 1.0D / ((axisalignedbb.e - axisalignedbb.b) * 2.0D + 1.0D);
|
|
double d2 = 1.0D / ((axisalignedbb.f - axisalignedbb.c) * 2.0D + 1.0D);
|
|
|
|
+ // PaperSpigot start - Fix TNT directional bias
|
|
+ // Shift the sample points so they are centered on the BB, to avoid directional bias
|
|
+ double xOffset = (1.0 - Math.floor(1.0 / d0) * d0) / 2.0;
|
|
+ double zOffset = (1.0 - Math.floor(1.0 / d2) * d2) / 2.0;
|
|
+ // PaperSpigot end
|
|
+
|
|
if (d0 >= 0.0D && d1 >= 0.0D && d2 >= 0.0D) {
|
|
int i = 0;
|
|
int j = 0;
|
|
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
|
double d4 = axisalignedbb.b + (axisalignedbb.e - axisalignedbb.b) * (double) f1;
|
|
double d5 = axisalignedbb.c + (axisalignedbb.f - axisalignedbb.c) * (double) f2;
|
|
|
|
- if (this.a(vec3d2.b(d3, d4, d5), vec3d) == null) { // CraftBukkit
|
|
+ if (this.a(vec3d2.b(xOffset + d3, d4, zOffset + d5), vec3d) == null) { // CraftBukkit // PaperSpigot
|
|
++i;
|
|
}
|
|
|
|
--
|