mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
i love doing more patches
This commit is contained in:
@@ -5,10 +5,10 @@ Subject: [PATCH] Phantom flames on swoop
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 789224c6285cde2009e000d98e190c36459f04e8..26ef372ddeb707ad0962297ce736c245f713d9f2 100644
|
||||
index edb28f9424af0d1973231729785b6ec67b599dbd..c3fde22e1cf98881da66e70870ced65f0ce0abc3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -227,6 +227,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -226,6 +226,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
this.level.addParticle(ParticleTypes.MYCELIUM, this.getX() - (double) f2, this.getY() + (double) f4, this.getZ() - (double) f3, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index 789224c6285cde2009e000d98e190c36459f04e8..26ef372ddeb707ad0962297ce736c245
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 0bf9306bb31e975101dccc3df4c776f16af84391..c9218a478d5955b5add90cf21e2d8df77a0c6e08 100644
|
||||
index f690607739f7f040d633dc64632ecd514c5b601e..4f0ae9c4fa903b476e2a6c47632daf52bb0202f5 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1204,6 +1204,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1180,6 +1180,7 @@ public class PurpurWorldConfig {
|
||||
public float phantomFlameDamage = 1.0F;
|
||||
public int phantomFlameFireTime = 8;
|
||||
public boolean phantomAllowGriefing = false;
|
||||
@@ -28,7 +28,7 @@ index 0bf9306bb31e975101dccc3df4c776f16af84391..c9218a478d5955b5add90cf21e2d8df7
|
||||
public double phantomMaxHealth = 20.0D;
|
||||
public double phantomAttackedByCrystalRadius = 0.0D;
|
||||
public float phantomAttackedByCrystalDamage = 1.0F;
|
||||
@@ -1230,6 +1231,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1206,6 +1207,7 @@ public class PurpurWorldConfig {
|
||||
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
|
||||
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
|
||||
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option for chests to open even with a solid block on top
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/ChestBlock.java b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
|
||||
index 1891cfb8f7ebae5a95a55f706bb04f8206121d32..5d4c26ca9db5f36626f64ba4b0965a43823c81d3 100644
|
||||
index db726697b00afdee6078849fd224263483349912..c808664a67a9604e40ab388c6d0e6ac3c13f57ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/ChestBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
|
||||
@@ -356,6 +356,7 @@ public class ChestBlock extends AbstractChestBlock<ChestBlockEntity> implements
|
||||
@@ -17,10 +17,10 @@ index 1891cfb8f7ebae5a95a55f706bb04f8206121d32..5d4c26ca9db5f36626f64ba4b0965a43
|
||||
|
||||
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c9218a478d5955b5add90cf21e2d8df77a0c6e08..27f37620f3eda28bc3a8834fd335aeeac38ccbf5 100644
|
||||
index 4f0ae9c4fa903b476e2a6c47632daf52bb0202f5..d887e7db69a7d57ebfe8bfe79d032e83ab70259a 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -442,6 +442,11 @@ public class PurpurWorldConfig {
|
||||
@@ -418,6 +418,11 @@ public class PurpurWorldConfig {
|
||||
caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement TPSBar
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 4308cf798c7f97532ee56369a11afe4dbf7a898f..d734addd622f6d429a79df08310bce562db3425e 100644
|
||||
index d054bee8c7c6f6bf608252f21b2f5192b59c086c..12f5e8b11fad04a1fec717b68fbbf80efa3705bc 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -201,6 +201,7 @@ public class Commands {
|
||||
@@ -208,6 +208,7 @@ public class Commands {
|
||||
net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
@@ -17,10 +17,10 @@ index 4308cf798c7f97532ee56369a11afe4dbf7a898f..d734addd622f6d429a79df08310bce56
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 688a80485ae28361b993a4de4019ae9794989982..63476c39ca2f78e0e53729325220196be5932dde 100644
|
||||
index 5c1d9e9af0efe1b83edf2c47574c67ae8d3c064e..e35b469133dc8bdac02e97f8d0792690e568e31c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1142,6 +1142,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1127,6 +1127,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.safeShutdown(flag, false);
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
@@ -29,10 +29,10 @@ index 688a80485ae28361b993a4de4019ae9794989982..63476c39ca2f78e0e53729325220196b
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index a8f91d39819687284f09a10152ef9b4ed5029394..489c0a317e5c5711bf7de3e54d24c6d9f609f43e 100644
|
||||
index fe029ec70afad56bb7a7361f347e9b9aef5e00ba..2c37694a6055513803708c9fb40fb0c475da8e52 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -359,6 +359,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -355,6 +355,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.info("JMX monitoring enabled");
|
||||
}
|
||||
|
||||
@@ -42,10 +42,10 @@ index a8f91d39819687284f09a10152ef9b4ed5029394..489c0a317e5c5711bf7de3e54d24c6d9
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index d6bea7c9e925bd211b2de4b596dab77fe10d12ac..7fd4daf0382d7a80ca6961dc55f67ba714114a60 100644
|
||||
index 1025696b877d8cffae2d34b6036a362612e9d706..c02609448326d76f30a1add7d50980230dfa2f06 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -260,6 +260,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -256,6 +256,7 @@ public class ServerPlayer extends Player {
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
@@ -53,7 +53,7 @@ index d6bea7c9e925bd211b2de4b596dab77fe10d12ac..7fd4daf0382d7a80ca6961dc55f67ba7
|
||||
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
@@ -481,6 +482,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -477,6 +478,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ index d6bea7c9e925bd211b2de4b596dab77fe10d12ac..7fd4daf0382d7a80ca6961dc55f67ba7
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -541,6 +543,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -537,6 +539,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
@@ -69,7 +69,7 @@ index d6bea7c9e925bd211b2de4b596dab77fe10d12ac..7fd4daf0382d7a80ca6961dc55f67ba7
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -2548,5 +2551,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -2567,5 +2570,13 @@ public class ServerPlayer extends Player {
|
||||
this.server.getPlayerList().moveToWorld(this, toLevel, true, to, !toLevel.paperConfig.disableTeleportationSuffocationCheck);
|
||||
}
|
||||
}
|
||||
@@ -84,10 +84,10 @@ index d6bea7c9e925bd211b2de4b596dab77fe10d12ac..7fd4daf0382d7a80ca6961dc55f67ba7
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 5655282578018c00a60d7ddc3fb48393da9cc2ee..4baeaf922b8529e7fb4a44fff9428a77e2ea78de 100644
|
||||
index 122b6f4fd8334483d32dbe353c273dbec14086aa..e4e7049e9e9739b5f5035319640eb04642adcb05 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -483,6 +483,7 @@ public abstract class PlayerList {
|
||||
@@ -482,6 +482,7 @@ public abstract class PlayerList {
|
||||
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
|
||||
}
|
||||
// Paper end
|
||||
@@ -95,9 +95,9 @@ index 5655282578018c00a60d7ddc3fb48393da9cc2ee..4baeaf922b8529e7fb4a44fff9428a77
|
||||
// CraftBukkit - Moved from above, added world
|
||||
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
|
||||
}
|
||||
@@ -593,6 +594,8 @@ public abstract class PlayerList {
|
||||
@@ -592,6 +593,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
public net.kyori.adventure.text.Component disconnect(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
|
||||
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
|
||||
// Paper end
|
||||
+ net.pl3x.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
|
||||
+
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
index 22ce93fd265d3fa9967e6467301e8128635f2391..762542252e59da20f284dde2545889da3340454e 100644
|
||||
index 672801ab77a10917147f12b2117a3390885b39b0..b4f7d6f4b7e6f6d5fe9e472f1723430c3301378b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -451,6 +451,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -28,10 +28,10 @@ index 22ce93fd265d3fa9967e6467301e8128635f2391..762542252e59da20f284dde2545889da
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 27f37620f3eda28bc3a8834fd335aeeac38ccbf5..af48e54639b412feb8dee36705d0aa8980b7ea53 100644
|
||||
index d887e7db69a7d57ebfe8bfe79d032e83ab70259a..cd850ceadc6fa6c9fd1747925ecedebf1c482067 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1579,6 +1579,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1555,6 +1555,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderRidableInWater = false;
|
||||
public double striderMaxHealth = 20.0D;
|
||||
public int striderBreedingTicks = 6000;
|
||||
@@ -39,7 +39,7 @@ index 27f37620f3eda28bc3a8834fd335aeeac38ccbf5..af48e54639b412feb8dee36705d0aa89
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1589,6 +1590,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1565,6 +1566,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
||||
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ba6a674c2b18108390c7b9d2bb313a603d9909b4..2b323d2b59853c738f482c7025b1a026e1f8e1d2 100644
|
||||
index 3e5bb0075766c826995807b4b16cf12f3b06a755..def90885f40df7a7d3487dc7bca18de951875cba 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1141,10 +1141,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1107,10 +1107,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize;
|
||||
double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier));
|
||||
long byteAllowed = maxBookPageSize;
|
||||
@@ -21,7 +21,7 @@ index ba6a674c2b18108390c7b9d2bb313a603d9909b4..2b323d2b59853c738f482c7025b1a026
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1168,6 +1170,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1134,6 +1136,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index f991ed65d27d15a6eb32533f32da0bb9b69f331d..6423f422d4eca56cd8cbdd9c23925ce703b426f5 100644
|
||||
index 42becbb21eee4e1b0a14e2fc3e226f0de26c96b1..0a8c8a24af17262be3e656042dc5c8bce9364e8a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -359,6 +359,16 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -357,6 +357,16 @@ public abstract class Player extends LivingEntity {
|
||||
this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ index f991ed65d27d15a6eb32533f32da0bb9b69f331d..6423f422d4eca56cd8cbdd9c23925ce7
|
||||
|
||||
protected ItemCooldowns createItemCooldowns() {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index af48e54639b412feb8dee36705d0aa8980b7ea53..ae252c66d4319fa4a581f1da9ec926de646a5aa0 100644
|
||||
index cd850ceadc6fa6c9fd1747925ecedebf1c482067..6b5c8fd51c4fd991362c4f97e42e1370b146786c 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -267,6 +267,19 @@ public class PurpurWorldConfig {
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Fix rotating UP/DOWN CW and CCW
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
|
||||
index 593d6251c75ec337175d08b85000239ba7da1af2..c040c9ce886f9970a70867344fd0e0b226d3ff9f 100644
|
||||
index 6d883db5c04cbcf454952c0f361029ecbfe4f037..8aeec2132138bf4b19a9042340c8784df4afda65 100644
|
||||
--- a/src/main/java/net/minecraft/core/Direction.java
|
||||
+++ b/src/main/java/net/minecraft/core/Direction.java
|
||||
@@ -235,6 +235,12 @@ public enum Direction implements StringRepresentable {
|
||||
return NORTH;
|
||||
@@ -247,6 +247,12 @@ public enum Direction implements StringRepresentable {
|
||||
case EAST:
|
||||
return SOUTH;
|
||||
var10000 = SOUTH;
|
||||
break;
|
||||
+ // Purpur start
|
||||
+ case UP:
|
||||
+ return UP;
|
||||
@@ -21,10 +21,10 @@ index 593d6251c75ec337175d08b85000239ba7da1af2..c040c9ce886f9970a70867344fd0e0b2
|
||||
default:
|
||||
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
|
||||
}
|
||||
@@ -314,6 +320,12 @@ public enum Direction implements StringRepresentable {
|
||||
return SOUTH;
|
||||
@@ -359,6 +365,12 @@ public enum Direction implements StringRepresentable {
|
||||
case EAST:
|
||||
return NORTH;
|
||||
var10000 = NORTH;
|
||||
break;
|
||||
+ // Purpur start
|
||||
+ case UP:
|
||||
+ return UP;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index f23b12206e762a52879ba800353638b536e3a2f1..2cb9c2f03139ba79014eed078967d74845fd0fb8 100644
|
||||
index 4904abec73580eee50c12a8edcb6e743805b018e..e0c5947610ab711024c0ef6346f2ca9a87701139 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1682,7 +1682,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1677,7 +1677,7 @@ public abstract class LivingEntity extends Entity {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
@@ -18,10 +18,10 @@ index f23b12206e762a52879ba800353638b536e3a2f1..2cb9c2f03139ba79014eed078967d748
|
||||
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 48fae807359382fd178bad91fc9cab9bba858dec..aa962aa9a390eb22aaac684278d9a5cdec43e767 100644
|
||||
index 6a8347ceefd663066de5887fef8ebc82b30a1b93..95c765ce622da83cfdff655ca746468fce37a491 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -661,7 +661,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity {
|
||||
public void aiStep() {
|
||||
super.aiStep();
|
||||
this.level.getProfiler().push("looting");
|
||||
@@ -31,7 +31,7 @@ index 48fae807359382fd178bad91fc9cab9bba858dec..aa962aa9a390eb22aaac684278d9a5cd
|
||||
Iterator iterator = list.iterator();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
index 8d6d47456ce6f9870f1a682665780a301b92fec5..b67b877e3fa9c00a0b88dbe3e8b0f0e9702537ed 100644
|
||||
index 7d4457da2fe82ebe91b99cf91ae5e70b491d34e7..f4c1b7ad19cb7c9c81ab9f277751024c21bcb573 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
@@ -41,7 +41,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -57,7 +57,7 @@ index fe045f8e35fe2aac51032a67ce52b27a53a8eff0..56d2849276b322436544512521e3b4ea
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
index 0b745cdb751530794bf9d988c37aff17e2999114..044b2d63cbe95ac47dd1e2aa0786017dfbf3e831 100644
|
||||
index 14ed3f0524773e22a792efb8b41a9217bad50f27..8a4080a77bd5b73ac812e3ae67c6f21dcd270215 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
@@ -70,7 +70,7 @@ public class EatBlockGoal extends Goal {
|
||||
@@ -73,13 +73,13 @@ index 0b745cdb751530794bf9d988c37aff17e2999114..044b2d63cbe95ac47dd1e2aa0786017d
|
||||
|
||||
if (this.level.getBlockState(blockposition1).is(Blocks.GRASS_BLOCK)) {
|
||||
// CraftBukkit
|
||||
- if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) {
|
||||
+ if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // Purpur
|
||||
- if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.AIR.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) {
|
||||
+ if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.AIR.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // Purpur
|
||||
this.level.levelEvent(2001, blockposition1, Block.getId(Blocks.GRASS_BLOCK.defaultBlockState()));
|
||||
this.level.setBlock(blockposition1, Blocks.DIRT.defaultBlockState(), 2);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
index ac5779319081a6894373877067edf958da8a9cf5..24227a18ea1d0c06e2049542c8ca9c82ec7ce046 100644
|
||||
index a618b50ac8448528ac6ac64b400fa3d0882dbaf9..7ca4e20ec53408573921bed07dd81849abd62227 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
@@ -40,7 +40,7 @@ public class RemoveBlockGoal extends MoveToBlockGoal {
|
||||
@@ -92,10 +92,10 @@ index ac5779319081a6894373877067edf958da8a9cf5..24227a18ea1d0c06e2049542c8ca9c82
|
||||
} else if (this.nextStartTick > 0) {
|
||||
--this.nextStartTick;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index 03e75add762b19170e95d1b280f92e79f2f8f9bf..091177ac2a5995b9f6f0b5245e8eabefd4ed86d6 100644
|
||||
index 856e348b45fcaf8fc1710cd7382eb6ac10424fb8..1daccbc51b6ec635130932995350eb0de8abe0a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -1346,7 +1346,7 @@ public class Fox extends Animal {
|
||||
@@ -1356,7 +1356,7 @@ public class Fox extends Animal {
|
||||
}
|
||||
|
||||
protected void onReachedTarget() {
|
||||
@@ -105,7 +105,7 @@ index 03e75add762b19170e95d1b280f92e79f2f8f9bf..091177ac2a5995b9f6f0b5245e8eabef
|
||||
|
||||
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index e7adecb2324efaedd6aad3aa1213d53765b09b7e..74ee531befc67495e18d4b97a4e4b14e51830de5 100644
|
||||
index b4314eb2b69dd56176bb33972181fe75c03b90bd..d7fbe9322ae22274c37e8b36500d993eab5bf397 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -611,7 +611,7 @@ public class Rabbit extends Animal {
|
||||
@@ -118,10 +118,10 @@ index e7adecb2324efaedd6aad3aa1213d53765b09b7e..74ee531befc67495e18d4b97a4e4b14e
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
index 3ea3085d9b4256c1a37c99e79550f9773e8c0f71..c931bf7ec3c58eae012bbadb9d3e9fef69b3fc79 100644
|
||||
index 093211be0d86cc114cbb109d7ba01f491d7954b1..af4db007807d94888fa945d9d43785b74bee2b67 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -125,7 +125,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -128,7 +128,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
this.hurt(CraftEventFactory.MELTING, 1.0F); // CraftBukkit - DamageSource.BURN -> CraftEventFactory.MELTING
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ index 3ea3085d9b4256c1a37c99e79550f9773e8c0f71..c931bf7ec3c58eae012bbadb9d3e9fef
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index f637cd740ec3801ce1c387473b5c4ff6080e76ec..3247f3f3c9d53953f8268c8f9575275126cf33a3 100644
|
||||
index e29fe6939d59a58093ddfbdf9b274469c5e25756..6ba83c938456dc79c8cd948ae981c6f2e93702ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -560,7 +560,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -141,22 +141,22 @@ index f637cd740ec3801ce1c387473b5c4ff6080e76ec..3247f3f3c9d53953f8268c8f95752751
|
||||
- if (this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && !iblockdata.is((Tag) BlockTags.DRAGON_IMMUNE)) {
|
||||
+ if ((this.level.purpurConfig.enderDragonBypassMobGriefing || this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) && !iblockdata.is((Tag) BlockTags.DRAGON_IMMUNE)) { // Purpur
|
||||
// CraftBukkit start - Add blocks to list rather than destroying them
|
||||
// flag1 = this.level.a(blockposition, false) || flag1;
|
||||
// flag1 = this.level.removeBlock(blockposition, false) || flag1;
|
||||
flag1 = true;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index ff71f78497681805246d7b3e4ac59288db9af997..4407c9f25e88a3685c6e9f8c7775d3011b38fff2 100644
|
||||
index 10883671cb28e579445f17c7ed729a0edb987bac..c935177150c8270329dbf7cc43da31c603555c52 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -375,7 +375,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -386,7 +386,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
i = this.getInvulnerableTicks() - 1;
|
||||
this.bossEvent.setProgress(1.0F - (float) i / 220.0F);
|
||||
if (i <= 0) {
|
||||
- Explosion.BlockInteraction explosion_effect = this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.NONE;
|
||||
+ Explosion.BlockInteraction explosion_effect = (this.level.purpurConfig.witherBypassMobGriefing || this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.NONE; // Purpur
|
||||
// CraftBukkit start
|
||||
// this.world.createExplosion(this, this.locX(), this.getHeadY(), this.locZ(), 7.0F, false, explosion_effect);
|
||||
// this.level.explode(this, this.getX(), this.getEyeY(), this.getZ(), 7.0F, false, explosion_effect);
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 7.0F, false);
|
||||
@@ -471,7 +471,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -482,7 +482,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
if (this.destroyBlocksTick > 0) {
|
||||
--this.destroyBlocksTick;
|
||||
@@ -166,7 +166,7 @@ index ff71f78497681805246d7b3e4ac59288db9af997..4407c9f25e88a3685c6e9f8c7775d301
|
||||
j = Mth.floor(this.getX());
|
||||
int i1 = Mth.floor(this.getZ());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 96858c10ad219a47187d3008387355f1bcfdc789..aea8de335294320e3734bea4fbc4bab91d1de59a 100644
|
||||
index f7b1d2cb0ba544aa4aec7d87d21335e9fcca6127..d06bba26db491950588d8b7ef356156663972e4f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -344,7 +344,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -179,32 +179,32 @@ index 96858c10ad219a47187d3008387355f1bcfdc789..aea8de335294320e3734bea4fbc4bab9
|
||||
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 9003af124953bf6fb12e8bff8e10d5aa0a7f9fc1..2aa05aa9e7a12eea582c05c141f08fc6e2b82053 100644
|
||||
index 28d2ccc6b29b17a99a2828d044259adafa10922c..be620f9f305aad756bb5b932764aaf24baebda55 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -476,7 +476,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level.purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
- return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(2000) == 0);
|
||||
+ return this.enderman.getCarriedBlock() != null ? false : (!this.enderman.level.purpurConfig.endermanBypassMobGriefing && !this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(2000) == 0); // Purpur
|
||||
- return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
+ return this.enderman.getCarriedBlock() != null ? false : (!this.enderman.level.purpurConfig.endermanBypassMobGriefing && !this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -524,7 +524,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -549,7 +549,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level.purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
- return this.enderman.getCarriedBlock() != null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(20) == 0);
|
||||
+ return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.purpurConfig.endermanBypassMobGriefing && !this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(2000) == 0); // Purpur
|
||||
- return this.enderman.getCarriedBlock() != null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(20)) == 0);
|
||||
+ return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.purpurConfig.endermanBypassMobGriefing && !this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 9e50cf5d5b48718b1f8ff74c4de891172970ac12..78b2350a09eef0537742af429cfa5f022fc92ad3 100644
|
||||
index f879bfa65b266728b570725e1ff9403f1732244d..e55cc17687247de4817939cd2d73ef667d946ca3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -316,7 +316,7 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -317,7 +317,7 @@ public class Evoker extends SpellcasterIllager {
|
||||
return false;
|
||||
} else if (Evoker.this.tickCount < this.nextAttackTickCount) {
|
||||
return false;
|
||||
@@ -214,10 +214,10 @@ index 9e50cf5d5b48718b1f8ff74c4de891172970ac12..78b2350a09eef0537742af429cfa5f02
|
||||
} else {
|
||||
List<Sheep> list = Evoker.this.level.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 13f4b6d17312dd7379875eb56049c87c10deae88..1148cd343f9931848b5119d8bddc9b5218d67490 100644
|
||||
index c1eea7e71aa364789a544e6491b2201bcb6a37c8..5eb9e19531c5c996dd669f6e430b0dfb3d94928a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -184,7 +184,7 @@ public class Ravager extends Raider {
|
||||
@@ -185,7 +185,7 @@ public class Ravager extends Raider {
|
||||
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(Mth.lerp(0.1D, d1, d0));
|
||||
}
|
||||
|
||||
@@ -227,10 +227,10 @@ index 13f4b6d17312dd7379875eb56049c87c10deae88..1148cd343f9931848b5119d8bddc9b52
|
||||
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
|
||||
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 1c523c384668b483ba0211c413ade7b87c7ca16a..9caf164f1b68034dd36671e94c9b60e225bde691 100644
|
||||
index 3481a2e178e5c101b6038e6506933d50861c3f9d..d215d8eff468c8bab9db160ea2b3fa1e6749d1a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -195,7 +195,7 @@ public class Silverfish extends Monster {
|
||||
@@ -197,7 +197,7 @@ public class Silverfish extends Monster {
|
||||
continue;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -239,20 +239,20 @@ index 1c523c384668b483ba0211c413ade7b87c7ca16a..9caf164f1b68034dd36671e94c9b60e2
|
||||
world.destroyBlock(blockposition1, true, this.silverfish);
|
||||
} else {
|
||||
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
|
||||
@@ -232,7 +232,7 @@ public class Silverfish extends Monster {
|
||||
@@ -235,7 +235,7 @@ public class Silverfish extends Monster {
|
||||
} else {
|
||||
Random random = this.mob.getRandom();
|
||||
|
||||
- if (this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && random.nextInt(10) == 0) {
|
||||
+ if ((this.mob.level.purpurConfig.silverfishBypassMobGriefing || this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) && random.nextInt(10) == 0) { // Purpur
|
||||
- if (this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && random.nextInt(reducedTickDelay(10)) == 0) {
|
||||
+ if ((this.mob.level.purpurConfig.silverfishBypassMobGriefing || this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) && random.nextInt(reducedTickDelay(10)) == 0) { // Purpur
|
||||
this.selectedDirection = Direction.getRandom(random);
|
||||
BlockPos blockposition = (new BlockPos(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ())).relative(this.selectedDirection);
|
||||
BlockState iblockdata = this.mob.level.getBlockState(blockposition);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 89a72027efd11ce261d365db037fd1b856d08184..4be9326344893256cbc01fdb599f859aaf86a0a4 100644
|
||||
index 86a9800276648c094c688d6dbedd51657e642df5..6beb798df62223fe653afa0f34e4a43d6cff11b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -407,7 +407,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -406,7 +406,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
|
||||
@Override
|
||||
public boolean wantsToPickUp(ItemStack stack) {
|
||||
@@ -290,7 +290,7 @@ index e69213b43c8aa5a7c04add7a87482d531fbf52d2..f51ea103238b4a50439f5162a248cd9a
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 343f186136abba95cb36876969f9492b5994f802..50901b7a80c26b87be18d0a337d2a8ad95d4d7d5 100644
|
||||
index edc4fc597d60e6125d44023085e993db2e96c4ef..2771e600d46195e8170b2bde57c523c2bcbadf5a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -290,6 +290,6 @@ public abstract class Projectile extends Entity {
|
||||
@@ -302,10 +302,10 @@ index 343f186136abba95cb36876969f9492b5994f802..50901b7a80c26b87be18d0a337d2a8ad
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
index a6d75f20d6b7679d53c3c081c6632e9c303e2d74..af130b70b073939ceef70fa1b72841c511203dfc 100644
|
||||
index 226b33921c90ca3904a7397a68dc8169948f8faa..e2a652277f2a63e0f0501db4137d7813e2d603c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
|
||||
@@ -25,7 +25,7 @@ public class SmallFireball extends Fireball {
|
||||
@@ -24,7 +24,7 @@ public class SmallFireball extends Fireball {
|
||||
super(EntityType.SMALL_FIREBALL, owner, velocityX, velocityY, velocityZ, world);
|
||||
// CraftBukkit start
|
||||
if (this.getOwner() != null && this.getOwner() instanceof Mob) {
|
||||
@@ -315,7 +315,7 @@ index a6d75f20d6b7679d53c3c081c6632e9c303e2d74..af130b70b073939ceef70fa1b72841c5
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 46b74271ce5f614f07754db14d2a552c36f73226..430aa10101d9f21561155941ff24441fd0c4103a 100644
|
||||
index 8613008090a9d7cf5cd7c2a598f2c725b5b0cdc6..a66e9826b8283366cec5adb54f79efee47d9df22 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -93,7 +93,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -328,10 +328,10 @@ index 46b74271ce5f614f07754db14d2a552c36f73226..430aa10101d9f21561155941ff24441f
|
||||
// CraftBukkit start
|
||||
// this.level.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
index 54b5cfa35e5fe9138d39a73f2085f594f1987cda..4efc0870fadc291260491b9cc4e048916633185f 100644
|
||||
index 039544609aa4fd2f5ab5075792a2e51ef315dc37..eeeef593d0dc075ded76d7d30b76fcfc8ffcb294 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
@@ -314,7 +314,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
@@ -313,7 +313,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -341,7 +341,7 @@ index 54b5cfa35e5fe9138d39a73f2085f594f1987cda..4efc0870fadc291260491b9cc4e04891
|
||||
|
||||
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
index 6dda5eeca4e310eceb2598322803bfafc184e9c7..3c51e6d419a244b9270119590aa299527163c331 100644
|
||||
index b4fd9af8805f451c87a91f319c15fa132b91faf7..e9087a46e401bc99b73c2cf2731fdac3e68719f8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
@@ -164,7 +164,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||
@@ -354,7 +354,7 @@ index 6dda5eeca4e310eceb2598322803bfafc184e9c7..3c51e6d419a244b9270119590aa29952
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index e0ef42c2613374bedc8eb114aef7dd2aaeebb7b7..e06a8a68ccb9c9a77df061264e58fd850cf1f794 100644
|
||||
index 56233465693943e0fdb998e44a34f8029e3928cb..caf40e3df0896492be959f9e0bcfb1fad0bfa2ef 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -99,7 +99,7 @@ public class FarmBlock extends Block {
|
||||
@@ -367,10 +367,10 @@ index e0ef42c2613374bedc8eb114aef7dd2aaeebb7b7..e06a8a68ccb9c9a77df061264e58fd85
|
||||
org.bukkit.event.Cancellable cancellable;
|
||||
if (entity instanceof Player) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
index 1187a7382b8849524f99bbd8d12b43677f1053cd..ddce552c4374715e9652cfda3622b70d9be854f9 100644
|
||||
index 5e22a1cd1a0902d63f091bbfb8ae518b12c66f09..8fad9dfd25794c4f202e2104e4ae32b0c436f438 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
@@ -71,7 +71,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
|
||||
@@ -72,7 +72,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
|
||||
if (!world.isClientSide) {
|
||||
// CraftBukkit start
|
||||
if (entity.isOnFire() && entity.mayInteract(world, pos)) {
|
||||
@@ -380,7 +380,7 @@ index 1187a7382b8849524f99bbd8d12b43677f1053cd..ddce552c4374715e9652cfda3622b70d
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab8921944c21 100644
|
||||
index b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1..5b29f3fced5435e172dd69f6f4eb265e760b6454 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -205,7 +205,7 @@ public class TurtleEggBlock extends Block {
|
||||
@@ -393,36 +393,34 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89
|
||||
return true;
|
||||
// Purpur end
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744bf9b8024 100644
|
||||
index 6b5c8fd51c4fd991362c4f97e42e1370b146786c..f38b05448019805fd07f462e910c805cdffed219 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -381,9 +381,12 @@ public class PurpurWorldConfig {
|
||||
@@ -381,8 +381,11 @@ public class PurpurWorldConfig {
|
||||
public boolean boatsDoFallDamage = true;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
+ public boolean entitiesPickUpLootBypassMobGriefing = false;
|
||||
+ public boolean fireballsBypassMobGriefing = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public boolean persistentTileEntityDisplayNames = false;
|
||||
public boolean persistentDroppableEntityDisplayNames = false;
|
||||
+ public boolean projectilesBypassMobGriefing = false;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public double voidDamageHeight = -64.0D;
|
||||
public double voidDamageDealt = 4.0D;
|
||||
@@ -395,9 +398,12 @@ public class PurpurWorldConfig {
|
||||
@@ -394,8 +397,11 @@ public class PurpurWorldConfig {
|
||||
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
+ entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||
+ fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
+ projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
|
||||
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
@@ -467,9 +473,11 @@ public class PurpurWorldConfig {
|
||||
@@ -443,9 +449,11 @@ public class PurpurWorldConfig {
|
||||
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
|
||||
}
|
||||
|
||||
@@ -434,7 +432,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
|
||||
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
|
||||
}
|
||||
@@ -508,6 +516,11 @@ public class PurpurWorldConfig {
|
||||
@@ -484,6 +492,11 @@ public class PurpurWorldConfig {
|
||||
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
|
||||
}
|
||||
|
||||
@@ -446,7 +444,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
public boolean respawnAnchorExplode = true;
|
||||
public double respawnAnchorExplosionPower = 5.0D;
|
||||
public boolean respawnAnchorExplosionFire = true;
|
||||
@@ -541,6 +554,11 @@ public class PurpurWorldConfig {
|
||||
@@ -517,6 +530,11 @@ public class PurpurWorldConfig {
|
||||
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
|
||||
}
|
||||
|
||||
@@ -458,7 +456,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
public double twistingVinesGrowthModifier = 0.10D;
|
||||
public int twistingVinesMaxGrowthAge = 25;
|
||||
private void twistingVinesSettings() {
|
||||
@@ -725,6 +743,7 @@ public class PurpurWorldConfig {
|
||||
@@ -701,6 +719,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
public boolean creeperAllowGriefing = true;
|
||||
@@ -466,7 +464,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -736,6 +755,7 @@ public class PurpurWorldConfig {
|
||||
@@ -712,6 +731,7 @@ public class PurpurWorldConfig {
|
||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
||||
@@ -474,7 +472,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -823,6 +843,7 @@ public class PurpurWorldConfig {
|
||||
@@ -799,6 +819,7 @@ public class PurpurWorldConfig {
|
||||
public double enderDragonMaxY = 256D;
|
||||
public double enderDragonMaxHealth = 200.0D;
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
@@ -482,7 +480,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||
@@ -838,6 +859,7 @@ public class PurpurWorldConfig {
|
||||
@@ -814,6 +835,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
@@ -490,7 +488,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
@@ -845,6 +867,7 @@ public class PurpurWorldConfig {
|
||||
@@ -821,6 +843,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
public boolean endermanDespawnEvenWithBlock = false;
|
||||
@@ -498,7 +496,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -856,6 +879,7 @@ public class PurpurWorldConfig {
|
||||
@@ -832,6 +855,7 @@ public class PurpurWorldConfig {
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
|
||||
@@ -506,7 +504,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean endermiteRidable = false;
|
||||
@@ -875,6 +899,7 @@ public class PurpurWorldConfig {
|
||||
@@ -851,6 +875,7 @@ public class PurpurWorldConfig {
|
||||
public boolean evokerRidable = false;
|
||||
public boolean evokerRidableInWater = false;
|
||||
public double evokerMaxHealth = 24.0D;
|
||||
@@ -514,7 +512,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void evokerSettings() {
|
||||
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
|
||||
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
|
||||
@@ -884,6 +909,7 @@ public class PurpurWorldConfig {
|
||||
@@ -860,6 +885,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.evoker.attributes.max_health", oldValue);
|
||||
}
|
||||
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
|
||||
@@ -522,7 +520,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean foxRidable = false;
|
||||
@@ -891,6 +917,7 @@ public class PurpurWorldConfig {
|
||||
@@ -867,6 +893,7 @@ public class PurpurWorldConfig {
|
||||
public double foxMaxHealth = 10.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
public int foxBreedingTicks = 6000;
|
||||
@@ -530,7 +528,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -902,6 +929,7 @@ public class PurpurWorldConfig {
|
||||
@@ -878,6 +905,7 @@ public class PurpurWorldConfig {
|
||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
@@ -538,7 +536,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -1297,6 +1325,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1273,6 +1301,7 @@ public class PurpurWorldConfig {
|
||||
public boolean piglinRidable = false;
|
||||
public boolean piglinRidableInWater = false;
|
||||
public double piglinMaxHealth = 16.0D;
|
||||
@@ -546,7 +544,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void piglinSettings() {
|
||||
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
||||
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
||||
@@ -1306,6 +1335,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1282,6 +1311,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.piglin.attributes.max_health", oldValue);
|
||||
}
|
||||
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
|
||||
@@ -554,7 +552,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean piglinBruteRidable = false;
|
||||
@@ -1325,6 +1355,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1301,6 +1331,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pillagerRidable = false;
|
||||
public boolean pillagerRidableInWater = false;
|
||||
public double pillagerMaxHealth = 24.0D;
|
||||
@@ -562,7 +560,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void pillagerSettings() {
|
||||
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
|
||||
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
|
||||
@@ -1334,6 +1365,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1310,6 +1341,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.pillager.attributes.max_health", oldValue);
|
||||
}
|
||||
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
|
||||
@@ -570,7 +568,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean polarBearRidable = false;
|
||||
@@ -1375,6 +1407,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1351,6 +1383,7 @@ public class PurpurWorldConfig {
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
public int rabbitBreedingTicks = 6000;
|
||||
@@ -578,7 +576,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1387,11 +1420,13 @@ public class PurpurWorldConfig {
|
||||
@@ -1363,11 +1396,13 @@ public class PurpurWorldConfig {
|
||||
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
||||
@@ -592,7 +590,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void ravagerSettings() {
|
||||
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
|
||||
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
|
||||
@@ -1401,6 +1436,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1377,6 +1412,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.ravager.attributes.max_health", oldValue);
|
||||
}
|
||||
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
|
||||
@@ -600,7 +598,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean salmonRidable = false;
|
||||
@@ -1419,6 +1455,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1395,6 +1431,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepRidableInWater = false;
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
public int sheepBreedingTicks = 6000;
|
||||
@@ -608,7 +606,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -1429,6 +1466,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1405,6 +1442,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
|
||||
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
||||
@@ -616,7 +614,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -1448,6 +1486,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1424,6 +1462,7 @@ public class PurpurWorldConfig {
|
||||
public boolean silverfishRidable = false;
|
||||
public boolean silverfishRidableInWater = false;
|
||||
public double silverfishMaxHealth = 8.0D;
|
||||
@@ -624,7 +622,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void silverfishSettings() {
|
||||
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
|
||||
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
|
||||
@@ -1457,6 +1496,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1433,6 +1472,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.silverfish.attributes.max_health", oldValue);
|
||||
}
|
||||
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
|
||||
@@ -632,7 +630,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean skeletonRidable = false;
|
||||
@@ -1524,6 +1564,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1500,6 +1540,7 @@ public class PurpurWorldConfig {
|
||||
public int snowGolemSnowBallMax = 20;
|
||||
public float snowGolemSnowBallModifier = 10.0F;
|
||||
public double snowGolemAttackDistance = 1.25D;
|
||||
@@ -640,7 +638,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1540,6 +1581,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1516,6 +1557,7 @@ public class PurpurWorldConfig {
|
||||
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
|
||||
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
|
||||
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
|
||||
@@ -648,7 +646,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -1699,6 +1741,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1675,6 +1717,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerLobotomizeCheck = 60;
|
||||
public boolean villagerClericsFarmWarts = false;
|
||||
public boolean villagerClericFarmersThrowWarts = true;
|
||||
@@ -656,7 +654,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1725,6 +1768,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1701,6 +1744,7 @@ public class PurpurWorldConfig {
|
||||
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
|
||||
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
|
||||
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
|
||||
@@ -664,7 +662,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1781,6 +1825,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1757,6 +1801,7 @@ public class PurpurWorldConfig {
|
||||
public double witherMaxHealth = 300.0D;
|
||||
public float witherHealthRegenAmount = 1.0f;
|
||||
public int witherHealthRegenDelay = 20;
|
||||
@@ -672,7 +670,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -1797,6 +1842,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1773,6 +1818,7 @@ public class PurpurWorldConfig {
|
||||
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
|
||||
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
|
||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
@@ -680,7 +678,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
}
|
||||
|
||||
public boolean witherSkeletonRidable = false;
|
||||
@@ -1861,6 +1907,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1837,6 +1883,7 @@ public class PurpurWorldConfig {
|
||||
public double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
||||
@@ -688,7 +686,7 @@ index ae252c66d4319fa4a581f1da9ec926de646a5aa0..c73c77a22317631da7f8f52037103744
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -1875,6 +1922,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1851,6 +1898,7 @@ public class PurpurWorldConfig {
|
||||
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
||||
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
|
||||
@@ -9,20 +9,20 @@ Normally, the sounds will only play when the block directly above is air.
|
||||
With this patch enabled, players can place any block above the Note Block and it will still work.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
index 59ae3bb34678cdb5241f691915c96d6568363d3b..f6c0c9fca005f72c3764a4a4f8df05825796e950 100644
|
||||
index 0512b3701a3bf33891ab6281355c07af6be5b9c1..d79cf8df4be544c4402a2419cd9238bde6620fbb 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
@@ -62,7 +62,7 @@ public class NoteBlock extends Block {
|
||||
@@ -61,7 +61,7 @@ public class NoteBlock extends Block {
|
||||
}
|
||||
|
||||
private void play(Level world, BlockPos blockposition, BlockState data) { // CraftBukkit
|
||||
private void playNote(Level world, BlockPos blockposition, BlockState data) { // CraftBukkit
|
||||
- if (world.getBlockState(blockposition.above()).isAir()) {
|
||||
+ if (world.purpurConfig.noteBlockIgnoreAbove || world.getBlockState(blockposition.above()).isAir()) { // Purpur
|
||||
// CraftBukkit start
|
||||
org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.getValue(NoteBlock.INSTRUMENT), data.getValue(NoteBlock.NOTE));
|
||||
if (!event.isCancelled()) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c73c77a22317631da7f8f52037103744bf9b8024..c70a804b8b7a30411f6cfa72bb2f36d411e0af30 100644
|
||||
index f38b05448019805fd07f462e910c805cdffed219..4b885756730850fd7b5db52f74eb2e3d0be749f6 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -384,6 +384,7 @@ public class PurpurWorldConfig {
|
||||
@@ -30,14 +30,14 @@ index c73c77a22317631da7f8f52037103744bf9b8024..c70a804b8b7a30411f6cfa72bb2f36d4
|
||||
public boolean fireballsBypassMobGriefing = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
+ public boolean noteBlockIgnoreAbove = false;
|
||||
public boolean persistentTileEntityDisplayNames = false;
|
||||
public boolean persistentDroppableEntityDisplayNames = false;
|
||||
public boolean projectilesBypassMobGriefing = false;
|
||||
@@ -401,6 +402,7 @@ public class PurpurWorldConfig {
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
@@ -400,6 +401,7 @@ public class PurpurWorldConfig {
|
||||
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
+ noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
|
||||
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
index 62c2f947a77570228dfdf4dae16c64eb97ee2f40..197482e1ace23c3de002242097a68c6cc297cd3f 100644
|
||||
index 19892cb3cb290add4f094dc87bb22106e4f07a24..46fdaf744080ac01498ca693068616659a79b9ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
@@ -45,7 +45,15 @@ public class EndPortalBlock extends BaseEntityBlock {
|
||||
@@ -34,11 +34,11 @@ index 62c2f947a77570228dfdf4dae16c64eb97ee2f40..197482e1ace23c3de002242097a68c6c
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
ResourceKey<Level> resourcekey = world.getTypeKey() == DimensionType.END_LOCATION ? Level.OVERWORLD : Level.END; // CraftBukkit - SPIGOT-6152: send back to main overworld in custom ends
|
||||
ResourceKey<Level> resourcekey = world.getTypeKey() == LevelStem.END ? Level.OVERWORLD : Level.END; // CraftBukkit - SPIGOT-6152: send back to main overworld in custom ends
|
||||
ServerLevel worldserver = ((ServerLevel) world).getServer().getLevel(resourcekey);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
index bc2f2c69d437e99cb965cede7dfd42228151b26c..fef1027829c44957e23c0a121033bfb7640d06f0 100644
|
||||
index 82c132bc90381aab6a29d50319ff40e7383eb7f2..b99a9f76d6e400a053c57a96c9586fe09a4a5a26 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
@@ -86,7 +86,15 @@ public class NetherPortalBlock extends Block {
|
||||
@@ -59,10 +59,10 @@ index bc2f2c69d437e99cb965cede7dfd42228151b26c..fef1027829c44957e23c0a121033bfb7
|
||||
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
|
||||
world.getCraftServer().getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index b2c098a02008b860b2fb17323831ab8af27751ae..1405083cb3e9e01d9dd99a9e42b2b56f3a104a60 100644
|
||||
index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..e0beee6bd772792fbd3bc6a856230311e9ed6c42 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -177,6 +177,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) {
|
||||
if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) {
|
||||
if (!entity.canChangeDimensions()) return; // Purpur
|
||||
@@ -78,7 +78,7 @@ index b2c098a02008b860b2fb17323831ab8af27751ae..1405083cb3e9e01d9dd99a9e42b2b56f
|
||||
|
||||
blockEntity.teleportCooldown = 100;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c70a804b8b7a30411f6cfa72bb2f36d411e0af30..4432330c936e060b1bb5005ebe70cf575249e5d9 100644
|
||||
index 4b885756730850fd7b5db52f74eb2e3d0be749f6..079cf41c91cd75c0f720af1e208e0c8ec40a1691 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -383,6 +383,7 @@ public class PurpurWorldConfig {
|
||||
@@ -88,17 +88,17 @@ index c70a804b8b7a30411f6cfa72bb2f36d411e0af30..4432330c936e060b1bb5005ebe70cf57
|
||||
+ public boolean imposeTeleportRestrictionsOnGateways = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public boolean noteBlockIgnoreAbove = false;
|
||||
public boolean persistentTileEntityDisplayNames = false;
|
||||
@@ -401,6 +402,7 @@ public class PurpurWorldConfig {
|
||||
public boolean persistentDroppableEntityDisplayNames = false;
|
||||
@@ -400,6 +401,7 @@ public class PurpurWorldConfig {
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
+ imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
|
||||
persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames);
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index ac89af911596955ac87882069b7010b66ed05adf..b8fb34df77ffd1f4ef2db63717e3acf2ab592fb6 100644
|
||||
index 1ba59900ddf403453aeb4f82b097feaab3dae3ff..30302c1cfdff65a5f1d0adde4c831f0a74f15851 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -113,10 +113,10 @@ index ac89af911596955ac87882069b7010b66ed05adf..b8fb34df77ffd1f4ef2db63717e3acf2
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 303de40046ac0e5802a0061a1118ee95897b6bfc..2fe84d9d7b0a829baefdb9fad7ba02d336ba5254 100644
|
||||
index 2fc276e0fc43d21ce9dd590991b564c65f6b249b..b3e1e8d225282216df0fb88335415cdf9ffa781d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1016,6 +1016,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -965,6 +965,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle()) {
|
||||
@@ -19,13 +19,13 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
index fde436065aeeb47cd177656a7c9fe8dc34178e87..6a1cb38de5733e384546984a0eadd4bab53c0122 100644
|
||||
index e2b7da265e9616ac47e6be72cc6e6d2c75cfec44..1ba06b5835dbf57168444c92a5317bd32a86bdff 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
@@ -346,7 +346,14 @@ public abstract class ChunkGenerator {
|
||||
@@ -446,7 +446,14 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
|
||||
|
||||
if (structuresettingsfeature != null) {
|
||||
StructureStart<?> structurestart1 = feature.generate(registryManager, this, this.biomeSource, structureManager, worldSeed, chunkcoordintpair, biome, j, structuresettingsfeature, chunk);
|
||||
StructureStart<?> structurestart = structureAccessor.getStartForFeature(sectionposition, StructureFeature.STRONGHOLD, chunk);
|
||||
-
|
||||
+ // Purpur start
|
||||
+ if (new net.pl3x.purpur.event.world.StructureGenerateEvent(
|
||||
@@ -35,6 +35,6 @@ index fde436065aeeb47cd177656a7c9fe8dc34178e87..6a1cb38de5733e384546984a0eadd4ba
|
||||
+ chunkcoordintpair.z
|
||||
+ ).callEvent())
|
||||
+ // Purpur end
|
||||
accessor.setStartForFeature(sectionposition, feature.feature, structurestart1, chunk);
|
||||
}
|
||||
if (structurestart == null || !structurestart.isValid()) {
|
||||
StructureStart<?> structurestart1 = StructureFeatures.STRONGHOLD.generate(registryManager, this, this.biomeSource, structureManager, worldSeed, chunkcoordintpair, ChunkGenerator.fetchReferences(structureAccessor, chunk, sectionposition, StructureFeature.STRONGHOLD), structuresettingsfeature, chunk, ChunkGenerator::validStrongholdBiome);
|
||||
|
||||
@@ -12,7 +12,7 @@ necessary to trample in the first place. Feather Falling 1 requires
|
||||
you to fall over 3+ blocks to trample. FF 2 requires 4+, etc.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index e06a8a68ccb9c9a77df061264e58fd850cf1f794..010da2b44fa3a4f033e4f86e9a0917b5c94b6ab5 100644
|
||||
index caf40e3df0896492be959f9e0bcfb1fad0bfa2ef..10f1e3d9c35ee80587865cf0035416aed6155c0e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -114,12 +114,20 @@ public class FarmBlock extends Block {
|
||||
@@ -37,10 +37,10 @@ index e06a8a68ccb9c9a77df061264e58fd850cf1f794..010da2b44fa3a4f033e4f86e9a0917b5
|
||||
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
|
||||
return;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 4432330c936e060b1bb5005ebe70cf575249e5d9..7a3b246cd6254b7806b54f4f4d23fd22a2cba8a8 100644
|
||||
index 079cf41c91cd75c0f720af1e208e0c8ec40a1691..76d5e8932e583d84469353468b158f77738d315c 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -480,10 +480,16 @@ public class PurpurWorldConfig {
|
||||
@@ -456,10 +456,16 @@ public class PurpurWorldConfig {
|
||||
public boolean farmlandBypassMobGriefing = false;
|
||||
public boolean farmlandGetsMoistFromBelow = false;
|
||||
public boolean farmlandAlpha = false;
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index cd4717041d74832b7517c303f58c8692d54f9588..56fefcfdecf3ed4b747e1bab8bc24e5275d71e2e 100644
|
||||
index 8766be89f7bc2f3ce427d4ec428d1fa65a10d995..47067ff24923002f9083022cbec4a90896ce3012 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1595,7 +1595,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1502,7 +1502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
@@ -28,12 +28,12 @@ index cd4717041d74832b7517c303f58c8692d54f9588..56fefcfdecf3ed4b747e1bab8bc24e52
|
||||
+ public void updateInWaterStateAndDoWaterCurrentPushing() { // Purpur - package-private -> public
|
||||
if (this.getVehicle() instanceof Boat) {
|
||||
this.wasTouchingWater = false;
|
||||
} else if (this.updateFluidHeightAndDoFluidPushing((Tag) FluidTags.WATER, 0.014D)) {
|
||||
} else if (this.updateFluidHeightAndDoFluidPushing(FluidTags.WATER, 0.014D)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index bb710e62477df3048d5219f1edfa9ffdefacb41d..aee5db3cdbc49de995780d0b0e219d0878a5f304 100644
|
||||
index 50370dc8697569a4e5cf8ec3714d227a59357d64..e9e24435057cff9c0af758ca2aa822c3b1c3593d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -98,10 +98,12 @@ public class ArmorStand extends LivingEntity {
|
||||
private boolean noTickPoseDirty = false;
|
||||
private boolean noTickEquipmentDirty = false;
|
||||
// Paper end
|
||||
@@ -46,7 +46,7 @@ index bb710e62477df3048d5219f1edfa9ffdefacb41d..aee5db3cdbc49de995780d0b0e219d08
|
||||
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
|
||||
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
|
||||
this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
|
||||
@@ -996,4 +998,18 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -995,4 +997,18 @@ public class ArmorStand extends LivingEntity {
|
||||
}
|
||||
// Paper end
|
||||
// Paper end
|
||||
@@ -66,7 +66,7 @@ index bb710e62477df3048d5219f1edfa9ffdefacb41d..aee5db3cdbc49de995780d0b0e219d08
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 7a3b246cd6254b7806b54f4f4d23fd22a2cba8a8..7b0ec253d7ed4e6207d4f82e84b7c6383fae2821 100644
|
||||
index 76d5e8932e583d84469353468b158f77738d315c..1924f81335d239ffd60af0211038cb23ff9caf6c 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -103,10 +103,16 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 7fd4daf0382d7a80ca6961dc55f67ba714114a60..878654d5e65d4318aaad27b00a6df1662b5946de 100644
|
||||
index c02609448326d76f30a1add7d50980230dfa2f06..3032157924962e2c5fa5c696fdc3de4bad74d538 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1142,6 +1142,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1171,6 +1171,7 @@ public class ServerPlayer extends Player {
|
||||
playerlist.sendPlayerPermissionLevel(this);
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
@@ -17,10 +17,10 @@ index 7fd4daf0382d7a80ca6961dc55f67ba714114a60..878654d5e65d4318aaad27b00a6df166
|
||||
// CraftBukkit end
|
||||
this.setLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 56fefcfdecf3ed4b747e1bab8bc24e5275d71e2e..74df92f69454ec78036dc58ea9155b26ccd3db19 100644
|
||||
index 47067ff24923002f9083022cbec4a90896ce3012..a3420d0a30fbb3f837c863ef559f66ddaa6dc6bd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2716,12 +2716,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2626,12 +2626,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index 56fefcfdecf3ed4b747e1bab8bc24e5275d71e2e..74df92f69454ec78036dc58ea9155b26
|
||||
|
||||
this.isInsidePortal = true;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 7b0ec253d7ed4e6207d4f82e84b7c6383fae2821..087bf58786d6a1e1f812319be615a53c02f6bfda 100644
|
||||
index 1924f81335d239ffd60af0211038cb23ff9caf6c..724bce388bf69f9ca7e8e2bf01c17b86f7814b36 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -297,6 +297,7 @@ public class PurpurWorldConfig {
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ Adds a configuration option that ensures a player in Creative always tames a tam
|
||||
This essentially allows Creative mode players to tame animals on their first try.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
index fd0f5c255729b2c05ead5843ab58fe880971b3db..08bdebf99cdedfc6115405e5198346ee4e6e1dce 100644
|
||||
index 5c64905e90ccca6e0b347241ddf9cc3f71058b8e..3bd7521b131b2b40f807bdc7ab95e64cf9bcdadc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
@@ -63,7 +63,7 @@ public class RunAroundLikeCrazyGoal extends Goal {
|
||||
@@ -20,10 +20,10 @@ index fd0f5c255729b2c05ead5843ab58fe880971b3db..08bdebf99cdedfc6115405e5198346ee
|
||||
return;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
index 9c89ae4f5f0ff8841040d43315db9fcf6d32f89e..fbb8d43b39bc3a215f89078ff45887cf6a87800b 100644
|
||||
index d6f50d524cd00fb54dd987cc9a9c560766a12553..e9954c99fdb089d57b32ddd754fee33fd642fece 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -479,7 +479,7 @@ public class Cat extends TamableAnimal {
|
||||
@@ -480,7 +480,7 @@ public class Cat extends TamableAnimal {
|
||||
}
|
||||
} else if (this.isFood(itemstack)) {
|
||||
this.usePlayerItem(player, hand, itemstack);
|
||||
@@ -33,10 +33,10 @@ index 9c89ae4f5f0ff8841040d43315db9fcf6d32f89e..fbb8d43b39bc3a215f89078ff45887cf
|
||||
this.setOrderedToSit(true);
|
||||
this.level.broadcastEntityEvent(this, (byte) 7);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index f2226bd6753a50c0d96e07a50cb8785b50cae1ca..67c72a5b9c786d3240ade51aa48e0e63f0d758cd 100644
|
||||
index 5064673a78a6bc5cb8b8973d451946239cd995a0..953db16af175e14e1a47487659a0346216d8cdbc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -321,7 +321,7 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
@@ -326,7 +326,7 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
}
|
||||
|
||||
if (!this.level.isClientSide) {
|
||||
@@ -46,10 +46,10 @@ index f2226bd6753a50c0d96e07a50cb8785b50cae1ca..67c72a5b9c786d3240ade51aa48e0e63
|
||||
this.level.broadcastEntityEvent(this, (byte) 7);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 1193f711442fc8d0d3631cbb7fe4a31bf7639f1b..c681cbcd4549d6bf2d88408b94fbb31c1d1406e3 100644
|
||||
index b039cbbcc33a6b1925d1cf4339018219ceb6c2ad..57e8ef6f7c20d74fdc25d9ab2a9c35b1de1dc49b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -514,7 +514,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -519,7 +519,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
|
||||
// CraftBukkit - added event call and isCancelled check.
|
||||
@@ -59,7 +59,7 @@ index 1193f711442fc8d0d3631cbb7fe4a31bf7639f1b..c681cbcd4549d6bf2d88408b94fbb31c
|
||||
this.navigation.stop();
|
||||
this.setTarget((LivingEntity) null);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 08709de2f81fb637cf951cb2d76dfd759fb429b5..4e3bf53c088ec64882cf87c5e3facdaeb034e02e 100644
|
||||
index b7982c468d03f969d4809b66c34ed63ba35c48ef..ce35bce48c3fc5e4365416e19a194e6821a3f5bb 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -385,6 +385,7 @@ public class PurpurWorldConfig {
|
||||
@@ -70,7 +70,7 @@ index 08709de2f81fb637cf951cb2d76dfd759fb429b5..4e3bf53c088ec64882cf87c5e3facdae
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean boatsDoFallDamage = true;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
@@ -404,6 +405,7 @@ public class PurpurWorldConfig {
|
||||
@@ -403,6 +404,7 @@ public class PurpurWorldConfig {
|
||||
public int animalBreedingCooldownSeconds = 0;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] End crystal explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03e894c869 100644
|
||||
index f8863cabad1bd0c3c2c62b8e17612d9559237d68..06c6addfa2a8dab1ad52a3588e9aeba5208eb997 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -130,6 +130,22 @@ public class EndCrystal extends Entity {
|
||||
@@ -129,6 +129,22 @@ public class EndCrystal extends Entity {
|
||||
phantomDamageCooldown = 0;
|
||||
idleCooldown = 60;
|
||||
}
|
||||
@@ -31,7 +31,7 @@ index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -175,15 +191,17 @@ public class EndCrystal extends Entity {
|
||||
@@ -174,15 +190,17 @@ public class EndCrystal extends Entity {
|
||||
// CraftBukkit end
|
||||
this.remove(Entity.RemovalReason.KILLED);
|
||||
if (!source.isExplosion()) {
|
||||
@@ -52,10 +52,10 @@ index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03
|
||||
|
||||
this.onDestroyedBy(source);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 4e3bf53c088ec64882cf87c5e3facdaeb034e02e..3b75437f3e78d7d00ca0b41f85e18dc11bdc0f1c 100644
|
||||
index ce35bce48c3fc5e4365416e19a194e6821a3f5bb..99f106fb3e3c2220f0c97a8cafd22d5546e101e5 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -487,6 +487,35 @@ public class PurpurWorldConfig {
|
||||
@@ -463,6 +463,35 @@ public class PurpurWorldConfig {
|
||||
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 2f0654d4e8eba44880392d140ee52234b79e9503..75d1cf540dfe55c8b979219b14610c22a5d18c48 100644
|
||||
index ed1c473ef80202b3aa4996b5acb9728857eaec8c..ea5e71b2264c73888d9355f31177a50ccdb50110 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -1114,6 +1114,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -17,10 +17,10 @@ index 2f0654d4e8eba44880392d140ee52234b79e9503..75d1cf540dfe55c8b979219b14610c22
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 3de45a7a54643109fc6a8287879cf6dae87e72ec..2f9e10be559bbf685bbe8b4ac4b8a55a6a663821 100644
|
||||
index 580af65dd27616cd6c17f3b8e39abbb1c4549ef4..edd9c27c21bd3c377ecb9f14541140b73642c694 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -722,6 +722,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -733,6 +733,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
@Override
|
||||
protected boolean canRide(Entity entity) {
|
||||
@@ -29,10 +29,10 @@ index 3de45a7a54643109fc6a8287879cf6dae87e72ec..2f9e10be559bbf685bbe8b4ac4b8a55a
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 3b75437f3e78d7d00ca0b41f85e18dc11bdc0f1c..cadde9d8772d61edd0e041b508e0abebbd076454 100644
|
||||
index 99f106fb3e3c2220f0c97a8cafd22d5546e101e5..19e2027934810c7f384e33acb946ee51786eeae8 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -922,6 +922,7 @@ public class PurpurWorldConfig {
|
||||
@@ -898,6 +898,7 @@ public class PurpurWorldConfig {
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
public boolean enderDragonBypassMobGriefing = false;
|
||||
public boolean enderDragonTakeDamageFromWater = false;
|
||||
@@ -40,7 +40,7 @@ index 3b75437f3e78d7d00ca0b41f85e18dc11bdc0f1c..cadde9d8772d61edd0e041b508e0abeb
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||
@@ -939,6 +940,7 @@ public class PurpurWorldConfig {
|
||||
@@ -915,6 +916,7 @@ public class PurpurWorldConfig {
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
||||
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
||||
@@ -48,7 +48,7 @@ index 3b75437f3e78d7d00ca0b41f85e18dc11bdc0f1c..cadde9d8772d61edd0e041b508e0abeb
|
||||
}
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
@@ -2006,6 +2008,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1982,6 +1984,7 @@ public class PurpurWorldConfig {
|
||||
public int witherHealthRegenDelay = 20;
|
||||
public boolean witherBypassMobGriefing = false;
|
||||
public boolean witherTakeDamageFromWater = false;
|
||||
@@ -56,7 +56,7 @@ index 3b75437f3e78d7d00ca0b41f85e18dc11bdc0f1c..cadde9d8772d61edd0e041b508e0abeb
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2024,6 +2027,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2000,6 +2003,7 @@ public class PurpurWorldConfig {
|
||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
||||
Reference in New Issue
Block a user