Config for wither explosion radius (closes #265)

This commit is contained in:
Ben Kerllenevich
2021-04-29 14:43:34 -04:00
parent c5c9527ecc
commit 1099c24ce5
6 changed files with 57 additions and 18 deletions

View File

@@ -13843,10 +13843,10 @@ index 300884804bf9ac3fba7c30a04d8adf52e3dd2e3e..b28995ecfd7f45e6b6197be96c418aa0
}
}
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb8a9423de 100644
index 87722285690d9d3370610e2a2eb809e0d1f497c9..1746a8c1750b494c47f9f46e83b248d8129d2630 100644
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
@@ -55,14 +55,29 @@ public class PlayerInteractManager {
@@ -56,14 +56,29 @@ public class PlayerInteractManager {
private EnumGamemode gamemode;
private EnumGamemode e;
private boolean f;
@@ -13879,7 +13879,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
public PlayerInteractManager(WorldServer worldserver) {
this.gamemode = EnumGamemode.NOT_SET;
this.e = EnumGamemode.NOT_SET;
@@ -118,7 +133,7 @@ public class PlayerInteractManager {
@@ -119,7 +134,7 @@ public class PlayerInteractManager {
if (iblockdata == null || iblockdata.isAir()) { // Paper
this.j = false;
} else {
@@ -13888,7 +13888,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
if (f >= 1.0F) {
this.j = false;
@@ -138,7 +153,7 @@ public class PlayerInteractManager {
@@ -139,7 +154,7 @@ public class PlayerInteractManager {
this.m = -1;
this.f = false;
} else {
@@ -13897,7 +13897,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
}
}
@@ -146,6 +161,12 @@ public class PlayerInteractManager {
@@ -147,6 +162,12 @@ public class PlayerInteractManager {
private float a(IBlockData iblockdata, BlockPosition blockposition, int i) {
int j = this.currentTick - i;
@@ -13910,7 +13910,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
float f = iblockdata.getDamage(this.player, this.player.world, blockposition) * (float) (j + 1);
int k = (int) (f * 10.0F);
@@ -213,7 +234,7 @@ public class PlayerInteractManager {
@@ -214,7 +235,7 @@ public class PlayerInteractManager {
return;
}
@@ -13919,7 +13919,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
float f = 1.0F;
iblockdata = this.world.getType(blockposition);
@@ -266,12 +287,12 @@ public class PlayerInteractManager {
@@ -267,12 +288,12 @@ public class PlayerInteractManager {
int j = (int) (f * 10.0F);
this.world.a(this.player.getId(), blockposition, j);
@@ -13934,7 +13934,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
iblockdata = this.world.getType(blockposition);
if (!iblockdata.isAir()) {
@@ -288,12 +309,18 @@ public class PlayerInteractManager {
@@ -289,12 +310,18 @@ public class PlayerInteractManager {
this.f = false;
this.j = true;
this.k = blockposition;
@@ -13954,7 +13954,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
} else if (packetplayinblockdig_enumplayerdigtype == PacketPlayInBlockDig.EnumPlayerDigType.ABORT_DESTROY_BLOCK) {
this.f = false;
if (!Objects.equals(this.h, blockposition) && !BlockPosition.ZERO.equals(this.h)) {
@@ -305,7 +332,7 @@ public class PlayerInteractManager {
@@ -306,7 +333,7 @@ public class PlayerInteractManager {
}
this.world.a(this.player.getId(), blockposition, -1);
@@ -13963,7 +13963,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb
}
}
@@ -315,7 +342,13 @@ public class PlayerInteractManager {
@@ -316,7 +343,13 @@ public class PlayerInteractManager {
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) {
if (this.breakBlock(blockposition)) {
@@ -15022,10 +15022,10 @@ index 47fbb8df04b2b77e10314666e87eaef621cffb3b..58e61aa19d71011c40c69a691f5644b3
optional.ifPresent((villageplacetype) -> {
this.getMinecraftServer().execute(() -> {
diff --git a/src/main/java/net/minecraft/server/network/LoginListener.java b/src/main/java/net/minecraft/server/network/LoginListener.java
index 185667110cd6f566b23546728d20fc79223f3c92..dc98ef48a664d9ee2a302fff8c611fd16dc704b6 100644
index c67b94840e4c967baebf6eb351df15f0e4ead4be..ed836462123efc6903e406fa926e55e1cedddb95 100644
--- a/src/main/java/net/minecraft/server/network/LoginListener.java
+++ b/src/main/java/net/minecraft/server/network/LoginListener.java
@@ -255,7 +255,7 @@ public class LoginListener implements PacketLoginInListener {
@@ -256,7 +256,7 @@ public class LoginListener implements PacketLoginInListener {
s = (new BigInteger(MinecraftEncryption.a("", this.server.getKeyPair().getPublic(), this.loginKey))).toString(16);
this.g = LoginListener.EnumProtocolState.AUTHENTICATING;
@@ -20876,7 +20876,7 @@ index 03b8d67a5f0088c0254b2099f27e8dcae32a6221..fd3333fef4112e6469ccd316ba2c8292
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 80de9f687d9acd7425e7c8a453c2759450869497..29f2c253e420a400736eec54f0e9c80bcc621fa1 100644
index 3b3eda95c0ff8b129adedbae6561bba2d01c2f3a..02807cc1fe14e747a7c18edf0fcdc38630cc4e9f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -298,7 +298,7 @@ public class CraftWorld implements World {

View File

@@ -4469,7 +4469,7 @@ index 16d5cae64887b82e67eeb61ccb714e6125ff0c09..dc1ca7b334e89b4d0be775b6f6e6f422
this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(0.0D);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
index bfecaa56c3d93436d71082f1398e0ceb12336e38..0294ab119407dc45a40c8444fb5a91e154017234 100644
index 49523302dd72a3dafab23c047412a2e77b6247ed..4b5c1691664f16594f316e55576086f2ae54e59e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
@@ -12,6 +12,7 @@ import net.minecraft.nbt.NBTTagCompound;

View File

@@ -982,7 +982,7 @@ index dc1ca7b334e89b4d0be775b6f6e6f4222ea02dcc..80c3cd540a46e249e85586e8d7a2f0f6
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
index 0294ab119407dc45a40c8444fb5a91e154017234..a735ac7644f8fe6924349fbd9e8984f678d0b9c2 100644
index 4b5c1691664f16594f316e55576086f2ae54e59e..24367e08c7a94ffdb80d098cf822c278e4e3fe70 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java
@@ -82,6 +82,11 @@ public class EntityShulker extends EntityGolem implements IMonster {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
index 238e143277eb75db6d96e1c52db810eb8a9423de..ddff3a31a564cddcebad4531ca1db66fd0949796 100644
index 1746a8c1750b494c47f9f46e83b248d8129d2630..7302554063ac7b5dedaff895cba33b70234008e6 100644
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
@@ -409,6 +409,8 @@ public class PlayerInteractManager {
@@ -410,6 +410,8 @@ public class PlayerInteractManager {
}
return false;
}

View File

@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DoctaEnkoda <bierquejason@gmail.com>
Date: Thu, 29 Apr 2021 19:37:48 +0200
Subject: [PATCH] Config to change the max number of bees
Subject: [PATCH] Config to change max number of bees
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java

View File

@@ -0,0 +1,39 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ben Kerllenevich <me@notom3ga.me>
Date: Thu, 29 Apr 2021 14:39:07 -0400
Subject: [PATCH] Config for wither explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java
index 616b5267d1d94b2be37ec48983b45e4478502fb5..052cffb156e4e6f31df3935fd8312eb37e3b7019 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java
@@ -98,7 +98,7 @@ public class EntityWitherSkull extends EntityFireball {
// CraftBukkit start
// this.world.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect);
- ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 1.0F, false);
+ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), world.purpurConfig.witherExplosionRadius, false); // Purpur
this.world.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 78e39c9424c296bf07f89d63ce42b02b96c2cd35..69d6ced8e583a3a0625ced9d444caca21fa80723 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1901,6 +1901,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
public boolean witherCanRideVehicles = false;
+ public float witherExplosionRadius = 1.0F;
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1919,6 +1920,7 @@ public class PurpurWorldConfig {
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
+ witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
}
public boolean witherSkeletonRidable = false;