mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-27 18:59:06 +00:00
Rebase
This commit is contained in:
@@ -656,7 +656,7 @@ index 2bdd46350317a9fadf362b1a341993c92d7a9651..7b5d96670c6818949a0be556b547347e
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe03290db2 100644
|
||||
index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..4487045d031948e01c37ec91a5114fc1e8909cf2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -55,14 +55,16 @@ public class Explosion {
|
||||
@@ -767,7 +767,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
++i;
|
||||
}
|
||||
|
||||
@@ -141,34 +206,75 @@ public class Explosion {
|
||||
@@ -141,34 +206,79 @@ public class Explosion {
|
||||
return;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -806,9 +806,9 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
+ {
|
||||
+ {
|
||||
+ {
|
||||
+ double d0 = BLOCK_RAYCAST_VECTORS[0];
|
||||
+ double d1 = BLOCK_RAYCAST_VECTORS[1];
|
||||
+ double d2 = BLOCK_RAYCAST_VECTORS[2];
|
||||
+ double d0 = BLOCK_RAYCAST_VECTORS[i];
|
||||
+ double d1 = BLOCK_RAYCAST_VECTORS[i + 1];
|
||||
+ double d2 = BLOCK_RAYCAST_VECTORS[i + 2];
|
||||
|
||||
- d0 /= d3;
|
||||
- d1 /= d3;
|
||||
@@ -850,6 +850,10 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
+ lastChunkZ = chunkZ;
|
||||
+ }
|
||||
+
|
||||
+ prevX = blockX;
|
||||
+ prevY = blockY;
|
||||
+ prevZ = blockZ;
|
||||
+
|
||||
+ mutableBlockPos.set(blockX, blockY, blockZ);
|
||||
+
|
||||
+ BlockPos blockposition = mutableBlockPos;
|
||||
@@ -859,7 +863,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
FluidState fluid = iblockdata.getFluidState(); // Paper
|
||||
|
||||
if (!this.level.isInWorldBounds(blockposition)) {
|
||||
@@ -181,8 +287,9 @@ public class Explosion {
|
||||
@@ -181,8 +291,9 @@ public class Explosion {
|
||||
f -= ((Float) optional.get() + 0.3F) * 0.3F;
|
||||
}
|
||||
|
||||
@@ -870,7 +874,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
// Paper start - prevent headless pistons from forming
|
||||
if (!io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowHeadlessPistons && iblockdata.getBlock() == Blocks.MOVING_PISTON) {
|
||||
BlockEntity extension = this.level.getBlockEntity(blockposition);
|
||||
@@ -193,21 +300,25 @@ public class Explosion {
|
||||
@@ -193,21 +304,25 @@ public class Explosion {
|
||||
}
|
||||
// Paper end
|
||||
}
|
||||
@@ -903,7 +907,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
int l = Mth.floor(this.y - (double) f2 - 1.0D);
|
||||
int i1 = Mth.floor(this.y + (double) f2 + 1.0D);
|
||||
int j1 = Mth.floor(this.z - (double) f2 - 1.0D);
|
||||
@@ -254,7 +365,7 @@ public class Explosion {
|
||||
@@ -254,7 +369,7 @@ public class Explosion {
|
||||
// Calculate damage separately for each EntityComplexPart
|
||||
double d7part;
|
||||
if (list.contains(entityComplexPart) && (d7part = Math.sqrt(entityComplexPart.distanceToSqr(vec3d)) / f2) <= 1.0D) {
|
||||
@@ -912,7 +916,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
entityComplexPart.hurt(this.getDamageSource(), (float) ((int) ((d13part * d13part + d13part) / 2.0D * 7.0D * (double) f2 + 1.0D)));
|
||||
}
|
||||
}
|
||||
@@ -362,6 +473,12 @@ public class Explosion {
|
||||
@@ -362,6 +477,12 @@ public class Explosion {
|
||||
this.wasCanceled = true;
|
||||
return;
|
||||
}
|
||||
@@ -925,7 +929,7 @@ index 3cb5306a2ccfc1c53f90ecd56980d17be4042093..3a622a84b3846e368b099a27bbc44afe
|
||||
// CraftBukkit end
|
||||
objectlistiterator = this.toBlow.iterator();
|
||||
|
||||
@@ -525,15 +642,22 @@ public class Explosion {
|
||||
@@ -525,15 +646,22 @@ public class Explosion {
|
||||
private BlockInteraction() {}
|
||||
}
|
||||
// Paper start - Optimize explosions
|
||||
|
||||
@@ -124,10 +124,10 @@ index a8008c7550488be34b51f4280f5569170b1ebd1d..2e5c4d610d648ec8608ff0e5bbe0f3b2
|
||||
@Override
|
||||
public String getDescriptionId() {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 3a622a84b3846e368b099a27bbc44afe03290db2..1f0e98d8cfb93511be2841dd4823a9006f8be8be 100644
|
||||
index 4487045d031948e01c37ec91a5114fc1e8909cf2..97ebbb51773d7da046687ec00d16b3e4a8d569d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -283,6 +283,16 @@ public class Explosion {
|
||||
@@ -287,6 +287,16 @@ public class Explosion {
|
||||
|
||||
Optional<Float> optional = this.damageCalculator.getBlockExplosionResistance(this, this.level, blockposition, iblockdata, fluid);
|
||||
|
||||
@@ -144,7 +144,7 @@ index 3a622a84b3846e368b099a27bbc44afe03290db2..1f0e98d8cfb93511be2841dd4823a900
|
||||
if (optional.isPresent()) {
|
||||
f -= ((Float) optional.get() + 0.3F) * 0.3F;
|
||||
}
|
||||
@@ -487,6 +497,16 @@ public class Explosion {
|
||||
@@ -491,6 +501,16 @@ public class Explosion {
|
||||
BlockState iblockdata = this.level.getBlockState(blockposition);
|
||||
Block block = iblockdata.getBlock();
|
||||
// CraftBukkit start - TNTPrimeEvent
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Destroy Waterlogged Blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 1f0e98d8cfb93511be2841dd4823a9006f8be8be..13606d7165bb2df19a45f95536f85fcad17c1375 100644
|
||||
index 97ebbb51773d7da046687ec00d16b3e4a8d569d5..40730373a60f2939e8c2ff261f75bd0abf454732 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -281,6 +281,12 @@ public class Explosion {
|
||||
@@ -285,6 +285,12 @@ public class Explosion {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Consistent Explosion Radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 13606d7165bb2df19a45f95536f85fcad17c1375..b017d33ece7563af8fc4d5fdc080b6b8bda79c7d 100644
|
||||
index 40730373a60f2939e8c2ff261f75bd0abf454732..81efe2985e3379b1dac2af797ae5ad6708e8bdcd 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -235,7 +235,7 @@ public class Explosion {
|
||||
double d1 = BLOCK_RAYCAST_VECTORS[1];
|
||||
double d2 = BLOCK_RAYCAST_VECTORS[2];
|
||||
double d1 = BLOCK_RAYCAST_VECTORS[i + 1];
|
||||
double d2 = BLOCK_RAYCAST_VECTORS[i + 2];
|
||||
|
||||
- float f = this.radius * (0.7F + this.level.random.nextFloat() * 0.6F);
|
||||
+ float f = this.radius * (0.7F + (this.level.sakuraConfig().cannons.explosion.consistentRadius ? 0.7F : this.level.random.nextFloat()) * 0.6F); // Sakura
|
||||
|
||||
@@ -445,11 +445,7 @@ index aa65887b72a96d87f0cad98047deffd01d60ec3f..c3c053884101b818274400f0ebcd6690
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
<<<<<<< HEAD:patches/server/0039-Configure-cannon-physics-by-version.patch
|
||||
index b017d33ece7563af8fc4d5fdc080b6b8bda79c7d..8646302289669685cd44bb70231a110b4b09affc 100644
|
||||
=======
|
||||
index 5a10afb92fd62f433be9be6751e5222f3666c9f3..560893581a2547082ab71def32d7ae089d73c261 100644
|
||||
>>>>>>> e640167 (Fix wrong raytrace method used in getSeenPercent):patches/server/0040-Configure-cannon-physics-by-version.patch
|
||||
index 81efe2985e3379b1dac2af797ae5ad6708e8bdcd..a7e9a7bcf659203045bcff3b20fc3e05c9d1d6bc 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -68,6 +68,7 @@ public class Explosion {
|
||||
@@ -488,7 +484,7 @@ index 5a10afb92fd62f433be9be6751e5222f3666c9f3..560893581a2547082ab71def32d7ae08
|
||||
// Sakura end
|
||||
++i;
|
||||
}
|
||||
@@ -278,6 +288,10 @@ public class Explosion {
|
||||
@@ -282,6 +292,10 @@ public class Explosion {
|
||||
FluidState fluid = iblockdata.getFluidState(); // Paper
|
||||
|
||||
if (!this.level.isInWorldBounds(blockposition)) {
|
||||
@@ -499,7 +495,7 @@ index 5a10afb92fd62f433be9be6751e5222f3666c9f3..560893581a2547082ab71def32d7ae08
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -350,10 +364,17 @@ public class Explosion {
|
||||
@@ -354,10 +368,17 @@ public class Explosion {
|
||||
|
||||
if (d7 <= 1.0D) {
|
||||
double d8 = entity.getX() - this.x;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow explosions to destroy lava
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 8646302289669685cd44bb70231a110b4b09affc..8dd53e7c714657fe357757cdbfdfd7182b8a73eb 100644
|
||||
index a7e9a7bcf659203045bcff3b20fc3e05c9d1d6bc..3663575a27b21b01c54d9314282f47fd748e5f38 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -136,6 +136,12 @@ public class Explosion {
|
||||
@@ -21,7 +21,7 @@ index 8646302289669685cd44bb70231a110b4b09affc..8dd53e7c714657fe357757cdbfdfd718
|
||||
float power = radius * 1.3f;
|
||||
float blockRes = state.getBlock().getExplosionResistance();
|
||||
float fluidRes = state.getFluidState().getExplosionResistance();
|
||||
@@ -313,6 +319,12 @@ public class Explosion {
|
||||
@@ -317,6 +323,12 @@ public class Explosion {
|
||||
}
|
||||
// Sakura end
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add explosions dropping items config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 8dd53e7c714657fe357757cdbfdfd7182b8a73eb..fda0aeae04276ff9ac3b041895f1344e8c6dd6fe 100644
|
||||
index 3663575a27b21b01c54d9314282f47fd748e5f38..310a6b14a12e9c7ba04ee7178aae509db368f92f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -585,6 +585,12 @@ public class Explosion {
|
||||
@@ -589,6 +589,12 @@ public class Explosion {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samsuik <kfian294ma4@gmail.com>
|
||||
Date: Sun, 21 Jan 2024 22:12:30 +0000
|
||||
Subject: [PATCH] fixup! Optimised Explosions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index fda0aeae04276ff9ac3b041895f1344e8c6dd6fe..cd5ba771bd11549f9a9c2c03a31479d236f24e02 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -247,9 +247,9 @@ public class Explosion {
|
||||
{
|
||||
{
|
||||
{
|
||||
- double d0 = BLOCK_RAYCAST_VECTORS[0];
|
||||
- double d1 = BLOCK_RAYCAST_VECTORS[1];
|
||||
- double d2 = BLOCK_RAYCAST_VECTORS[2];
|
||||
+ double d0 = BLOCK_RAYCAST_VECTORS[i];
|
||||
+ double d1 = BLOCK_RAYCAST_VECTORS[i + 1];
|
||||
+ double d2 = BLOCK_RAYCAST_VECTORS[i + 2];
|
||||
|
||||
float f = this.radius * (0.7F + (this.level.sakuraConfig().cannons.explosion.consistentRadius ? 0.7F : this.level.random.nextFloat()) * 0.6F); // Sakura
|
||||
double d4 = this.x;
|
||||
@@ -1,21 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samsuik <kfian294ma4@gmail.com>
|
||||
Date: Sun, 21 Jan 2024 23:14:26 +0000
|
||||
Subject: [PATCH] fixup! Optimised Explosions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index cd5ba771bd11549f9a9c2c03a31479d236f24e02..ee62cf3c8bbfdbf4bf6257322306bba232174380 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -285,6 +285,10 @@ public class Explosion {
|
||||
lastChunkZ = chunkZ;
|
||||
}
|
||||
|
||||
+ prevX = blockX;
|
||||
+ prevY = blockY;
|
||||
+ prevZ = blockZ;
|
||||
+
|
||||
mutableBlockPos.set(blockX, blockY, blockZ);
|
||||
|
||||
BlockPos blockposition = mutableBlockPos;
|
||||
Reference in New Issue
Block a user