mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
finish applying patches for 1.19.4
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
## Purpur
|
## Purpur
|
||||||
|
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://purpurmc.org/downloads/)
|
[](https://purpurmc.org/downloads/)
|
||||||
[](https://www.codefactor.io/repository/github/PurpurMC/Purpur)
|
[](https://www.codefactor.io/repository/github/PurpurMC/Purpur)
|
||||||
[](https://purpurmc.org/discord)
|
[](https://purpurmc.org/discord)
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ Maven
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.purpurmc.purpur</groupId>
|
<groupId>org.purpurmc.purpur</groupId>
|
||||||
<artifactId>purpur-api</artifactId>
|
<artifactId>purpur-api</artifactId>
|
||||||
<version>1.19.3-R0.1-SNAPSHOT</version>
|
<version>1.19.4-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
@@ -80,7 +80,7 @@ repositories {
|
|||||||
```
|
```
|
||||||
```kotlin
|
```kotlin
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("org.purpurmc.purpur:purpur-api:1.19.3-R0.1-SNAPSHOT")
|
compileOnly("org.purpurmc.purpur:purpur-api:1.19.4-R0.1-SNAPSHOT")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ plugins {
|
|||||||
java
|
java
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
id("com.github.johnrengelman.shadow") version "8.1.0" apply false
|
id("com.github.johnrengelman.shadow") version "8.1.0" apply false
|
||||||
id("io.papermc.paperweight.patcher") version "1.5.2"
|
id("io.papermc.paperweight.patcher") version "1.5.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
group = org.purpurmc.purpur
|
group = org.purpurmc.purpur
|
||||||
version = 1.19.3-R0.1-SNAPSHOT
|
version = 1.19.4-R0.1-SNAPSHOT
|
||||||
|
|
||||||
paperCommit = 155aa36d89b260ef5841615899299756b5983c0a
|
paperCommit = 72a9f8a9b8bb63a6b1f2c10b9da521d7267d79ee
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Build System Changes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 4e78a535b528a87ad0ec9c361541c79854929c6e..0d27a44ad43dce122e207aa7d0c83db594bb16a4 100644
|
index 097b62f538970013d8297f9f2972d1d2b8a088a3..1d1f5147827466bd3d032d6ea084e75b1b9fa7ad 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -104,6 +104,8 @@ tasks.jar {
|
@@ -97,6 +97,8 @@ tasks.jar {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<Javadoc> {
|
tasks.withType<Javadoc> {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index fd890d0a3a2c92ad821ade7711191bdb0e3e3624..99d3e4beb3f6397560180ef68c03b995677084e4 100644
|
index 660f28e371176c62e38a84b187958aceb235c8e3..9306bd672a1c3aae9759e9d8cd434245be066749 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -2969,4 +2969,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3000,4 +3000,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
@Override
|
@Override
|
||||||
Spigot spigot();
|
Spigot spigot();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -22,10 +22,10 @@ index 998f629852e1103767e005405d1f39c2251ecd28..49cba8a3226e4e2f2b11f3171c29e975
|
|||||||
* @deprecated removed in 1.16
|
* @deprecated removed in 1.16
|
||||||
*/
|
*/
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
index 11cf1bb585e2754bda443b776e9fcaf0a6cc289e..6a28812fa0cad47ae8f569bf9b99c9ff45df2677 100644
|
index 365350d38b2eee00d22bad09ab95c6054f11d536..1087d6fa472878a6648310543746c78eae08a22c 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
@@ -927,4 +927,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
@@ -953,4 +953,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||||
*/
|
*/
|
||||||
boolean wouldCollideUsing(@NotNull BoundingBox boundingBox);
|
boolean wouldCollideUsing(@NotNull BoundingBox boundingBox);
|
||||||
// Paper End - Collision API
|
// Paper End - Collision API
|
||||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Allow inventory resizing
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||||
index 8d7ad84c2bdafa8c8a385fe31acb887a883194ff..11230fb25270b06700efc61954556bfcd0135699 100644
|
index 6957d5b88c549f08dd3afe272f018be122f3a4a6..c5824f7fb988ed68feb8758ce6db748218f10b9b 100644
|
||||||
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||||
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||||
@@ -141,7 +141,7 @@ public enum InventoryType {
|
@@ -155,7 +155,7 @@ public enum InventoryType {
|
||||||
CHISELED_BOOKSHELF(6, "Chiseled Bookshelf"),
|
// Paper end
|
||||||
;
|
;
|
||||||
|
|
||||||
- private final int size;
|
- private final int size;
|
||||||
+ private int size; public void setDefaultSize(int size) { this.size = size; } // Purpur - remove file and add setter
|
+ private int size; public void setDefaultSize(int size) { this.size = size; } // Purpur - remove final and add setter
|
||||||
private final String title;
|
private final String title;
|
||||||
private final boolean isCreatable;
|
private final boolean isCreatable;
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 99d3e4beb3f6397560180ef68c03b995677084e4..bb2fa28f461b3e4f66ca1986edbd965e89210c22 100644
|
index 9306bd672a1c3aae9759e9d8cd434245be066749..8dcb8bd95cad85f80991b0f6ae0439ab070b202e 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -2977,5 +2977,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3008,5 +3008,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
* @return True if Player uses Purpur Client
|
* @return True if Player uses Purpur Client
|
||||||
*/
|
*/
|
||||||
public boolean usesPurpurClient();
|
public boolean usesPurpurClient();
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] ExecuteCommandEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||||
index b8623575b1c1b565560c2dd6438190716845a652..0bc24d0effe9b2e44c41a1c00060b0ebf7395c4a 100644
|
index ac9a28922f8a556944a4c3649d74c32c622f0cb0..e842d13febca67ffa1c89fb2c1324d2609fb81fd 100644
|
||||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||||
@@ -143,6 +143,19 @@ public class SimpleCommandMap implements CommandMap {
|
@@ -143,6 +143,19 @@ public class SimpleCommandMap implements CommandMap {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
index d045f41d929c6101060caf3a9fb48c8ffc036f16..7bd859e8682af7c66e604c952a885328838baeb0 100644
|
index 059dfc40edc6c52f95a30e9ac72f45b6aaf5f9a8..2bcf281053b1482a8d60d50fd231006659f7b651 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
@@ -1146,4 +1146,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
@@ -1148,4 +1148,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||||
*/
|
*/
|
||||||
void setBodyYaw(float bodyYaw);
|
void setBodyYaw(float bodyYaw);
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index bb2fa28f461b3e4f66ca1986edbd965e89210c22..59a9ca48a9c4194d4b807652df65a2c2c7e61c3b 100644
|
index 8dcb8bd95cad85f80991b0f6ae0439ab070b202e..6d44768ac23b80dc170e242f040c5bcaabd0510f 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -2996,5 +2996,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3027,5 +3027,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
* Reset the idle timer back to 0
|
* Reset the idle timer back to 0
|
||||||
*/
|
*/
|
||||||
void resetIdleTimer();
|
void resetIdleTimer();
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
||||||
index 6bbb47d1f9d8d45326232024e82a0ebaf764fae7..2a22d0639d63a3db4e7bded2d4e91b09bb93a95e 100644
|
index bd32af93807815e23b9cf5e51ba6025170a1dee7..be515bf0847be4e096c13e76e4de8b8ddbde719d 100644
|
||||||
--- a/src/main/java/org/bukkit/Material.java
|
--- a/src/main/java/org/bukkit/Material.java
|
||||||
+++ b/src/main/java/org/bukkit/Material.java
|
+++ b/src/main/java/org/bukkit/Material.java
|
||||||
@@ -10753,4 +10753,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
@@ -11072,4 +11072,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
|
||||||
public String getItemTranslationKey() {
|
public String getItemTranslationKey() {
|
||||||
return Bukkit.getUnsafe().getItemTranslationKey(this);
|
return Bukkit.getUnsafe().getItemTranslationKey(this);
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
index 7bd859e8682af7c66e604c952a885328838baeb0..f9ccc652c3e1d8e7eb68397d22ca75e040dcb43f 100644
|
index 2bcf281053b1482a8d60d50fd231006659f7b651..ed6bc6bc206d2742c96e80a10efc46e2f5206666 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
@@ -1161,5 +1161,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
@@ -1163,5 +1163,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||||
* @param safeFallDistance Safe fall distance
|
* @param safeFallDistance Safe fall distance
|
||||||
*/
|
*/
|
||||||
void setSafeFallDistance(float safeFallDistance);
|
void setSafeFallDistance(float safeFallDistance);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add enchantment target for bows and crossbows
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
index cb9e8b53da300a911f84e15ee9be2261cf1cc340..ec0b5f504c920adb9aec9023dce653ba370f7526 100644
|
index bea786a8be4402f9384984e48390e745f2988dd6..db6375f481e0cb8c20e6417adfc435da6974acce 100644
|
||||||
--- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
--- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
@@ -227,6 +227,18 @@ public enum EnchantmentTarget {
|
@@ -228,6 +228,18 @@ public enum EnchantmentTarget {
|
||||||
public boolean includes(@NotNull Material item) {
|
public boolean includes(@NotNull Material item) {
|
||||||
return BREAKABLE.includes(item) || (WEARABLE.includes(item) && !item.equals(Material.ELYTRA)) || item.equals(Material.COMPASS);
|
return BREAKABLE.includes(item) || (WEARABLE.includes(item) && !item.equals(Material.ELYTRA)) || item.equals(Material.COMPASS);
|
||||||
}
|
}
|
||||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
Co-authored by: Encode42 <me@encode42.dev>
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
index 6a28812fa0cad47ae8f569bf9b99c9ff45df2677..4ed2d786bec410900bcc28f098d1e056e2eccbc6 100644
|
index 1087d6fa472878a6648310543746c78eae08a22c..4fb8bf49edbc49f7238932eb661816152cbd05dc 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
@@ -957,5 +957,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
@@ -983,5 +983,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||||
* @return True if ridable in water
|
* @return True if ridable in water
|
||||||
*/
|
*/
|
||||||
boolean isRidableInWater();
|
boolean isRidableInWater();
|
||||||
@@ -23,10 +23,10 @@ index 6a28812fa0cad47ae8f569bf9b99c9ff45df2677..4ed2d786bec410900bcc28f098d1e056
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
index f9ccc652c3e1d8e7eb68397d22ca75e040dcb43f..44246068b51e47342d767f15af6881f29461589c 100644
|
index ed6bc6bc206d2742c96e80a10efc46e2f5206666..216ad2cf780cc432e85cd59a8cd8deb33b701a70 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
@@ -1168,5 +1168,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
@@ -1170,5 +1170,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||||
* @param slot Equipment slot to play break animation for
|
* @param slot Equipment slot to play break animation for
|
||||||
*/
|
*/
|
||||||
void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot);
|
void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Shears can have looting enchantment
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
index ec0b5f504c920adb9aec9023dce653ba370f7526..c8a603bb614f891d8eb43acd3eddd0504816566f 100644
|
index db6375f481e0cb8c20e6417adfc435da6974acce..5eb81fcc18b8fdec5a0e4c699525281fa6ad4d78 100644
|
||||||
--- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
--- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java
|
||||||
@@ -238,6 +238,16 @@ public enum EnchantmentTarget {
|
@@ -239,6 +239,16 @@ public enum EnchantmentTarget {
|
||||||
public boolean includes(@NotNull Material item) {
|
public boolean includes(@NotNull Material item) {
|
||||||
return item.equals(Material.BOW) || item.equals(Material.CROSSBOW);
|
return item.equals(Material.BOW) || item.equals(Material.CROSSBOW);
|
||||||
}
|
}
|
||||||
@@ -260,10 +260,10 @@ index bb249f7d54fd90d63f609eedf0bbb463f1aa96f1..a38863ebd363f54994753937a10e0410
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 59a9ca48a9c4194d4b807652df65a2c2c7e61c3b..53b42a10af51865d45b211a13ab1780604ce43ec 100644
|
index 6d44768ac23b80dc170e242f040c5bcaabd0510f..c09c8e2c32b699301ae66b467582511e518bf3d3 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3017,5 +3017,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3048,5 +3048,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
* @param invulnerableTicks Invulnerable ticks remaining
|
* @param invulnerableTicks Invulnerable ticks remaining
|
||||||
*/
|
*/
|
||||||
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 53b42a10af51865d45b211a13ab1780604ce43ec..9c03265a9e932b3c9b5f0f7ffb4c9e9094f813ec 100644
|
index c09c8e2c32b699301ae66b467582511e518bf3d3..134a573fd933dce1002d9e3b62dafce83b1d6aea 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3087,5 +3087,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3118,5 +3118,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
* Clears all debug block highlights
|
* Clears all debug block highlights
|
||||||
*/
|
*/
|
||||||
void clearBlockHighlights();
|
void clearBlockHighlights();
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add log suppression for LibraryLoader
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
index 90fdaee8b07df0acf8863103b47a1c68e38a3e4f..6319f6c1428d0e272681984c1b15ec05a3272423 100644
|
index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..f1e58639213be0c43cd2ff090b625e7d0a67e8be 100644
|
||||||
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
@@ -55,6 +55,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -55,6 +55,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
index 4ed2d786bec410900bcc28f098d1e056e2eccbc6..649babbfdd495e8c9471c2f6518d2eb9d9568ba4 100644
|
index 4fb8bf49edbc49f7238932eb661816152cbd05dc..47f644b9cb615e2feeacb810898cf567f1cf04fc 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||||
@@ -964,5 +964,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
@@ -990,5 +990,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||||
* @return True if in daylight
|
* @return True if in daylight
|
||||||
*/
|
*/
|
||||||
boolean isInDaylight();
|
boolean isInDaylight();
|
||||||
@@ -28,13 +28,13 @@ index 9421e45653e68922a51cf0071792e6fa7999d0b8..181e9cd8623995f40e696ccfe49754dc
|
|||||||
api("org.apache.logging.log4j:log4j-api:2.17.1")
|
api("org.apache.logging.log4j:log4j-api:2.17.1")
|
||||||
api("org.slf4j:slf4j-api:1.8.0-beta4")
|
api("org.slf4j:slf4j-api:1.8.0-beta4")
|
||||||
+ api("io.sentry:sentry:5.4.0") // Pufferfish
|
+ api("io.sentry:sentry:5.4.0") // Pufferfish
|
||||||
|
|
||||||
implementation("org.ow2.asm:asm:9.4")
|
implementation("org.ow2.asm:asm:9.4")
|
||||||
implementation("org.ow2.asm:asm-commons:9.4")
|
implementation("org.ow2.asm:asm-commons:9.4")
|
||||||
@@ -84,6 +85,13 @@ val generateApiVersioningFile by tasks.registering {
|
@@ -84,6 +85,13 @@ val generateApiVersioningFile by tasks.registering {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+// Pufferfish Start
|
+// Pufferfish Start
|
||||||
+tasks.withType<JavaCompile> {
|
+tasks.withType<JavaCompile> {
|
||||||
+ val compilerArgs = options.compilerArgs
|
+ val compilerArgs = options.compilerArgs
|
||||||
@@ -206,7 +206,7 @@ index 0000000000000000000000000000000000000000..cfbc75a4525b0596547db496eabe8679
|
|||||||
+ public RegisteredListener getRegisteredListener() {
|
+ public RegisteredListener getRegisteredListener() {
|
||||||
+ return registeredListener;
|
+ return registeredListener;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setRegisteredListener(RegisteredListener registeredListener) {
|
+ public void setRegisteredListener(RegisteredListener registeredListener) {
|
||||||
+ this.registeredListener = registeredListener;
|
+ this.registeredListener = registeredListener;
|
||||||
+ }
|
+ }
|
||||||
@@ -231,7 +231,7 @@ index 0000000000000000000000000000000000000000..ab5fea0b03224bf249352ce340e94704
|
|||||||
+ */
|
+ */
|
||||||
+@Deprecated
|
+@Deprecated
|
||||||
+public class SIMDChecker {
|
+public class SIMDChecker {
|
||||||
+
|
+
|
||||||
+ @Deprecated
|
+ @Deprecated
|
||||||
+ public static boolean canEnable(Logger logger) {
|
+ public static boolean canEnable(Logger logger) {
|
||||||
+ try {
|
+ try {
|
||||||
@@ -239,13 +239,13 @@ index 0000000000000000000000000000000000000000..ab5fea0b03224bf249352ce340e94704
|
|||||||
+ return false;
|
+ return false;
|
||||||
+ } else {
|
+ } else {
|
||||||
+ SIMDDetection.testRun = true;
|
+ SIMDDetection.testRun = true;
|
||||||
+
|
+
|
||||||
+ VectorSpecies<Integer> ISPEC = IntVector.SPECIES_PREFERRED;
|
+ VectorSpecies<Integer> ISPEC = IntVector.SPECIES_PREFERRED;
|
||||||
+ VectorSpecies<Float> FSPEC = FloatVector.SPECIES_PREFERRED;
|
+ VectorSpecies<Float> FSPEC = FloatVector.SPECIES_PREFERRED;
|
||||||
+
|
+
|
||||||
+ logger.log(Level.INFO, "Max SIMD vector size on this system is " + ISPEC.vectorBitSize() + " bits (int)");
|
+ logger.log(Level.INFO, "Max SIMD vector size on this system is " + ISPEC.vectorBitSize() + " bits (int)");
|
||||||
+ logger.log(Level.INFO, "Max SIMD vector size on this system is " + FSPEC.vectorBitSize() + " bits (float)");
|
+ logger.log(Level.INFO, "Max SIMD vector size on this system is " + FSPEC.vectorBitSize() + " bits (float)");
|
||||||
+
|
+
|
||||||
+ if (ISPEC.elementSize() < 2 || FSPEC.elementSize() < 2) {
|
+ if (ISPEC.elementSize() < 2 || FSPEC.elementSize() < 2) {
|
||||||
+ logger.log(Level.WARNING, "SIMD is not properly supported on this system!");
|
+ logger.log(Level.WARNING, "SIMD is not properly supported on this system!");
|
||||||
+ return false;
|
+ return false;
|
||||||
@@ -256,7 +256,7 @@ index 0000000000000000000000000000000000000000..ab5fea0b03224bf249352ce340e94704
|
|||||||
+ } catch (NoClassDefFoundError | Exception ignored) {} // Basically, we don't do anything. This lets us detect if it's not functional and disable it.
|
+ } catch (NoClassDefFoundError | Exception ignored) {} // Basically, we don't do anything. This lets us detect if it's not functional and disable it.
|
||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
@@ -270,11 +270,11 @@ index 0000000000000000000000000000000000000000..a84889d3e9cfc4d7ab5f867820a6484c
|
|||||||
+
|
+
|
||||||
+@Deprecated
|
+@Deprecated
|
||||||
+public class SIMDDetection {
|
+public class SIMDDetection {
|
||||||
+
|
+
|
||||||
+ public static boolean isEnabled = false;
|
+ public static boolean isEnabled = false;
|
||||||
+ public static boolean versionLimited = false;
|
+ public static boolean versionLimited = false;
|
||||||
+ public static boolean testRun = false;
|
+ public static boolean testRun = false;
|
||||||
+
|
+
|
||||||
+ @Deprecated
|
+ @Deprecated
|
||||||
+ public static boolean canEnable(Logger logger) {
|
+ public static boolean canEnable(Logger logger) {
|
||||||
+ try {
|
+ try {
|
||||||
@@ -283,7 +283,7 @@ index 0000000000000000000000000000000000000000..a84889d3e9cfc4d7ab5f867820a6484c
|
|||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Deprecated
|
+ @Deprecated
|
||||||
+ public static int getJavaVersion() {
|
+ public static int getJavaVersion() {
|
||||||
+ // https://stackoverflow.com/a/2591122
|
+ // https://stackoverflow.com/a/2591122
|
||||||
@@ -297,7 +297,7 @@ index 0000000000000000000000000000000000000000..a84889d3e9cfc4d7ab5f867820a6484c
|
|||||||
+ version = version.split("-")[0]; // Azul is stupid
|
+ version = version.split("-")[0]; // Azul is stupid
|
||||||
+ return Integer.parseInt(version);
|
+ return Integer.parseInt(version);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java b/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java b/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
@@ -316,10 +316,10 @@ index 0000000000000000000000000000000000000000..ae2464920c9412ac90b819a540ee58be
|
|||||||
+
|
+
|
||||||
+@Deprecated
|
+@Deprecated
|
||||||
+public class VectorMapPalette {
|
+public class VectorMapPalette {
|
||||||
+
|
+
|
||||||
+ private static final VectorSpecies<Integer> I_SPEC = IntVector.SPECIES_PREFERRED;
|
+ private static final VectorSpecies<Integer> I_SPEC = IntVector.SPECIES_PREFERRED;
|
||||||
+ private static final VectorSpecies<Float> F_SPEC = FloatVector.SPECIES_PREFERRED;
|
+ private static final VectorSpecies<Float> F_SPEC = FloatVector.SPECIES_PREFERRED;
|
||||||
+
|
+
|
||||||
+ @Deprecated
|
+ @Deprecated
|
||||||
+ public static void matchColorVectorized(int[] in, byte[] out) {
|
+ public static void matchColorVectorized(int[] in, byte[] out) {
|
||||||
+ int speciesLength = I_SPEC.length();
|
+ int speciesLength = I_SPEC.length();
|
||||||
@@ -329,64 +329,64 @@ index 0000000000000000000000000000000000000000..ae2464920c9412ac90b819a540ee58be
|
|||||||
+ float[] bluesArr = new float[speciesLength];
|
+ float[] bluesArr = new float[speciesLength];
|
||||||
+ float[] greensArr = new float[speciesLength];
|
+ float[] greensArr = new float[speciesLength];
|
||||||
+ int[] alphasArr = new int[speciesLength];
|
+ int[] alphasArr = new int[speciesLength];
|
||||||
+
|
+
|
||||||
+ for (int j = 0; j < speciesLength; j++) {
|
+ for (int j = 0; j < speciesLength; j++) {
|
||||||
+ alphasArr[j] = (in[i + j] >> 24) & 0xFF;
|
+ alphasArr[j] = (in[i + j] >> 24) & 0xFF;
|
||||||
+ redsArr[j] = (in[i + j] >> 16) & 0xFF;
|
+ redsArr[j] = (in[i + j] >> 16) & 0xFF;
|
||||||
+ greensArr[j] = (in[i + j] >> 8) & 0xFF;
|
+ greensArr[j] = (in[i + j] >> 8) & 0xFF;
|
||||||
+ bluesArr[j] = (in[i + j] >> 0) & 0xFF;
|
+ bluesArr[j] = (in[i + j] >> 0) & 0xFF;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ IntVector alphas = IntVector.fromArray(I_SPEC, alphasArr, 0);
|
+ IntVector alphas = IntVector.fromArray(I_SPEC, alphasArr, 0);
|
||||||
+ FloatVector reds = FloatVector.fromArray(F_SPEC, redsArr, 0);
|
+ FloatVector reds = FloatVector.fromArray(F_SPEC, redsArr, 0);
|
||||||
+ FloatVector greens = FloatVector.fromArray(F_SPEC, greensArr, 0);
|
+ FloatVector greens = FloatVector.fromArray(F_SPEC, greensArr, 0);
|
||||||
+ FloatVector blues = FloatVector.fromArray(F_SPEC, bluesArr, 0);
|
+ FloatVector blues = FloatVector.fromArray(F_SPEC, bluesArr, 0);
|
||||||
+ IntVector resultIndex = IntVector.zero(I_SPEC);
|
+ IntVector resultIndex = IntVector.zero(I_SPEC);
|
||||||
+ VectorMask<Integer> modificationMask = VectorMask.fromLong(I_SPEC, 0xffffffff);
|
+ VectorMask<Integer> modificationMask = VectorMask.fromLong(I_SPEC, 0xffffffff);
|
||||||
+
|
+
|
||||||
+ modificationMask = modificationMask.and(alphas.lt(128).not());
|
+ modificationMask = modificationMask.and(alphas.lt(128).not());
|
||||||
+ FloatVector bestDistances = FloatVector.broadcast(F_SPEC, Float.MAX_VALUE);
|
+ FloatVector bestDistances = FloatVector.broadcast(F_SPEC, Float.MAX_VALUE);
|
||||||
+
|
+
|
||||||
+ for (int c = 4; c < MapPalette.colors.length; c++) {
|
+ for (int c = 4; c < MapPalette.colors.length; c++) {
|
||||||
+ // We're using 32-bit floats here because it's 2x faster and nobody will know the difference.
|
+ // We're using 32-bit floats here because it's 2x faster and nobody will know the difference.
|
||||||
+ // For correctness, the original algorithm uses 64-bit floats instead. Completely unnecessary.
|
+ // For correctness, the original algorithm uses 64-bit floats instead. Completely unnecessary.
|
||||||
+ FloatVector compReds = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getRed());
|
+ FloatVector compReds = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getRed());
|
||||||
+ FloatVector compGreens = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getGreen());
|
+ FloatVector compGreens = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getGreen());
|
||||||
+ FloatVector compBlues = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getBlue());
|
+ FloatVector compBlues = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getBlue());
|
||||||
+
|
+
|
||||||
+ FloatVector rMean = reds.add(compReds).div(2.0f);
|
+ FloatVector rMean = reds.add(compReds).div(2.0f);
|
||||||
+ FloatVector rDiff = reds.sub(compReds);
|
+ FloatVector rDiff = reds.sub(compReds);
|
||||||
+ FloatVector gDiff = greens.sub(compGreens);
|
+ FloatVector gDiff = greens.sub(compGreens);
|
||||||
+ FloatVector bDiff = blues.sub(compBlues);
|
+ FloatVector bDiff = blues.sub(compBlues);
|
||||||
+
|
+
|
||||||
+ FloatVector weightR = rMean.div(256.0f).add(2);
|
+ FloatVector weightR = rMean.div(256.0f).add(2);
|
||||||
+ FloatVector weightG = FloatVector.broadcast(F_SPEC, 4.0f);
|
+ FloatVector weightG = FloatVector.broadcast(F_SPEC, 4.0f);
|
||||||
+ FloatVector weightB = FloatVector.broadcast(F_SPEC, 255.0f).sub(rMean).div(256.0f).add(2.0f);
|
+ FloatVector weightB = FloatVector.broadcast(F_SPEC, 255.0f).sub(rMean).div(256.0f).add(2.0f);
|
||||||
+
|
+
|
||||||
+ FloatVector distance = weightR.mul(rDiff).mul(rDiff).add(weightG.mul(gDiff).mul(gDiff)).add(weightB.mul(bDiff).mul(bDiff));
|
+ FloatVector distance = weightR.mul(rDiff).mul(rDiff).add(weightG.mul(gDiff).mul(gDiff)).add(weightB.mul(bDiff).mul(bDiff));
|
||||||
+
|
+
|
||||||
+ // Now we compare to the best distance we've found.
|
+ // Now we compare to the best distance we've found.
|
||||||
+ // This mask contains a "1" if better, and a "0" otherwise.
|
+ // This mask contains a "1" if better, and a "0" otherwise.
|
||||||
+ VectorMask<Float> bestDistanceMask = distance.lt(bestDistances);
|
+ VectorMask<Float> bestDistanceMask = distance.lt(bestDistances);
|
||||||
+ bestDistances = bestDistances.blend(distance, bestDistanceMask); // Update the best distances
|
+ bestDistances = bestDistances.blend(distance, bestDistanceMask); // Update the best distances
|
||||||
+
|
+
|
||||||
+ // Update the result array
|
+ // Update the result array
|
||||||
+ // We also AND with the modification mask because we don't want to interfere if the alpha value isn't large enough.
|
+ // We also AND with the modification mask because we don't want to interfere if the alpha value isn't large enough.
|
||||||
+ resultIndex = resultIndex.blend(c, bestDistanceMask.cast(I_SPEC).and(modificationMask)); // Update the results
|
+ resultIndex = resultIndex.blend(c, bestDistanceMask.cast(I_SPEC).and(modificationMask)); // Update the results
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ for (int j = 0; j < speciesLength; j++) {
|
+ for (int j = 0; j < speciesLength; j++) {
|
||||||
+ int index = resultIndex.lane(j);
|
+ int index = resultIndex.lane(j);
|
||||||
+ out[i + j] = (byte) (index < 128 ? index : -129 + (index - 127));
|
+ out[i + j] = (byte) (index < 128 ? index : -129 + (index - 127));
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ // For the final ones, fall back to the regular method
|
+ // For the final ones, fall back to the regular method
|
||||||
+ for (; i < in.length; i++) {
|
+ for (; i < in.length; i++) {
|
||||||
+ out[i] = MapPalette.matchColor(new Color(in[i], true));
|
+ out[i] = MapPalette.matchColor(new Color(in[i], true));
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java
|
diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java
|
||||||
index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69a6f92891 100644
|
index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69a6f92891 100644
|
||||||
@@ -394,7 +394,7 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69
|
|||||||
+++ b/src/main/java/org/bukkit/map/MapPalette.java
|
+++ b/src/main/java/org/bukkit/map/MapPalette.java
|
||||||
@@ -1,6 +1,7 @@
|
@@ -1,6 +1,7 @@
|
||||||
package org.bukkit.map;
|
package org.bukkit.map;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
+import gg.pufferfish.pufferfish.simd.SIMDDetection; // Pufferfish
|
+import gg.pufferfish.pufferfish.simd.SIMDDetection; // Pufferfish
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@@ -402,7 +402,7 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69
|
|||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
@@ -40,7 +41,7 @@ public final class MapPalette {
|
@@ -40,7 +41,7 @@ public final class MapPalette {
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
- static final Color[] colors = {
|
- static final Color[] colors = {
|
||||||
+ public static final Color[] colors = { // Pufferfish - public access
|
+ public static final Color[] colors = { // Pufferfish - public access
|
||||||
@@ -411,7 +411,7 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69
|
|||||||
c(174, 164, 115), c(213, 201, 140), c(247, 233, 163), c(130, 123, 86),
|
c(174, 164, 115), c(213, 201, 140), c(247, 233, 163), c(130, 123, 86),
|
||||||
@@ -211,9 +212,15 @@ public final class MapPalette {
|
@@ -211,9 +212,15 @@ public final class MapPalette {
|
||||||
temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth());
|
temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth());
|
||||||
|
|
||||||
byte[] result = new byte[temp.getWidth() * temp.getHeight()];
|
byte[] result = new byte[temp.getWidth() * temp.getHeight()];
|
||||||
+ // Pufferfish start
|
+ // Pufferfish start
|
||||||
+ if (!SIMDDetection.isEnabled) {
|
+ if (!SIMDDetection.isEnabled) {
|
||||||
@@ -424,13 +424,13 @@ index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..9584e245144b561b4f6745b2f26a4f69
|
|||||||
+ // Pufferfish end
|
+ // Pufferfish end
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||||
index 2b8308989fce7f8a16907f8711b362e671fdbfb6..bd4d1a40f53784662174d426533ef4b5433a15b7 100644
|
index 2b8308989fce7f8a16907f8711b362e671fdbfb6..bd4d1a40f53784662174d426533ef4b5433a15b7 100644
|
||||||
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||||
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||||
@@ -584,7 +584,9 @@ public final class SimplePluginManager implements PluginManager {
|
@@ -584,7 +584,9 @@ public final class SimplePluginManager implements PluginManager {
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
private void handlePluginException(String msg, Throwable ex, Plugin plugin) {
|
private void handlePluginException(String msg, Throwable ex, Plugin plugin) {
|
||||||
+ gg.pufferfish.pufferfish.sentry.SentryContext.setPluginContext(plugin); // Pufferfish
|
+ gg.pufferfish.pufferfish.sentry.SentryContext.setPluginContext(plugin); // Pufferfish
|
||||||
@@ -467,7 +467,7 @@ index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..301e82369603f3dd6e6c1bd380da4bac
|
|||||||
+ return;
|
+ return;
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
||||||
|
|
||||||
// Perhaps abort here, rather than continue going, but as it stands,
|
// Perhaps abort here, rather than continue going, but as it stands,
|
||||||
@@ -361,7 +367,9 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -361,7 +367,9 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
try {
|
try {
|
||||||
@@ -477,7 +477,7 @@ index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..301e82369603f3dd6e6c1bd380da4bac
|
|||||||
server.getLogger().log(Level.SEVERE, "Error occurred while disabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
|
server.getLogger().log(Level.SEVERE, "Error occurred while disabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
|
||||||
+ gg.pufferfish.pufferfish.sentry.SentryContext.removePluginContext(); // Pufferfish
|
+ gg.pufferfish.pufferfish.sentry.SentryContext.removePluginContext(); // Pufferfish
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cloader instanceof PluginClassLoader) {
|
if (cloader instanceof PluginClassLoader) {
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||||
index 86771934c76dd63b219069b045dbb5511ee0f45d..24ab015fbab6ce789999872791f7ffe4cc64d6d6 100644
|
index 86771934c76dd63b219069b045dbb5511ee0f45d..24ab015fbab6ce789999872791f7ffe4cc64d6d6 100644
|
||||||
@@ -486,7 +486,7 @@ index 86771934c76dd63b219069b045dbb5511ee0f45d..24ab015fbab6ce789999872791f7ffe4
|
|||||||
@@ -48,6 +48,8 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
@@ -48,6 +48,8 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||||
private io.papermc.paper.plugin.provider.classloader.PluginClassLoaderGroup classLoaderGroup; // Paper
|
private io.papermc.paper.plugin.provider.classloader.PluginClassLoaderGroup classLoaderGroup; // Paper
|
||||||
public io.papermc.paper.plugin.provider.entrypoint.DependencyContext dependencyContext; // Paper
|
public io.papermc.paper.plugin.provider.entrypoint.DependencyContext dependencyContext; // Paper
|
||||||
|
|
||||||
+ private boolean closed = false; // Pufferfish
|
+ private boolean closed = false; // Pufferfish
|
||||||
+
|
+
|
||||||
static {
|
static {
|
||||||
@@ -495,7 +495,7 @@ index 86771934c76dd63b219069b045dbb5511ee0f45d..24ab015fbab6ce789999872791f7ffe4
|
|||||||
@@ -183,6 +185,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
@@ -183,6 +185,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||||
throw new ClassNotFoundException(name);
|
throw new ClassNotFoundException(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public boolean _airplane_hasClass(@NotNull String name) { return this.classes.containsKey(name); } // Pufferfish
|
+ public boolean _airplane_hasClass(@NotNull String name) { return this.classes.containsKey(name); } // Pufferfish
|
||||||
@Override
|
@Override
|
||||||
protected Class<?> findClass(String name) throws ClassNotFoundException {
|
protected Class<?> findClass(String name) throws ClassNotFoundException {
|
||||||
@@ -503,20 +503,20 @@ index 86771934c76dd63b219069b045dbb5511ee0f45d..24ab015fbab6ce789999872791f7ffe4
|
|||||||
@@ -190,7 +193,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
@@ -190,7 +193,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||||
}
|
}
|
||||||
Class<?> result = classes.get(name);
|
Class<?> result = classes.get(name);
|
||||||
|
|
||||||
- if (result == null) {
|
- if (result == null) {
|
||||||
+ if (result == null && !this.closed) { // Pufferfish
|
+ if (result == null && !this.closed) { // Pufferfish
|
||||||
String path = name.replace('.', '/').concat(".class");
|
String path = name.replace('.', '/').concat(".class");
|
||||||
JarEntry entry = jar.getJarEntry(path);
|
JarEntry entry = jar.getJarEntry(path);
|
||||||
|
|
||||||
@@ -237,6 +240,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
@@ -237,6 +240,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||||
this.setClass(name, result); // Paper
|
this.setClass(name, result); // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (result == null) throw new ClassNotFoundException(name); // Pufferfish
|
+ if (result == null) throw new ClassNotFoundException(name); // Pufferfish
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,6 +255,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
@@ -251,6 +255,7 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
|
||||||
// Paper end
|
// Paper end
|
||||||
super.close();
|
super.close();
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ index 6e441a1a28ba72a8b1cc09fe5fca71b3c70627d4..5c691db595ee412b77f729e90172bc4f
|
|||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
@@ -224,7 +224,7 @@ public class PufferfishConfig {
|
@@ -224,7 +224,7 @@ public class PufferfishConfig {
|
||||||
public static int activationDistanceMod;
|
public static int activationDistanceMod;
|
||||||
|
|
||||||
private static void dynamicActivationOfBrains() throws IOException {
|
private static void dynamicActivationOfBrains() throws IOException {
|
||||||
- dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", true);
|
- dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", true);
|
||||||
+ dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", false); // Purpur
|
+ dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", false); // Purpur
|
||||||
@@ -18,7 +18,7 @@ index 6e441a1a28ba72a8b1cc09fe5fca71b3c70627d4..5c691db595ee412b77f729e90172bc4f
|
|||||||
"This value determines how far away an entity has to be",
|
"This value determines how far away an entity has to be",
|
||||||
"from the player to start being effected by DEAR.");
|
"from the player to start being effected by DEAR.");
|
||||||
@@ -268,7 +268,7 @@ public class PufferfishConfig {
|
@@ -268,7 +268,7 @@ public class PufferfishConfig {
|
||||||
|
|
||||||
public static boolean throttleInactiveGoalSelectorTick;
|
public static boolean throttleInactiveGoalSelectorTick;
|
||||||
private static void inactiveGoalSelectorThrottle() {
|
private static void inactiveGoalSelectorThrottle() {
|
||||||
- getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", true,
|
- getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", true,
|
||||||
@@ -37,19 +37,19 @@ index 53198ebfa30273c5ddc1bb4324f5174ff99f688d..ccb905ad68465199516534a2ab74f7b3
|
|||||||
- // private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(); // Pufferfish - moved to super
|
- // private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(); // Pufferfish - moved to super
|
||||||
+ private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(this.random.nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - moved to super // Purpur - dont break ABI
|
+ private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(this.random.nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - moved to super // Purpur - dont break ABI
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
|
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index edd2c236ca7c37e1a3aec0048b8974f4cd62f2cc..42299fd6ae663b01bb5f010b96887caa744dcb96 100644
|
index edd2c236ca7c37e1a3aec0048b8974f4cd62f2cc..42299fd6ae663b01bb5f010b96887caa744dcb96 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -270,7 +270,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -270,7 +270,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
|
||||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||||
|
|
||||||
- protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
- protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
||||||
+ //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
+ //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
||||||
|
|
||||||
// Pufferfish start - ensure these get inlined
|
// Pufferfish start - ensure these get inlined
|
||||||
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
|
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||||
@@ -63,5 +63,5 @@ index de7a5f3812a017131fd1b32fbeff10e325b1cd2e..aa327e549949052b5babf4101cc2fc9a
|
|||||||
- this.lightningTick = this.level.getThreadUnsafeRandom().nextInt(100000) << 1; // Pufferfish - initialize lightning tick
|
- this.lightningTick = this.level.getThreadUnsafeRandom().nextInt(100000) << 1; // Pufferfish - initialize lightning tick
|
||||||
+ this.lightningTick = java.util.concurrent.ThreadLocalRandom.current().nextInt(100000) << 1; // Pufferfish - initialize lightning tick // Purpur - any random will do
|
+ this.lightningTick = java.util.concurrent.ThreadLocalRandom.current().nextInt(100000) << 1; // Pufferfish - initialize lightning tick // Purpur - any random will do
|
||||||
}
|
}
|
||||||
|
|
||||||
public org.bukkit.Chunk bukkitChunk;
|
public org.bukkit.Chunk bukkitChunk;
|
||||||
@@ -11,7 +11,7 @@ index 88c8f2c53c024021e7bad1e4666e3438b53ab588..16f136dd8ed96a3eb7ae1cf9c6039b4f
|
|||||||
@@ -482,7 +482,7 @@ public class ServerPlayerGameMode {
|
@@ -482,7 +482,7 @@ public class ServerPlayerGameMode {
|
||||||
player.setItemInHand(hand, itemstack1);
|
player.setItemInHand(hand, itemstack1);
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (this.isCreative()) {
|
- if (this.isCreative()) {
|
||||||
+ if (this.isCreative() && itemstack1 != ItemStack.EMPTY) { // Purpur
|
+ if (this.isCreative() && itemstack1 != ItemStack.EMPTY) { // Purpur
|
||||||
itemstack1.setCount(i);
|
itemstack1.setCount(i);
|
||||||
@@ -23,7 +23,7 @@ index 74838807857d32a1fc5fa9a8edb27dd8067d950c..26ed7bc8bc76b81b3cb47784de158feb
|
|||||||
+++ b/src/main/java/net/minecraft/world/item/ArmorItem.java
|
+++ b/src/main/java/net/minecraft/world/item/ArmorItem.java
|
||||||
@@ -147,7 +147,14 @@ public class ArmorItem extends Item implements Wearable {
|
@@ -147,7 +147,14 @@ public class ArmorItem extends Item implements Wearable {
|
||||||
}
|
}
|
||||||
|
|
||||||
itemstack.setCount(0);
|
itemstack.setCount(0);
|
||||||
- return InteractionResultHolder.sidedSuccess(itemstack, world.isClientSide());
|
- return InteractionResultHolder.sidedSuccess(itemstack, world.isClientSide());
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -43,7 +43,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2
|
|||||||
+++ b/src/main/java/net/minecraft/world/item/ElytraItem.java
|
+++ b/src/main/java/net/minecraft/world/item/ElytraItem.java
|
||||||
@@ -39,7 +39,14 @@ public class ElytraItem extends Item implements Wearable {
|
@@ -39,7 +39,14 @@ public class ElytraItem extends Item implements Wearable {
|
||||||
}
|
}
|
||||||
|
|
||||||
itemStack.setCount(0);
|
itemStack.setCount(0);
|
||||||
- return InteractionResultHolder.sidedSuccess(itemStack, world.isClientSide());
|
- return InteractionResultHolder.sidedSuccess(itemStack, world.isClientSide());
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -77,5 +77,5 @@ index 3cd04d8e1bf920c36fbab1968df1cb65fbcdc068..3592c0721ab50a0dff3ae6bd3c36316d
|
|||||||
+ playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping);
|
+ playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping);
|
||||||
+ playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy);
|
+ playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean projectileDespawnRateSettingsMigrated = false;
|
private static boolean projectileDespawnRateSettingsMigrated = false;
|
||||||
@@ -9,7 +9,7 @@ index 99fbb24dabe867ed4956a2996543107f58a57193..5c81c64540579fbacc335a3fadf4bf59
|
|||||||
--- a/src/main/java/net/minecraft/server/commands/FillCommand.java
|
--- a/src/main/java/net/minecraft/server/commands/FillCommand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/commands/FillCommand.java
|
+++ b/src/main/java/net/minecraft/server/commands/FillCommand.java
|
||||||
@@ -59,8 +59,10 @@ public class FillCommand {
|
@@ -59,8 +59,10 @@ public class FillCommand {
|
||||||
|
|
||||||
private static int fillBlocks(CommandSourceStack source, BoundingBox range, BlockInput block, FillCommand.Mode mode, @Nullable Predicate<BlockInWorld> filter) throws CommandSyntaxException {
|
private static int fillBlocks(CommandSourceStack source, BoundingBox range, BlockInput block, FillCommand.Mode mode, @Nullable Predicate<BlockInWorld> filter) throws CommandSyntaxException {
|
||||||
int i = range.getXSpan() * range.getYSpan() * range.getZSpan();
|
int i = range.getXSpan() * range.getYSpan() * range.getZSpan();
|
||||||
- if (i > 32768) {
|
- if (i > 32768) {
|
||||||
@@ -35,7 +35,7 @@ index 4c702a1a5b555d2fc68a80231d73018cf7e6fec6..f158f62d47a1b1df39c0c9c3006afb32
|
|||||||
public static String uptimeDay = "%02d day, ";
|
public static String uptimeDay = "%02d day, ";
|
||||||
@@ -286,6 +287,7 @@ public class PurpurConfig {
|
@@ -286,6 +287,7 @@ public class PurpurConfig {
|
||||||
commandCompassBarTickInterval = getInt("settings.command.compass.tick-interval", commandCompassBarTickInterval);
|
commandCompassBarTickInterval = getInt("settings.command.compass.tick-interval", commandCompassBarTickInterval);
|
||||||
|
|
||||||
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
|
commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
|
||||||
+ commandFillMaxArea = getInt("settings.command.fill.max-area", commandFillMaxArea);
|
+ commandFillMaxArea = getInt("settings.command.fill.max-area", commandFillMaxArea);
|
||||||
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
|
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
|
||||||
@@ -9,20 +9,20 @@ index 5f3be4356a6d65ea2a7e4d013abd4501cedd7428..f3593297929842b52e4467ed4386ab12
|
|||||||
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
@@ -28,6 +28,7 @@ public class PufferfishConfig {
|
@@ -28,6 +28,7 @@ public class PufferfishConfig {
|
||||||
|
|
||||||
private static final YamlFile config = new YamlFile();
|
private static final YamlFile config = new YamlFile();
|
||||||
private static int updates = 0;
|
private static int updates = 0;
|
||||||
+ public static File pufferfishFile; // Purpur
|
+ public static File pufferfishFile; // Purpur
|
||||||
|
|
||||||
private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
|
private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
|
||||||
ConfigurationSection newSection = new MemoryConfiguration();
|
ConfigurationSection newSection = new MemoryConfiguration();
|
||||||
@@ -50,7 +51,7 @@ public class PufferfishConfig {
|
@@ -50,7 +51,7 @@ public class PufferfishConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void load() throws IOException {
|
public static void load() throws IOException {
|
||||||
- File configFile = new File("pufferfish.yml");
|
- File configFile = new File("pufferfish.yml");
|
||||||
+ File configFile = pufferfishFile; // Purpur
|
+ File configFile = pufferfishFile; // Purpur
|
||||||
|
|
||||||
if (configFile.exists()) {
|
if (configFile.exists()) {
|
||||||
try {
|
try {
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -36,7 +36,7 @@ index 14c31ac94202e5266610869d3dd93b871cfb4557..46858fb57f122033a68aeb4ad3943132
|
|||||||
+ gg.pufferfish.pufferfish.PufferfishConfig.pufferfishFile = (java.io.File) options.valueOf("pufferfish-settings"); // Purpur
|
+ gg.pufferfish.pufferfish.PufferfishConfig.pufferfishFile = (java.io.File) options.valueOf("pufferfish-settings"); // Purpur
|
||||||
gg.pufferfish.pufferfish.PufferfishConfig.load(); // Pufferfish
|
gg.pufferfish.pufferfish.PufferfishConfig.load(); // Pufferfish
|
||||||
gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish
|
gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 8e706d752b6bbda353d85ce10cdb83a68a4f71d8..576cd8e20982bb20d10213b6c7a229428eec1c2f 100644
|
index 8e706d752b6bbda353d85ce10cdb83a68a4f71d8..576cd8e20982bb20d10213b6c7a229428eec1c2f 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -52,5 +52,5 @@ index 8e706d752b6bbda353d85ce10cdb83a68a4f71d8..576cd8e20982bb20d10213b6c7a22942
|
|||||||
+ .defaultsTo(new File("pufferfish.yml"))
|
+ .defaultsTo(new File("pufferfish.yml"))
|
||||||
+ .describedAs("Yml file");
|
+ .describedAs("Yml file");
|
||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
328
patches/server/0001-Rebrand.patch
Normal file
328
patches/server/0001-Rebrand.patch
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||||
|
Date: Sat, 4 May 2019 01:02:11 -0500
|
||||||
|
Subject: [PATCH] Rebrand
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
|
index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..19dee7357ed60769ae1a238b2c48c3799f3708fd 100644
|
||||||
|
--- a/build.gradle.kts
|
||||||
|
+++ b/build.gradle.kts
|
||||||
|
@@ -7,8 +7,8 @@ plugins {
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
- implementation(project(":paper-api"))
|
||||||
|
- implementation(project(":paper-mojangapi"))
|
||||||
|
+ implementation(project(":purpur-api")) // Purpur
|
||||||
|
+ implementation("io.papermc.paper:paper-mojangapi:1.19.3-R0.1-SNAPSHOT") // Purpur
|
||||||
|
// Paper start
|
||||||
|
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||||
|
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
|
@@ -38,6 +38,10 @@ dependencies {
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
|
||||||
|
+ implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur
|
||||||
|
+ implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
|
||||||
|
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
|
||||||
|
+
|
||||||
|
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5")
|
||||||
|
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
||||||
|
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
||||||
|
@@ -62,7 +66,7 @@ tasks.jar {
|
||||||
|
attributes(
|
||||||
|
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||||
|
"Implementation-Title" to "CraftBukkit",
|
||||||
|
- "Implementation-Version" to "git-Paper-$implementationVersion",
|
||||||
|
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
||||||
|
"Implementation-Vendor" to date, // Paper
|
||||||
|
"Specification-Title" to "Bukkit",
|
||||||
|
"Specification-Version" to project.version,
|
||||||
|
@@ -134,7 +138,7 @@ fun TaskContainer.registerRunTask(
|
||||||
|
name: String,
|
||||||
|
block: JavaExec.() -> Unit
|
||||||
|
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||||
|
- group = "paper"
|
||||||
|
+ group = "paperweight" // Purpur
|
||||||
|
mainClass.set("org.bukkit.craftbukkit.Main")
|
||||||
|
standardInput = System.`in`
|
||||||
|
workingDir = rootProject.layout.projectDirectory
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
index bf42969859545a8a520923ef1836ffa4a5cc24a0..462a6eed350fd660ddaf25d567bb6e97b77d0b2b 100644
|
||||||
|
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||||
|
@@ -19,8 +19,10 @@ import java.util.stream.StreamSupport;
|
||||||
|
|
||||||
|
public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
private static final java.util.regex.Pattern VER_PATTERN = java.util.regex.Pattern.compile("^([0-9\\.]*)\\-.*R"); // R is an anchor, will always give '-R' at end
|
||||||
|
- private static final String GITHUB_BRANCH_NAME = "master";
|
||||||
|
- private static final String DOWNLOAD_PAGE = "https://papermc.io/downloads";
|
||||||
|
+ // Purpur start
|
||||||
|
+ private static final String DOWNLOAD_PAGE = "https://purpurmc.org/downloads";
|
||||||
|
+ private static int distance = -2; public int distance() { return distance; }
|
||||||
|
+ // Purpur end
|
||||||
|
private static @Nullable String mcVer;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@@ -31,11 +33,11 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public Component getVersionMessage(@Nonnull String serverVersion) {
|
||||||
|
- String[] parts = serverVersion.substring("git-Paper-".length()).split("[-\\s]");
|
||||||
|
- final Component updateMessage = getUpdateStatusMessage("PaperMC/Paper", GITHUB_BRANCH_NAME, parts[0]);
|
||||||
|
+ String[] parts = serverVersion.substring("git-Purpur-".length()).split("[-\\s]"); // Purpur
|
||||||
|
+ final Component updateMessage = getUpdateStatusMessage("PurpurMC/Purpur", "ver/" + getMinecraftVersion(), parts[0]); // Purpur
|
||||||
|
final Component history = getHistory();
|
||||||
|
|
||||||
|
- return history != null ? TextComponent.ofChildren(updateMessage, Component.newline(), history) : updateMessage;
|
||||||
|
+ return history != null ? Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), history, updateMessage) : updateMessage; // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
private static @Nullable String getMinecraftVersion() {
|
||||||
|
@@ -45,7 +47,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
String result = matcher.group();
|
||||||
|
mcVer = result.substring(0, result.length() - 2); // strip 'R' anchor and trailing '-'
|
||||||
|
} else {
|
||||||
|
- org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to PaperMC!");
|
||||||
|
+ org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Purpur!"); // Purpur
|
||||||
|
org.bukkit.Bukkit.getLogger().warning("Pattern: " + VER_PATTERN.toString());
|
||||||
|
org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion());
|
||||||
|
}
|
||||||
|
@@ -55,7 +57,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Component getUpdateStatusMessage(@Nonnull String repo, @Nonnull String branch, @Nonnull String versionInfo) {
|
||||||
|
- int distance;
|
||||||
|
+ //int distance; // Purpur - use field
|
||||||
|
try {
|
||||||
|
int jenkinsBuild = Integer.parseInt(versionInfo);
|
||||||
|
distance = fetchDistanceFromSiteApi(jenkinsBuild, getMinecraftVersion());
|
||||||
|
@@ -66,13 +68,13 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
|
||||||
|
switch (distance) {
|
||||||
|
case -1:
|
||||||
|
- return Component.text("Error obtaining version information", NamedTextColor.YELLOW);
|
||||||
|
+ return Component.text("* Error obtaining version information", NamedTextColor.RED); // Purpur
|
||||||
|
case 0:
|
||||||
|
- return Component.text("You are running the latest version", NamedTextColor.GREEN);
|
||||||
|
+ return Component.text("* You are running the latest version", NamedTextColor.GREEN); // Purpur
|
||||||
|
case -2:
|
||||||
|
- return Component.text("Unknown version", NamedTextColor.YELLOW);
|
||||||
|
+ return Component.text("* Unknown version", NamedTextColor.YELLOW); // Purpur
|
||||||
|
default:
|
||||||
|
- return Component.text("You are " + distance + " version(s) behind", NamedTextColor.YELLOW)
|
||||||
|
+ return Component.text("* You are " + distance + " version(s) behind", NamedTextColor.YELLOW) // Purpur
|
||||||
|
.append(Component.newline())
|
||||||
|
.append(Component.text("Download the new version at: ")
|
||||||
|
.append(Component.text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
||||||
|
@@ -85,15 +87,11 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
if (siteApiVersion == null) { return -1; }
|
||||||
|
try {
|
||||||
|
try (BufferedReader reader = Resources.asCharSource(
|
||||||
|
- new URL("https://api.papermc.io/v2/projects/paper/versions/" + siteApiVersion),
|
||||||
|
+ new URL("https://api.purpurmc.org/v2/purpur/" + siteApiVersion), // Purpur
|
||||||
|
Charsets.UTF_8
|
||||||
|
).openBufferedStream()) {
|
||||||
|
JsonObject json = new Gson().fromJson(reader, JsonObject.class);
|
||||||
|
- JsonArray builds = json.getAsJsonArray("builds");
|
||||||
|
- int latest = StreamSupport.stream(builds.spliterator(), false)
|
||||||
|
- .mapToInt(e -> e.getAsInt())
|
||||||
|
- .max()
|
||||||
|
- .getAsInt();
|
||||||
|
+ int latest = json.getAsJsonObject("builds").getAsJsonPrimitive("latest").getAsInt(); // Purpur
|
||||||
|
return latest - jenkinsBuild;
|
||||||
|
} catch (JsonSyntaxException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
@@ -144,6 +142,6 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
- return Component.text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
|
||||||
|
+ return org.bukkit.ChatColor.parseMM("<grey>Previous: %s", oldVersion); // Purpur
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..3cb56595822799926a8141e60a42f5d1edfc6de5 100644
|
||||||
|
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
|
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||||
|
@Override
|
||||||
|
protected LineReader buildReader(LineReaderBuilder builder) {
|
||||||
|
builder
|
||||||
|
- .appName("Paper")
|
||||||
|
+ .appName("Purpur") // Purpur
|
||||||
|
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
||||||
|
.completer(new ConsoleCommandCompleter(this.server))
|
||||||
|
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||||
|
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438af293e22 100644
|
||||||
|
--- a/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
+++ b/src/main/java/net/minecraft/CrashReport.java
|
||||||
|
@@ -123,6 +123,10 @@ public class CrashReport {
|
||||||
|
StringBuilder stringbuilder = new StringBuilder();
|
||||||
|
|
||||||
|
stringbuilder.append("---- Minecraft Crash Report ----\n");
|
||||||
|
+ // Purpur start
|
||||||
|
+ stringbuilder.append("// ");
|
||||||
|
+ stringbuilder.append("// DO NOT REPORT THIS TO PAPER! REPORT TO PURPUR INSTEAD!");
|
||||||
|
+ // Purpur end
|
||||||
|
stringbuilder.append("// ");
|
||||||
|
stringbuilder.append(CrashReport.getErrorComment());
|
||||||
|
stringbuilder.append("\n\n");
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
index 674e76968e05c487e5271f76b45ba2d13b1412a0..ce6bb0323bc8f76c6f5d8f906481d037f56fd4b6 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
|
@@ -924,7 +924,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
shutdownThread = Thread.currentThread();
|
||||||
|
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||||
|
if (!isSameThread()) {
|
||||||
|
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
|
||||||
|
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PURPUR)"); // Purpur
|
||||||
|
while (this.getRunningThread().isAlive()) {
|
||||||
|
this.getRunningThread().stop();
|
||||||
|
try {
|
||||||
|
@@ -1679,7 +1679,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
|
@DontObfuscate
|
||||||
|
public String getServerModName() {
|
||||||
|
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||||
|
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||||
|
}
|
||||||
|
|
||||||
|
public SystemReport fillSystemReport(SystemReport details) {
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
index f9a9d2bb7b6d1bf4a0931438de4d8c7ee0757479..e288fd33be490b3269470cd0728a81a0ea6385f1 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
|
import javax.annotation.Nonnull; // Paper
|
||||||
|
|
||||||
|
public final class CraftServer implements Server {
|
||||||
|
- private final String serverName = "Paper"; // Paper
|
||||||
|
+ private final String serverName = "Purpur"; // Paper // Purpur
|
||||||
|
private final String serverVersion;
|
||||||
|
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||||
|
private final Logger logger = Logger.getLogger("Minecraft");
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
||||||
|
index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63eeb5747fb6 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
||||||
|
@@ -21,7 +21,12 @@ public class CraftConsoleCommandSender extends ServerCommandSender implements Co
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(String message) {
|
||||||
|
- this.sendRawMessage(message);
|
||||||
|
+ // Purpur start
|
||||||
|
+ String[] parts = message.split("\n");
|
||||||
|
+ for (String part : parts) {
|
||||||
|
+ this.sendRawMessage(part);
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@@ -91,7 +96,7 @@ public class CraftConsoleCommandSender extends ServerCommandSender implements Co
|
||||||
|
// Paper start
|
||||||
|
@Override
|
||||||
|
public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) {
|
||||||
|
- this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));
|
||||||
|
+ this.sendMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message)); // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
index aec588b41f19b2147a4e7267bafa417fbcf7abc0..699669aa34cb1476cb5b48719db4b01fe708a7b2 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
|
@@ -883,7 +883,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
|
return EntityCategory.WATER;
|
||||||
|
}
|
||||||
|
|
||||||
|
- throw new UnsupportedOperationException("Unsupported monster type: " + type + ". This is a bug, report this to Spigot.");
|
||||||
|
+ throw new UnsupportedOperationException("Unsupported monster type: " + type + ". This is a bug, report this to Purpur."); // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5eef4d20d5 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||||
|
@@ -504,7 +504,7 @@ public class CraftScheduler implements BukkitScheduler {
|
||||||
|
this.parsePending();
|
||||||
|
} else {
|
||||||
|
//this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
|
||||||
|
- task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Paper"); // Paper
|
||||||
|
+ task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Purpur"); // Paper // Purpur
|
||||||
|
// We don't need to parse pending
|
||||||
|
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
index 774556a62eb240da42e84db4502e2ed43495be17..fb87620c742ff7912f5e8ccd2a7930dd605576d9 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||||
|
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||||
|
public static String getBukkitVersion() {
|
||||||
|
String result = "Unknown-Version";
|
||||||
|
|
||||||
|
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
|
||||||
|
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
||||||
|
Properties properties = new Properties();
|
||||||
|
|
||||||
|
if (stream != null) {
|
||||||
|
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
index e9fa7faaa4451e36b3908cbcbbe0baf213abde96..a810bfd3b8d6bd4d8f2ef8797e4281ae4fe8a67f 100644
|
||||||
|
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
|
@@ -96,7 +96,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
|
||||||
|
private WatchdogThread(long timeoutTime, boolean restart)
|
||||||
|
{
|
||||||
|
- super( "Paper Watchdog Thread" );
|
||||||
|
+ super( "Watchdog Thread" ); // Purpur - use a generic name
|
||||||
|
this.timeoutTime = timeoutTime;
|
||||||
|
this.restart = restart;
|
||||||
|
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
|
||||||
|
@@ -155,14 +155,14 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
if (isLongTimeout) {
|
||||||
|
// Paper end
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
- log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug." ); // Paper
|
||||||
|
+ log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug." ); // Paper // Purpur
|
||||||
|
log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" );
|
||||||
|
log.log( Level.SEVERE, "\t *Especially* if it looks like HTTP or MySQL operations are occurring" );
|
||||||
|
log.log( Level.SEVERE, "If you see a world save or edit, then it means you did far more than your server can handle at once" );
|
||||||
|
log.log( Level.SEVERE, "\t If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes" );
|
||||||
|
- log.log( Level.SEVERE, "If you are unsure or still think this is a Paper bug, please report this to https://github.com/PaperMC/Paper/issues" );
|
||||||
|
+ log.log( Level.SEVERE, "If you are unsure or still think this is a Purpur bug, please report this to https://github.com/PurpurMC/Purpur/issues" ); // Purpur
|
||||||
|
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
|
||||||
|
- log.log( Level.SEVERE, "Paper version: " + Bukkit.getServer().getVersion() );
|
||||||
|
+ log.log( Level.SEVERE, "Purpur version: " + Bukkit.getServer().getVersion() ); // Purpur
|
||||||
|
//
|
||||||
|
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
||||||
|
{
|
||||||
|
@@ -185,12 +185,12 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
// Paper end
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---");
|
||||||
|
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur
|
||||||
|
log.log(Level.SEVERE, "The server has not responded for " + (currentTime - lastTick) / 1000 + " seconds! Creating thread dump");
|
||||||
|
}
|
||||||
|
// Paper end - Different message for short timeout
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
|
||||||
|
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
|
||||||
|
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper // Paper - rewrite chunk system
|
||||||
|
this.dumpTickingInfo(); // Paper - log detailed tick information
|
||||||
|
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||||
|
@@ -206,7 +206,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||||
|
WatchdogThread.dumpThread( thread, log );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---");
|
||||||
|
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH ---"); // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Purpur config files
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
index 692c962193cf9fcc6801fc93f3220bdc673d527b..9713263c3bd34ab8a3bfc0a8797ba0b1b88ed733 100644
|
index 4b002e8b75d117b726b0de274a76d3596fce015b..9713263c3bd34ab8a3bfc0a8797ba0b1b88ed733 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
@@ -593,7 +593,7 @@ public class Metrics {
|
@@ -593,7 +593,7 @@ public class Metrics {
|
||||||
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
|
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
|
||||||
// Only start Metrics, if it's enabled in the config
|
// Only start Metrics, if it's enabled in the config
|
||||||
if (config.getBoolean("enabled", true)) {
|
if (config.getBoolean("enabled", true)) {
|
||||||
- Metrics metrics = new Metrics("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
|
- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger());
|
||||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||||
@@ -26,11 +26,11 @@ index 692c962193cf9fcc6801fc93f3220bdc673d527b..9713263c3bd34ab8a3bfc0a8797ba0b1
|
|||||||
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||||
- if (implVersion != null) {
|
- if (implVersion != null) {
|
||||||
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||||
- paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
|
- paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash);
|
||||||
- } else {
|
- } else {
|
||||||
- paperVersion = "unknown";
|
- paperVersion = "unknown";
|
||||||
- }
|
- }
|
||||||
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
|
- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> paperVersion));
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ index 7b6b51392b123d34382233adcf4c3d4867bdaa32..ccc78857b51e25640ec1e4dcfe4c76a0
|
|||||||
if (this.source.acceptsSuccess() && !this.silent) {
|
if (this.source.acceptsSuccess() && !this.silent) {
|
||||||
this.source.sendSystemMessage(message);
|
this.source.sendSystemMessage(message);
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index ad4fdbdcf09f30d10e61ccf47f8fb9ce6bd92e73..ca6a2fee12ac8a89dae57aa2787462f190463cd0 100644
|
index a7e133f3495e9132a5fdae2c24f225e7b026295a..329ebc3d94997199ad342cb8e4d9f103ecca169f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
@@ -92,20 +92,19 @@ index ad4fdbdcf09f30d10e61ccf47f8fb9ce6bd92e73..ca6a2fee12ac8a89dae57aa2787462f1
|
|||||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index e5f6740dfe7abb77ee3a4af9c2b53a014819c7e1..a8fe157c54b758db73639b21d7ef0fd646034af6 100644
|
index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..2ae800110dc90b7f2d96d2c05ba3a53aea6c0c53 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -173,6 +173,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -177,6 +177,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||||
+
|
|
||||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||||
public static BlockPos lastPhysicsProblem; // Spigot
|
public static BlockPos lastPhysicsProblem; // Spigot
|
||||||
private org.spigotmc.TickLimiter entityLimiter;
|
private org.spigotmc.TickLimiter entityLimiter;
|
||||||
@@ -284,6 +286,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -277,6 +278,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
||||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
||||||
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||||
@@ -113,10 +112,10 @@ index e5f6740dfe7abb77ee3a4af9c2b53a014819c7e1..a8fe157c54b758db73639b21d7ef0fd6
|
|||||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 9d15cb8151a4008061c5788cbf4f4fa494cfe49d..fdb314838159f77b3fb12d61e74d12f582fb2bcf 100644
|
index e288fd33be490b3269470cd0728a81a0ea6385f1..3ae359a7334d8e398558fbb7c13cfd490a963d27 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -961,6 +961,7 @@ public final class CraftServer implements Server {
|
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
|
||||||
|
|
||||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||||
@@ -124,7 +123,7 @@ index 9d15cb8151a4008061c5788cbf4f4fa494cfe49d..fdb314838159f77b3fb12d61e74d12f5
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
@@ -976,6 +977,7 @@ public final class CraftServer implements Server {
|
@@ -971,6 +972,7 @@ public final class CraftServer implements Server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
world.spigotConfig.init(); // Spigot
|
world.spigotConfig.init(); // Spigot
|
||||||
@@ -132,7 +131,7 @@ index 9d15cb8151a4008061c5788cbf4f4fa494cfe49d..fdb314838159f77b3fb12d61e74d12f5
|
|||||||
}
|
}
|
||||||
|
|
||||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||||
@@ -991,6 +993,7 @@ public final class CraftServer implements Server {
|
@@ -986,6 +988,7 @@ public final class CraftServer implements Server {
|
||||||
this.reloadData();
|
this.reloadData();
|
||||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||||
@@ -140,7 +139,7 @@ index 9d15cb8151a4008061c5788cbf4f4fa494cfe49d..fdb314838159f77b3fb12d61e74d12f5
|
|||||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||||
|
|
||||||
@@ -2751,6 +2754,18 @@ public final class CraftServer implements Server {
|
@@ -2744,6 +2747,18 @@ public final class CraftServer implements Server {
|
||||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,10 +159,10 @@ index 9d15cb8151a4008061c5788cbf4f4fa494cfe49d..fdb314838159f77b3fb12d61e74d12f5
|
|||||||
public void restart() {
|
public void restart() {
|
||||||
org.spigotmc.RestartCommand.restart();
|
org.spigotmc.RestartCommand.restart();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index f30621be24c6c3a4f173436fce1ad1c13507c84f..e859f1078a42de196a69818a34a8b2c24958c717 100644
|
index d51650d3e37eb76a0cf991e95d28a552aa567af9..0206b97cdc244998b1a4f148a71457dabb9236de 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -166,6 +166,14 @@ public class Main {
|
@@ -173,6 +173,14 @@ public class Main {
|
||||||
.describedAs("Jar file");
|
.describedAs("Jar file");
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -361,13 +360,12 @@ index 0000000000000000000000000000000000000000..bd9ea8dfbd986c96000efb7dc36fc93d
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..efbbe97d29561fa456b40292328eed89650f4322
|
index 0000000000000000000000000000000000000000..2b7f1dedb3289efc7e42a138f4483f4969902801
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -0,0 +1,95 @@
|
@@ -0,0 +1,94 @@
|
||||||
+package org.purpurmc.purpur;
|
+package org.purpurmc.purpur;
|
||||||
+
|
+
|
||||||
+//import gg.pufferfish.pufferfish.PufferfishConfig;
|
|
||||||
+import net.minecraft.core.registries.BuiltInRegistries;
|
+import net.minecraft.core.registries.BuiltInRegistries;
|
||||||
+import net.minecraft.resources.ResourceLocation;
|
+import net.minecraft.resources.ResourceLocation;
|
||||||
+import net.minecraft.util.Mth;
|
+import net.minecraft.util.Mth;
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 289429eb464548acc80262a49444f49f8f57fc0c..7b6b3312860633f70e64641c0a0c520572874b70 100644
|
index ca5291a9573a62cb5c19539cf5c7aceff11f9829..98d92f6d6a98d66e369286b079db2c4db0bd5298 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -268,6 +268,7 @@ public class ServerPlayer extends Player {
|
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
|
||||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||||
@@ -17,10 +17,10 @@ index 289429eb464548acc80262a49444f49f8f57fc0c..7b6b3312860633f70e64641c0a0c5205
|
|||||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 2ca19bbe3a71091843fc7175d726c70321d1fee3..f6a975c5b5b360a8cfddc577ab1737ff0e64350a 100644
|
index 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..5e407aadb8b880f5bb8a485e681d6d6201cb0f31 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -3511,6 +3511,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -3523,6 +3523,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
||||||
|
|
||||||
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
||||||
@@ -28,7 +28,7 @@ index 2ca19bbe3a71091843fc7175d726c70321d1fee3..f6a975c5b5b360a8cfddc577ab1737ff
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||||
@@ -3535,6 +3536,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -3547,6 +3548,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
||||||
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
||||||
}
|
}
|
||||||
@@ -43,10 +43,10 @@ index 2ca19bbe3a71091843fc7175d726c70321d1fee3..f6a975c5b5b360a8cfddc577ab1737ff
|
|||||||
try {
|
try {
|
||||||
byte[] data = new byte[packet.data.readableBytes()];
|
byte[] data = new byte[packet.data.readableBytes()];
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index c546a465a2f85e1b0e785074af15546637619e8f..df85031aaedfd5e5d189003a7cb89d6eef6fa186 100644
|
index eca5e6b93dd84307bf9dbadf32414d6f506e69dc..6c502a804344d2121653d330a689d012cf5c4562 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -3081,4 +3081,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -3148,4 +3148,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
return this.spigot;
|
return this.spigot;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -1,802 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
||||||
Date: Sat, 4 May 2019 01:02:11 -0500
|
|
||||||
Subject: [PATCH] Rebrand
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
||||||
index 8d8c5a8bd2a53ac6d9b36e0330a7be6725aa407c..0435c1eb5c1fa6f9180ee8dc36a61afbac0f952e 100644
|
|
||||||
--- a/build.gradle.kts
|
|
||||||
+++ b/build.gradle.kts
|
|
||||||
@@ -7,9 +7,9 @@ plugins {
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
|
||||||
+ implementation(project(":purpur-api")) // Purpur
|
|
||||||
// Pufferfish start
|
|
||||||
- implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
|
|
||||||
+ implementation("io.papermc.paper:paper-mojangapi:1.19.3-R0.1-SNAPSHOT") {
|
|
||||||
exclude("io.papermc.paper", "paper-api")
|
|
||||||
}
|
|
||||||
// Pufferfish end
|
|
||||||
@@ -42,6 +42,10 @@ dependencies {
|
|
||||||
runtimeOnly("mysql:mysql-connector-java:8.0.29")
|
|
||||||
runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
|
|
||||||
|
|
||||||
+ implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur
|
|
||||||
+ implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
|
|
||||||
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
|
|
||||||
+
|
|
||||||
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5")
|
|
||||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
|
||||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
|
||||||
@@ -81,7 +85,7 @@ tasks.jar {
|
|
||||||
attributes(
|
|
||||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
|
||||||
"Implementation-Title" to "CraftBukkit",
|
|
||||||
- "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
|
|
||||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
|
||||||
"Implementation-Vendor" to date, // Paper
|
|
||||||
"Specification-Title" to "Bukkit",
|
|
||||||
"Specification-Version" to project.version,
|
|
||||||
@@ -153,7 +157,7 @@ fun TaskContainer.registerRunTask(
|
|
||||||
name: String,
|
|
||||||
block: JavaExec.() -> Unit
|
|
||||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
|
||||||
- group = "paper"
|
|
||||||
+ group = "paperweight" // Purpur
|
|
||||||
mainClass.set("org.bukkit.craftbukkit.Main")
|
|
||||||
standardInput = System.`in`
|
|
||||||
workingDir = rootProject.layout.projectDirectory
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
index bf42969859545a8a520923ef1836ffa4a5cc24a0..fba5dbdb7bcbb55400ef18342c9b54612972a718 100644
|
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
|
||||||
@@ -19,8 +19,10 @@ import java.util.stream.StreamSupport;
|
|
||||||
|
|
||||||
public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
private static final java.util.regex.Pattern VER_PATTERN = java.util.regex.Pattern.compile("^([0-9\\.]*)\\-.*R"); // R is an anchor, will always give '-R' at end
|
|
||||||
- private static final String GITHUB_BRANCH_NAME = "master";
|
|
||||||
- private static final String DOWNLOAD_PAGE = "https://papermc.io/downloads";
|
|
||||||
+ // Purpur start
|
|
||||||
+ private static final String DOWNLOAD_PAGE = "https://purpurmc.org/downloads";
|
|
||||||
+ private static int distance = -2; public int distance() { return distance; }
|
|
||||||
+ // Purpur end
|
|
||||||
private static @Nullable String mcVer;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -31,11 +33,11 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public Component getVersionMessage(@Nonnull String serverVersion) {
|
|
||||||
- String[] parts = serverVersion.substring("git-Paper-".length()).split("[-\\s]");
|
|
||||||
- final Component updateMessage = getUpdateStatusMessage("PaperMC/Paper", GITHUB_BRANCH_NAME, parts[0]);
|
|
||||||
+ String[] parts = serverVersion.substring("git-Purpur-".length()).split("[-\\s]"); // Purpur
|
|
||||||
+ final Component updateMessage = getUpdateStatusMessage("PurpurMC/Purpur", "ver/" + getMinecraftVersion(), parts[0]); // Purpur
|
|
||||||
final Component history = getHistory();
|
|
||||||
|
|
||||||
- return history != null ? TextComponent.ofChildren(updateMessage, Component.newline(), history) : updateMessage;
|
|
||||||
+ return history != null ? Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), history, updateMessage) : updateMessage; // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
private static @Nullable String getMinecraftVersion() {
|
|
||||||
@@ -45,7 +47,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
String result = matcher.group();
|
|
||||||
mcVer = result.substring(0, result.length() - 2); // strip 'R' anchor and trailing '-'
|
|
||||||
} else {
|
|
||||||
- org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to PaperMC!");
|
|
||||||
+ org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Purpur!"); // Purpur
|
|
||||||
org.bukkit.Bukkit.getLogger().warning("Pattern: " + VER_PATTERN.toString());
|
|
||||||
org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion());
|
|
||||||
}
|
|
||||||
@@ -55,7 +57,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Component getUpdateStatusMessage(@Nonnull String repo, @Nonnull String branch, @Nonnull String versionInfo) {
|
|
||||||
- int distance;
|
|
||||||
+ //int distance; // Purpur - use field
|
|
||||||
try {
|
|
||||||
int jenkinsBuild = Integer.parseInt(versionInfo);
|
|
||||||
distance = fetchDistanceFromSiteApi(jenkinsBuild, getMinecraftVersion());
|
|
||||||
@@ -66,13 +68,13 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
|
|
||||||
switch (distance) {
|
|
||||||
case -1:
|
|
||||||
- return Component.text("Error obtaining version information", NamedTextColor.YELLOW);
|
|
||||||
+ return Component.text("* Error obtaining version information", NamedTextColor.RED); // Purpur
|
|
||||||
case 0:
|
|
||||||
- return Component.text("You are running the latest version", NamedTextColor.GREEN);
|
|
||||||
+ return Component.text("* You are running the latest version", NamedTextColor.GREEN); // Purpur
|
|
||||||
case -2:
|
|
||||||
- return Component.text("Unknown version", NamedTextColor.YELLOW);
|
|
||||||
+ return Component.text("* Unknown version", NamedTextColor.RED); // Purpur
|
|
||||||
default:
|
|
||||||
- return Component.text("You are " + distance + " version(s) behind", NamedTextColor.YELLOW)
|
|
||||||
+ return Component.text("* You are " + distance + " version(s) behind", NamedTextColor.YELLOW) // Purpur
|
|
||||||
.append(Component.newline())
|
|
||||||
.append(Component.text("Download the new version at: ")
|
|
||||||
.append(Component.text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
|
||||||
@@ -85,15 +87,11 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
if (siteApiVersion == null) { return -1; }
|
|
||||||
try {
|
|
||||||
try (BufferedReader reader = Resources.asCharSource(
|
|
||||||
- new URL("https://api.papermc.io/v2/projects/paper/versions/" + siteApiVersion),
|
|
||||||
+ new URL("https://api.purpurmc.org/v2/purpur/" + siteApiVersion), // Purpur
|
|
||||||
Charsets.UTF_8
|
|
||||||
).openBufferedStream()) {
|
|
||||||
JsonObject json = new Gson().fromJson(reader, JsonObject.class);
|
|
||||||
- JsonArray builds = json.getAsJsonArray("builds");
|
|
||||||
- int latest = StreamSupport.stream(builds.spliterator(), false)
|
|
||||||
- .mapToInt(e -> e.getAsInt())
|
|
||||||
- .max()
|
|
||||||
- .getAsInt();
|
|
||||||
+ int latest = json.getAsJsonObject("builds").getAsJsonPrimitive("latest").getAsInt(); // Purpur
|
|
||||||
return latest - jenkinsBuild;
|
|
||||||
} catch (JsonSyntaxException ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
@@ -144,6 +142,6 @@ public class PaperVersionFetcher implements VersionFetcher {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
- return Component.text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
|
|
||||||
+ return org.bukkit.ChatColor.parseMM("<grey>Previous: %s", oldVersion); // Purpur
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..3cb56595822799926a8141e60a42f5d1edfc6de5 100644
|
|
||||||
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
|
||||||
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
|
||||||
@Override
|
|
||||||
protected LineReader buildReader(LineReaderBuilder builder) {
|
|
||||||
builder
|
|
||||||
- .appName("Paper")
|
|
||||||
+ .appName("Purpur") // Purpur
|
|
||||||
.variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history"))
|
|
||||||
.completer(new ConsoleCommandCompleter(this.server))
|
|
||||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
|
||||||
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438af293e22 100644
|
|
||||||
--- a/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
+++ b/src/main/java/net/minecraft/CrashReport.java
|
|
||||||
@@ -123,6 +123,10 @@ public class CrashReport {
|
|
||||||
StringBuilder stringbuilder = new StringBuilder();
|
|
||||||
|
|
||||||
stringbuilder.append("---- Minecraft Crash Report ----\n");
|
|
||||||
+ // Purpur start
|
|
||||||
+ stringbuilder.append("// ");
|
|
||||||
+ stringbuilder.append("// DO NOT REPORT THIS TO PAPER! REPORT TO PURPUR INSTEAD!");
|
|
||||||
+ // Purpur end
|
|
||||||
stringbuilder.append("// ");
|
|
||||||
stringbuilder.append(CrashReport.getErrorComment());
|
|
||||||
stringbuilder.append("\n\n");
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index 33a5e900c2cab99c311fa5f5b71a609cf8f802cb..51163298e6ce111bdb19d55ce367cd69c7fe5f89 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -924,7 +924,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
shutdownThread = Thread.currentThread();
|
|
||||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
|
||||||
if (!isSameThread()) {
|
|
||||||
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
|
|
||||||
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PURPUR)"); // Purpur
|
|
||||||
while (this.getRunningThread().isAlive()) {
|
|
||||||
this.getRunningThread().stop();
|
|
||||||
try {
|
|
||||||
@@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
|
|
||||||
@DontObfuscate
|
|
||||||
public String getServerModName() {
|
|
||||||
- return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
|
||||||
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
|
||||||
}
|
|
||||||
|
|
||||||
public SystemReport fillSystemReport(SystemReport details) {
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
index 7ddf52de4b095f63c75b696008fcdde6345fc3c8..9d15cb8151a4008061c5788cbf4f4fa494cfe49d 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
@@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper
|
|
||||||
import javax.annotation.Nonnull; // Paper
|
|
||||||
|
|
||||||
public final class CraftServer implements Server {
|
|
||||||
- private final String serverName = "Pufferfish"; // Paper // Pufferfish
|
|
||||||
+ private final String serverName = "Purpur"; // Paper // Purpur
|
|
||||||
private final String serverVersion;
|
|
||||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
|
||||||
private final Logger logger = Logger.getLogger("Minecraft");
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
|
||||||
index 4e56018b64d11f76c8da43fd8f85c6de72204e36..aa8212432825db65cf485cd93f734ccd9eefcb5a 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
|
|
||||||
@@ -21,7 +21,12 @@ public class CraftConsoleCommandSender extends ServerCommandSender implements Co
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendMessage(String message) {
|
|
||||||
- this.sendRawMessage(message);
|
|
||||||
+ // Purpur start
|
|
||||||
+ String[] parts = message.split("\n");
|
|
||||||
+ for (String part : parts) {
|
|
||||||
+ this.sendRawMessage(part);
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -91,7 +96,7 @@ public class CraftConsoleCommandSender extends ServerCommandSender implements Co
|
|
||||||
// Paper start
|
|
||||||
@Override
|
|
||||||
public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) {
|
|
||||||
- this.sendRawMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message));
|
|
||||||
+ this.sendMessage(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(message)); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
||||||
index 2cff68a5c448c0e971d95e9264223eb943730968..db5952e97c5ff5c258760b70592f9ad470ce401c 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
||||||
@@ -883,7 +883,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|
||||||
return EntityCategory.WATER;
|
|
||||||
}
|
|
||||||
|
|
||||||
- throw new UnsupportedOperationException("Unsupported monster type: " + type + ". This is a bug, report this to Spigot.");
|
|
||||||
+ throw new UnsupportedOperationException("Unsupported monster type: " + type + ". This is a bug, report this to Purpur."); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5eef4d20d5 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
|
||||||
@@ -504,7 +504,7 @@ public class CraftScheduler implements BukkitScheduler {
|
|
||||||
this.parsePending();
|
|
||||||
} else {
|
|
||||||
//this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
|
|
||||||
- task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Paper"); // Paper
|
|
||||||
+ task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Purpur"); // Paper // Purpur
|
|
||||||
// We don't need to parse pending
|
|
||||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
||||||
index 0ccde7fe2a852f7da72f0b3f5a53cb48d28d1840..2d53d30d603a4627ad96dfff659ad04012aaf7f9 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
||||||
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
|
||||||
- return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
|
|
||||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
index 80553face9c70c2a3d897681e7761df85b22d464..fb87620c742ff7912f5e8ccd2a7930dd605576d9 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
|
||||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
|
||||||
public static String getBukkitVersion() {
|
|
||||||
String result = "Unknown-Version";
|
|
||||||
|
|
||||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/gg.pufferfish.pufferfish/pufferfish-api/pom.properties"); // Pufferfish
|
|
||||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
|
||||||
Properties properties = new Properties();
|
|
||||||
|
|
||||||
if (stream != null) {
|
|
||||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
index e9fa7faaa4451e36b3908cbcbbe0baf213abde96..a810bfd3b8d6bd4d8f2ef8797e4281ae4fe8a67f 100644
|
|
||||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
|
||||||
@@ -96,7 +96,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
|
|
||||||
private WatchdogThread(long timeoutTime, boolean restart)
|
|
||||||
{
|
|
||||||
- super( "Paper Watchdog Thread" );
|
|
||||||
+ super( "Watchdog Thread" ); // Purpur - use a generic name
|
|
||||||
this.timeoutTime = timeoutTime;
|
|
||||||
this.restart = restart;
|
|
||||||
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
|
|
||||||
@@ -155,14 +155,14 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
if (isLongTimeout) {
|
|
||||||
// Paper end
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
- log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Paper bug." ); // Paper
|
|
||||||
+ log.log( Level.SEVERE, "The server has stopped responding! This is (probably) not a Purpur bug." ); // Paper // Purpur
|
|
||||||
log.log( Level.SEVERE, "If you see a plugin in the Server thread dump below, then please report it to that author" );
|
|
||||||
log.log( Level.SEVERE, "\t *Especially* if it looks like HTTP or MySQL operations are occurring" );
|
|
||||||
log.log( Level.SEVERE, "If you see a world save or edit, then it means you did far more than your server can handle at once" );
|
|
||||||
log.log( Level.SEVERE, "\t If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes" );
|
|
||||||
- log.log( Level.SEVERE, "If you are unsure or still think this is a Paper bug, please report this to https://github.com/PaperMC/Paper/issues" );
|
|
||||||
+ log.log( Level.SEVERE, "If you are unsure or still think this is a Purpur bug, please report this to https://github.com/PurpurMC/Purpur/issues" ); // Purpur
|
|
||||||
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
|
|
||||||
- log.log( Level.SEVERE, "Paper version: " + Bukkit.getServer().getVersion() );
|
|
||||||
+ log.log( Level.SEVERE, "Purpur version: " + Bukkit.getServer().getVersion() ); // Purpur
|
|
||||||
//
|
|
||||||
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
|
||||||
{
|
|
||||||
@@ -185,12 +185,12 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
// Paper end
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---");
|
|
||||||
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH - " + Bukkit.getServer().getVersion() + " ---"); // Purpur
|
|
||||||
log.log(Level.SEVERE, "The server has not responded for " + (currentTime - lastTick) / 1000 + " seconds! Creating thread dump");
|
|
||||||
}
|
|
||||||
// Paper end - Different message for short timeout
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
|
|
||||||
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
|
|
||||||
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper // Paper - rewrite chunk system
|
|
||||||
this.dumpTickingInfo(); // Paper - log detailed tick information
|
|
||||||
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
|
||||||
@@ -206,7 +206,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
|
||||||
WatchdogThread.dumpThread( thread, log );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---");
|
|
||||||
+ log.log(Level.SEVERE, "--- DO NOT REPORT THIS TO PURPUR - THIS IS NOT A BUG OR A CRASH ---"); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
|
||||||
diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png
|
|
||||||
index a7d785f60c884ee4ee487cc364402d66c3dc2ecc..518591dd83289e041a16e2c2e7d7e7640d4b2e1b 100644
|
|
||||||
GIT binary patch
|
|
||||||
literal 9260
|
|
||||||
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
|
|
||||||
HqBZh=dic2S
|
|
||||||
|
|
||||||
literal 14310
|
|
||||||
zcmXY21yoy2uugDycPmm{N^yd_Q`}vP7YOd|PH`>8wLo!q*HRn`6f5rV?*HD)IX5{c
|
|
||||||
zxpy-=`|Zxo_svGBD$Agwkf4A-AaprdNp;|J<i86E0eG+0smTL@K32;~ifMY~oOB|4
|
|
||||||
zk?uFYy)FKcYT5sENxvF@$`?h3Gna1CI2cACKi}}1s=R8n*6JtRqsoMO0sL2S)G+$+
|
|
||||||
zwe03HtTTAKQV3~*0umofy#$i3BMyU+*?2sQemV<#a`oxkgdnZ$9;;DP_JdGD)$D|g
|
|
||||||
z72WX!|AFv<a0Dg>21vifLD%hMrT$lZeEex|7Xe0mqFAZArC{!qp)zJmbab@utqA`6
|
|
||||||
z61Z~|e!k$IbXNT?PvGuuzT7G514$8e!}lsR>%nURMm+~pde``@(!O=ISt0%B93;Ez
|
|
||||||
za-qRi4n0Q>zQ2#2^_y08QOl3jT*!Ir5@<8VrFx(6f<g#SP`8lK{xiWyOY4iZsp&Q=
|
|
||||||
zXovo!U=uNC1H)#a$L2hAG8ej#)@9UGQ&6z=D~(y(s8W?tT|q%%8g*tL5nUNV!1q4w
|
|
||||||
zeRWIAtsLkhESBPm*d~aq3v(ubbDuLjF`B-r-!^pxgk*TUXm=xJ*9`spkqyKL)-Cv^
|
|
||||||
z`8^ouoG~5&!3GjluYK_%ock-jO#u4LGOV+*m*_h@Lq1GH9dzMzWsmFt#}(Drl)XK(
|
|
||||||
zQiGay@j})8ip7q%+i3<AjGRCgj#PO|aSsm<DLJ`OLl8{|?=M!!l~%zKa*t`&^@{+b
|
|
||||||
z3(PVk#;sg9VGt*5X-SID-`6%{oo&Lsy0(^ma@J;{-0#LaIF4h5uxFbTu;_AZeEeLs
|
|
||||||
zLNk?{_3GEk+dJpSfS`FNkk)Ri=cNe*gNKjOkdHECB<K1b0}&JI#|4F|&#p1Q8&_sP
|
|
||||||
zF81!EW~%rmS*+Hr%&L%@%vdOyIkP!advkMuj+YY{$}eB4ZeVEmq6%0Fi^~&!f#qz&
|
|
||||||
zJ@eDL?}-cxD~K=N-b8XLb@*e}&dh95SWAmR(T6GNU!Gc3jfRzyrk2|RAnh;T1&tjU
|
|
||||||
z9b3)gDcKL5>9sP|H8ttjftN;wrX>jP4BcG1;MfU5x^L`zc0<A7b=d3bZvNqdokcd=
|
|
||||||
z*`V@M<m)S)O|$Lckz9XIk8U5OI(gk5oT@VpBOlnp10*i!lOX*;rPFtVl26td2FD7(
|
|
||||||
z&}(vX@)LNV_2Wu-P)Y!t^0R+1v1J4jYbzOp^9PpQXAeSYb0Ov2F&XP}7~VBqaWekX
|
|
||||||
z9(ZGr6got2TDP{XzJaszsGi=;YTxK~m#0z8N$BdPYc#h2D+D)@qww1|Sv@18E&%S1
|
|
||||||
zMgB!+=r6{z7co;mI(G=QBqd_fW(tt3{~4}eA9-}tb7H#-WUZAGk)<m7@5rJix@9k6
|
|
||||||
zz)xP&x^z%-BV&lb5fH=u(TqJ&@K!l7ppH~h5{+oTtu^w$ZGf#6y1NkSiVy5XmW?dd
|
|
||||||
zd@r@QxagUdnyLv!UsjL5OG2c-C$yp~BDS9mA2+dNA|gzMH2tuaC{F6%&LkqBjvNZS
|
|
||||||
zx}7I6TcoCPbw|)13o)T1FA9Q*M7W|N(}T;SHJcOuiOKV9dXT%kDH;-jKt3ghsRp13
|
|
||||||
z2SAb2Cjdnu3JjR)R+<OKwsEsh6@vbpD9GF>9u!bDBt#+l<W({$p3w2~%!OIy6U20i
|
|
||||||
zJDW%;$K4kscCQvjq=_S}SPO`WT$nRmuF%zqwdW2KSC_tfl)dh|3<aiMZF?RD>l=7@
|
|
||||||
zB;}A$BKgu}V?#qfHvm`~pt%wG2y{MOc%B!8I`p<X@<5o)EfV*g9pvGozhhJ)@Rrg_
|
|
||||||
zk51{HFj6-V7ubRs#Q?Qiq#}IDGT%r=g~%fw!jf<iMreD|VsUT6?cym+9ST)e->|pc
|
|
||||||
zO#?sq!Zd&j8UPmvY4RQnfo>!6{a}GFV!}g@qu<3Wu$07X(O`vikNW$~q!ngF23Ls2
|
|
||||||
z53p8js<-B_Qd?xX6rtq43Mdz(jOg2QXx#Wng_9^1^^~KqFNq{Kvb@Ap9}bf&xFA-C
|
|
||||||
z5+#cQ`#v$A=kd0O=agATcleBaxXf_(dnqbQz|cL9R&&Ni1omTs+6~YApmk)MCghxj
|
|
||||||
z1}mq&IU>1nEiF=q=PI`%jQbyRd=hVI83Sm{E-4uTc#w;NN<X9bHp)yNW*4(sF}kmh
|
|
||||||
zh|EV-<*{ALez=}IMFkaL#ki3?K7IY;3li<MO{AjE7$3B>wEW)C(C`xvWzY_%`_MmO
|
|
||||||
zD&g-sEaE)}6(&g)y-N&rNy;5@+{M`}!{60Y8wMgF5;HmO#B~hG`W$;7xLG*yF((rq
|
|
||||||
zxP6I#r#o`B3FppK{v(q1!C+YLFSfySDcHyoW!}EfzuCB1B|C5+oP}dt<N4UgYmmkJ
|
|
||||||
zu=mwXUDv!GNF`OyBy>ocnwkcNy1EZ6#5JX4=ePl&cu~0tMnt&79+I4%PaK>VqF<F{
|
|
||||||
zFZ1;DE;)Jdj`>x;r!Qd<o|T&8I*^GYG3A?bWY{3dQ+Z7>NmnxlEqdU-QR%Nmu{aWP
|
|
||||||
zJxwXv<K&Xd7ngEjj!ll3ELma&5vjOv@%HH>t5fFTCOV<Iwh1*<Rh|6j2Oq!>gB)Zq
|
|
||||||
z%H0U=9q7Y0lu&1kc4zYT3*lHA@XJfoK>3WFM&WWf2u6^+wCm8##D$x@Gkw+t^HoO(
|
|
||||||
z4pxDRqg;$5S=t^k22H5^V3V0Qfy%Ogl8I%LD$52=7)J>Ki9Ej1HyEi_u<Ky8nQV9t
|
|
||||||
z1(){P4e~c8WP(r`0t1nf8q6LW8?yt24Rqh1@Is!PaJEIFD0kufqd8?cxNzdq(}kLT
|
|
||||||
zuop#`KYTG+6f^N-J(U@l5n-7oK}@pcl&sDW<4Hw*&Gd9P;1Y_IT4yLQ@eOgPM!4t?
|
|
||||||
zv2K&6a4V+_7*?@1QlSXCBYfZX-mqFtqBL0{O<pcmuX>jELlz8$-+?cdD1Zxi02kW0
|
|
||||||
zaY=caFq4~s^R?zxcc3Z0X|az}Aww<{P$>6rk+5Di5J7$kWor0{Q&>+DWSBH^Gf`SP
|
|
||||||
zT{4}IOFh-hB7xwBdewq%de)q6QvxorV(()2>@j8i!kj)=<pXWeWZ(!&WCXYnJ(9dA
|
|
||||||
zhX`T@<E0GYl1247;Ses8Miyue;JI-q&Ziv;WJDEig*+%Pa5cvlHZ{GHH0xb?Za#Zj
|
|
||||||
zVU&wK|K~8kUt<~Db=5<o2Z49_J$0WXc?NAAAl-7|OG^gH)b<J|<u8%?EwB%)SZL!}
|
|
||||||
zUj0&76rIGg=2|6pHzsPHh<NR^BYz(lxO`Such&!htsiA@!<wr9@s7Su8ZD@iut7|I
|
|
||||||
zI;8w)-X-=+;jK00=?KXuIO+95T@)%$Wd_5`CFrfQG3`t;AOox!C|vLH%Z+1hPdPk&
|
|
||||||
zBWq?I+*jBk#h=lqY`AA}EqhHKiT}BNz#565iu9yu`-sqxhg6aq6<8I3Hwud(i>^hN
|
|
||||||
zl_N{$9xTHHA;V&Zx#tX&1pOO;<Ro@U45P!qAo?AASuYG*AYY&Ooi%x#%b)CFP0)D$
|
|
||||||
zs39{c0pHwy6+br@o&oE(5r`yfX10?(Fffn|$zj$3rqwf1kKN%NjPOs6Ko+jeK8t8t
|
|
||||||
zZx!Xg7{0F}|D=485U;R4V#!FyH#7-I#>v^NiOP#_UK@J;;lp+OOh<G`dG#Z+jD8-`
|
|
||||||
zuGy;l*h58S+P=TP-=A_HB{FdD&mXP-E`%KevQ3P5GJf@<`6K!%xGPSBBQ=b8+by`z
|
|
||||||
z5Ob1euIOf~IG*wn$@apA1`c${!tLpwm<=yl7WzaNXRmESFcVW!G&3_Qe|`w<$wfvK
|
|
||||||
zzN_sx8JSxzJ4}(5eP0U(4k99HewGgYSab}S5%pb|_xmtAY}LP&5^m0L==sR9mZtl~
|
|
||||||
zApb2RPCSW&4QJ<2P7&_<g<QMyBMXgB6I)wIw7y3nITujN=$q|AV1wD;p;U!Zst(=~
|
|
||||||
zl#i;Ou@6a!5pxX{btAw^GwAAQX}w2PQN9Vh!wA9sO61}kN_y2cdFQ3VN5nv-%$AZz
|
|
||||||
z`<&Gn`0Ycs5ePb+?E+(#J!nCW5szhQ6yKMr>OOO2mlMdxM;Qv-mWG+^vzox|8t`w|
|
|
||||||
z=gPlM3)y6G*hfV1WwuMe>bO-vP9g`h5BqgO9x{ROBD;aPl>XDmvt(3PUxt|4RFRpK
|
|
||||||
z5OEtRz{(Oa_W_!Z4XHf#h;Z-~71XM7wlF*L!-#h_Uy2tGuy-rAZ)4{qE~feNkp}qf
|
|
||||||
zgvBtLkFPI~I7<hoG?bkw)mOVF*%;)lK%ly{u|$|3Iw7J>%C=OHZfPZz$j>L9)rb;l
|
|
||||||
z@J^dxncy52;wmHg=wC3|Xn6jPYCR7<T~^e94N=B~zcTRf_@?^gFT)p?AIrBJa9;*Z
|
|
||||||
z(-DaG;r7--)hh<3{cpLe^qNuB)YNR8oQ4I@J3<0pj*XoKa(lZv_}#R?oc0q0pf@;Y
|
|
||||||
z@|$1S>xc}~D0wNjoYxmoRh_zh=6@8coM1UQIa_z*1)cZPw4v40qoZQp-uy#DLv=oP
|
|
||||||
zX9b3vzFA2r8}|_AO8W1(OMG__0{1AUD&Z%&7-(>s+Z-X6Sv}G5QguIbZ3mYa--?09
|
|
||||||
z;wNw?n=yAag4%m#w$$-YZ{(ZJUcwHfzu&!gykNjG)e}!=q8xy2_KS=ULsQwv45NK!
|
|
||||||
zVqqD8#S{vRjg4(Q6HM_F&tihNIQ<ph9XS{sw-<&Fv1e0-e57d}%5^<oCKT-=3{4`y
|
|
||||||
z64WO2DNM@9h#+<9z$P>ns<%DVjE$cv33ET>Dvc^#{z&#u&&9RgXO?ZLuebczKv#;!
|
|
||||||
zCS|2lIa37Bp#3RWj0$V3=I2>o40{(J^LD|EUH?!2;Z&HS*>7*V%{v1)wHaUP85mcX
|
|
||||||
z%q!K}Ntr*IzJD%++btJ;VQO*OjJL1t{GvR3cy@OC-~pe^bV?N`z0QKCr?Tom)4u%A
|
|
||||||
z3mi2k&eIgh0^rGI<D!3ppe*5I#u>#Di+&3lrsy-r+}zwBkDQtswtPbkj!Y^l`{f!#
|
|
||||||
zLseC0M;DiifDa!({-G4{W$Wxsgv*(NX%HMyXhArVwY105dUHg?+=@6Sy8n@slS76x
|
|
||||||
zU7%PI8ToKm#qahfR;7kn#|t@9y(0EkooWBDqA1(mpO)>BBz))giBi8xVHlj#dR9U8
|
|
||||||
zRo%`iBd<rib_r~m5n7z6NZ2m_7bsF#7pV!dC-}k@FFQM%1={&4v20&BgTVBJ*mWm<
|
|
||||||
zN23p!P@Cn5GW?{dLlUasjp@zUdq11tADUqVjY5iK4}(SR8OYv}JKyMhaynV&(oHy!
|
|
||||||
z@}!@UDNpAMBUmXC#>lj8%_tRn^qa%T>{nsLLwTNld&WHLyfbPzv2W62m6q=Nsdxnk
|
|
||||||
z#{P==5!Lidx3bcr_qlUl%BX!xjywA?jv>FU^mJDa0<zrP{CvIlmDTgZbbz$Kf7j-e
|
|
||||||
z+s*)TH@To{E4<{VPzP()4KKg`(U-QB{S9iS(ZEBSCBv-}8Az22>zQT9Kw8RRHq>7B
|
|
||||||
zb~DXw0(oqBrOQunsm2ghWV2i1VmN{F?)U;0%*j{FEUxazAJ3)KSWomuhklkDi<zIX
|
|
||||||
z9Be*3Rk+zpa@IW5+&kJBa)4JboSX7tEK}FzcS!}-&YS}K;LWnJigX2xl$)Dd&(uEq
|
|
||||||
z2&;t*>?5h*MTLDS5ma_Nk1sNZYzZ#$maGRyiXBzjG@(G__fuyBl(^A>s&{jF+J%5|
|
|
||||||
zv#7nD1XK806#_U_4#N2ANAxznk%;U$Y$z#{K*O07mADqx6LjACqwP<`HFV#C6Q*wx
|
|
||||||
z8JVP_qGF}V7B?^8)f*2F5AON7v$L~Kr?2}oPai_kG!_6MI(U`LS~+Mo*CSyrw>pPE
|
|
||||||
zllqxy<P@nA`e}=V#zMNQ)dt#A_#9nX(;m&YwQS&qp4EYe)+anT0N?#z4yCW}V|?08
|
|
||||||
zifKMLf9AwZ0;{@(dKX_&!2;%Qz^R*2)AC8R?qpzy$<pP+$qAVHfi2I$)_zDMbobk>
|
|
||||||
z^&rnDn4XA@AUY7~`1lwTCrm8KlVRqX&!kZFH&;i9@=R}UDxNSh*)Iq2U+#9}@ag1t
|
|
||||||
z%KUOEw0DXT)>hQoLTprY^z=BC=8NAyi3pZWT7A`?;rI<3%65Nqb93%pJ=!+dNtB>W
|
|
||||||
z7f3O-e-S7ZBgBntcyt~wOG_p$AU2zlGH8=%TEm+z8kLYReEMTkIo#2YiA=iKWrH);
|
|
||||||
zS%uT3xAyyY=!U)0Evpgx{{38MPR2nN<3913M<0O#YCO=TSt^4IzV3^D%2zC>t_OO}
|
|
||||||
z_h~AVOk+IIi$Ov;-g93a4j@WaekCC#HFm2_Vu9s)8-GbYtr{LgrxnSIN^PW9)!jYX
|
|
||||||
z?%-yssA~&R3F)C)wj5i|@!atCx?Qy%P1QEGSZm;iUNai`-F(8a%y+_a>CMzx$XEKx
|
|
||||||
z>sW|JbN36s+Y{4SZsrspH%UH=+Q6J<CRu^N5ZmJ?1SFBed~3QFJ^YZkw`cKu=Gje~
|
|
||||||
z(AOuPPZ=<sC*1n>`c&_-JLGL&5|$XUA1vFOC+rgoc&xT{dFT&pMaEBKwy<F(IR*1~
|
|
||||||
z?7VnM3^J({7}U8XhZU}UO%g=gp%x-^baW>D;plX0>2nla;jTlQ{!fn2M=Ak*=K*g%
|
|
||||||
zBm0-$ly1~}CT-5gv){jex9)7&b8u!a+vYHXU>=NF2>g3+_rN{(LUMGwRWKk49sS$v
|
|
||||||
zazyX8zZ1hwZ|U*5{fK@i@hRl*U%Q2cg+!iIfb)6W%S5F{91qinEZE%~4Gl>rBw9S<
|
|
||||||
zMP5$exl1j<!yq;^s?0O{SV9tFS$-AUOcp7)+G5dPiVUQ^Ww8PXV{7{=`gm9@8FCNX
|
|
||||||
zX_OEhjnV-)z(ORF{aBkd6c3lsC~u`q=_`fnK_#j=XrK1X(ZSkpmPYHd7I*HDiMhJ+
|
|
||||||
zHIDWeGWW+^<~MG0#<jQY2+ASuX`zsF-vdE^!Gu+Zp<4eN=9BfGgv?r1R99lY{AzZ+
|
|
||||||
zC?kMRSpc81|I}uA<fodVkCEdG<C~$y9UXnaiXqPL%A%Nbo#Z%Ca7ISrZgh?${VPnG
|
|
||||||
zl$10u;C)>E<KN49z-H}%ot>Syt}d~jo?hf`z^32b!}UGtJH+w9(0U<yHnZX%(jeWB
|
|
||||||
zT!I2a{KtyXqb|^n-xNw;b@I%XCOWVXKib*}Xw@1i<?Q9ZJs(8I-JI9m*P9Rj+X}%<
|
|
||||||
zrsRB=sv`QrlO?pTKp-C-6@v`ZcTc0zs%^1(vY`~z8EL`7;rTgTT6tLTo_EFU*XZ+g
|
|
||||||
zP^QlGgm_Kh?-Ir|`R6|$yL)#NM9(~X3+{(SU&R!e#yX1ro6L!6Y5P}KEM8#nY0UG|
|
|
||||||
zI-7h0-bhJIII@Y9Ko|Wu7qP}fP)T<{28-T1_mbTBZ`>rI#~Ei*ii&6z(AVE?(}k_A
|
|
||||||
zE9Z@mj7HF-ch46I0ipe3gapRj{=zk_J1E^b_JwdrhKi4ytBuwP)m>e$@9v`A{1N{h
|
|
||||||
zwUN6H=_W+h(a?rGaQ%%LP5C4)XiZ*`1uUwgqWvk`LyDD!Ps#Q5oI($KDJ%8n5kBi-
|
|
||||||
zghsLx`~mf<>WT)6-cJBbp|htk1NfkZ@e#B4@l?UH7!MDMpO?1NETGk_Eg{z!N3!D<
|
|
||||||
zWg8gtgS%b(0Bg7dw9u35xq)1vNdnM8iu7Eje*u?#sZ~%^q*HDaZC?5z4ZzhSA%ndS
|
|
||||||
z4&$M&7(|(9nWY%<jgk8_GM^FTg|SlXZlmIsmU#4_Ro-#1zn`Qt)Hp3dI>QShCnuN0
|
|
||||||
z`n9&UeypypUgx;R+x;XM#8uDM{p`9~j<49)^dotHJVO*A@HL&g7F={FP#trj@{dzm
|
|
||||||
zeQUi<SFsuQ=RF$2&W>qRWJ&pkKkA1O-|vOf8O1UQ$$0lIExffio|}F@ROV#MXcPH$
|
|
||||||
z?$$kxAF@B#KT}u;R@SVyIO>1sw1!i?C(_013w9@?8$bKaLQi34zC$g*^}F&(%NEO6
|
|
||||||
zQzD-^6}HQMnGJ{h$J*)HjSxjblWegsW&rLC8Ov_r_20jLjUS$Ptnm|p9fK%r0j+4;
|
|
||||||
z57^mjL&lISh8>DC;eB$B69$h4XxE3qU4T&zUpDeV@4g>or%D-x@qhie>6<d}0Ra)Q
|
|
||||||
zbII8MVZZgP{TRj-9X#19@Pe?v_M%s+Uix_TU*lzE^yZF^ry*zf6QSSHe9^(ua)T)g
|
|
||||||
z3lz|%@80!4$B=VVO7;IWqPV%b%KkgW47l&_(1)K0+uk<a*;UoE7kYSjko19zhLmNZ
|
|
||||||
zkxYSpy&?T@SamHIo#rmyj=ecv7CpF?BC-~S=^yE3xPGs_UgdYt&qNX|VG){VgLNA0
|
|
||||||
z_=gE6YUFnmp^+Cj!|+SiGz0r2+*s=4q?3OLrpUdCc%@~9rhLw2YimzdYY<){TNOgQ
|
|
||||||
zP~gtaj^OiA%!F5m6X}g(2=Qgw{QI9E%0NU?F7BUHIB~N_=NJ@G5i|U{eyBC%P2H7+
|
|
||||||
z)2Z?C7+kSW|Lq^3ad(>mqD959ck74(h?S0BA0}YQ18d?hr6}%}y{%ZNJ^-(?=Op~;
|
|
||||||
z#2-UNh)jH9>RXmv<m;Fv4ERg;DT>PJ<VaWa@ea?1=ze9YeHT5jn2DkNKps7vAw^~-
|
|
||||||
zUZA1a-t5X_&N}l-vL7S#O}(Pw#U+mzRaQe|UKVh))g=u*qU;-|?t~;jAPF8bq$i5}
|
|
||||||
zO-(u5x*!M*g!@kNsJPN-jY-_Fczl!cxtz>(Y!8(uhyW|sFpyvv)AaNeljHj^Fx+RC
|
|
||||||
z!`@c->W1C^FUKHmG2w_atkdsMnzY+l!CV8havQ8-Gu)<8t{#V*2Pwp4h?ayXsi5Z>
|
|
||||||
zo!guta>TA~iv#iJpQkN>#)QF%As@2WgU&V_Y^qm#E*O}M_ijJfFWq<OZB)JOp0y&C
|
|
||||||
ziVdtrh6gE@CCeflMKdV!Q~5LzkT)py2<#o(V;}(=RHo6d?KeyMA%0ABLt+m?son?j
|
|
||||||
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
|
|
||||||
WX&3$!%>|s_1IbA#OV)^+1pg1OmmZn`
|
|
||||||
|
|
||||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Fix decompile errors
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||||
index 0c5caad2a5bfc14450cf8d37f988ee176e8d1450..05a0a890a719a957d9aea736d6c0e85bae9e4eec 100644
|
index ad0df80d1adb1d945f40e1b5f7732bb36b2ca2ff..cefb3d0658e56c7c103626b8cfc5faa05f03665b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||||
@@ -124,7 +124,7 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
|
@@ -121,7 +121,7 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
|
||||||
return ResourceKey.create(Registries.PAINTING_VARIANT, id);
|
|
||||||
}).flatMap(BuiltInRegistries.PAINTING_VARIANT::getHolder).map((entry) -> {
|
@Override
|
||||||
return entry;
|
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||||
- }).orElseGet(Painting::getDefaultVariant);
|
- Holder<PaintingVariant> holder = loadVariant(nbt).orElseGet(Painting::getDefaultVariant);
|
||||||
+ }).orElseGet(() -> (Holder.Reference<PaintingVariant>) getDefaultVariant()); // Purpur - decompile error
|
+ Holder<PaintingVariant> holder = loadVariant(nbt).orElseGet(() -> (Holder.Reference<PaintingVariant>) getDefaultVariant()); // Purpur - decompile error TODO: still needed?
|
||||||
this.setVariant(holder);
|
this.setVariant(holder);
|
||||||
this.direction = Direction.from2DDataValue(nbt.getByte("facing"));
|
this.direction = Direction.from2DDataValue(nbt.getByte("facing"));
|
||||||
super.readAdditionalSaveData(nbt);
|
super.readAdditionalSaveData(nbt);
|
||||||
@@ -44,10 +44,10 @@ index ac75c54e897565e340b66823caeed92ba1d1641a..769e4fbaac01a4fe3a45bd9cab5c63b6
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||||
index 42f46d338886e2892ee4219d19be4dc97f61616f..fdd3aa81644087bff33a47c5f98e14ca0452f3ef 100644
|
index f148c7d2954cc17377d0da4af03ea2c1c9397a52..8584a65433555133cdcfc24a078fb0b53b9f83bc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
|
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||||
@@ -1127,7 +1127,7 @@ public class Blocks {
|
@@ -1153,7 +1153,7 @@ public class Blocks {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Boolean ocelotOrParrot(BlockState state, BlockGetter world, BlockPos pos, EntityType<?> type) {
|
private static Boolean ocelotOrParrot(BlockState state, BlockGetter world, BlockPos pos, EntityType<?> type) {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 74d332479556ec01cc3fb8d13fe82a77e2fbf3e9..30f95e383a212f396a4e88db29cee18db3c1514b 100644
|
index 98d92f6d6a98d66e369286b079db2c4db0bd5298..d5369a39c86353bd99b4b404028db2aea97f8438 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -1739,6 +1739,26 @@ public class ServerPlayer extends Player {
|
@@ -1716,6 +1716,26 @@ public class ServerPlayer extends Player {
|
||||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,10 +36,10 @@ index 74d332479556ec01cc3fb8d13fe82a77e2fbf3e9..30f95e383a212f396a4e88db29cee18d
|
|||||||
public void displayClientMessage(Component message, boolean overlay) {
|
public void displayClientMessage(Component message, boolean overlay) {
|
||||||
this.sendSystemMessage(message, overlay);
|
this.sendSystemMessage(message, overlay);
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 835e439a1af327c67558653ef79ef7e59692a976..e978172bacfba940a112c35bc666a59b2e1fa83b 100644
|
index c0c14766adaac855112f85a203a6163b8adfdded..c996a28e3d6dd775021b2a1d199ac96d64b798f9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1015,6 +1015,20 @@ public abstract class PlayerList {
|
@@ -1022,6 +1022,20 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
@@ -61,11 +61,11 @@ index 835e439a1af327c67558653ef79ef7e59692a976..e978172bacfba940a112c35bc666a59b
|
|||||||
Iterator iterator = this.players.iterator();
|
Iterator iterator = this.players.iterator();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
index 2848cb7c76e94d8349f042dc92daf01322a6ce5a..0edf0e24b0b311269b447a34f3aad485556bce10 100644
|
index 93a1e990b0a6caae4143c2f9d09bfb368fa1d6db..615611fe372d6edaef56db058bbf2cf7641e3c26 100644
|
||||||
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
@@ -265,6 +265,15 @@ public class DamageSource {
|
@@ -126,6 +126,15 @@ public class DamageSource {
|
||||||
return entityliving1 != null ? Component.translatable(s1, entity.getDisplayName(), entityliving1.getDisplayName()) : Component.translatable(s, entity.getDisplayName());
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -77,14 +77,14 @@ index 2848cb7c76e94d8349f042dc92daf01322a6ce5a..0edf0e24b0b311269b447a34f3aad485
|
|||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
+
|
+
|
||||||
public boolean isFire() {
|
public String getMsgId() {
|
||||||
return this.isFireSource;
|
return this.type().msgId();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 3073b34a0e0281b6b0330721bb0440147de28511..ebc7034d68a1c732ba5b89c95e79660d5505a74c 100644
|
index 9a1e8589e6b371869b2199650172d61ae186c907..bd109784a4ab836febef2926e69a7cf88fd2a873 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3863,6 +3863,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3874,6 +3874,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return SlotAccess.NULL;
|
return SlotAccess.NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 56600adaeb6b51451529469acca8ca1aef352ff3..1c70f6bb15764a1327347db2190e0337c581e695 100644
|
index ceabcb24504228f25412b8821969b8e151ecaf1b..d6ac9c9811449a651e6d13538b9efa7015617b09 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
|
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
|
||||||
@@ -34,10 +34,10 @@ index 882ab40c8cdea8c214cb8344b3ccecddb2967c1c..cb79d2c958fbd34f8c8818e7e1c0db88
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 1f9f59f4ec936e365ad6428717a7d92983a66222..82a8fddc5a0ee82c8ce78c02f4ecb106b89c734d 100644
|
index ff1bccf8c6a3b9adda11981b5d59bdfa82c1367a..cbbef7730e7743c05ddc8011eab77f05829132f5 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -290,6 +290,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
this.useItem = ItemStack.EMPTY;
|
this.useItem = ItemStack.EMPTY;
|
||||||
this.lastClimbablePos = Optional.empty();
|
this.lastClimbablePos = Optional.empty();
|
||||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
||||||
@@ -45,7 +45,7 @@ index 1f9f59f4ec936e365ad6428717a7d92983a66222..82a8fddc5a0ee82c8ce78c02f4ecb106
|
|||||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||||
@@ -305,6 +306,8 @@ public abstract class LivingEntity extends Entity {
|
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ index 1f9f59f4ec936e365ad6428717a7d92983a66222..82a8fddc5a0ee82c8ce78c02f4ecb106
|
|||||||
return this.brain;
|
return this.brain;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
index 76069dbd56f6452af638e2e3311b44d3e9a1f4a5..342cae912054d28c5dacf4d38babbd4092f08075 100644
|
index aad502198fd21030e79e3af6811763c1cefb9636..6677c60e7405a6f6b4f236b67616b3640cc22919 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
@@ -93,6 +93,18 @@ public class Bat extends AmbientCreature {
|
@@ -93,6 +93,18 @@ public class Bat extends AmbientCreature {
|
||||||
@@ -78,7 +78,7 @@ index 76069dbd56f6452af638e2e3311b44d3e9a1f4a5..342cae912054d28c5dacf4d38babbd40
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
index 16d6b0881746ade2113e2dc7977e7468abde352f..3827d7910b4f615254e321b99e6d5fc795de74ef 100644
|
index d71369aa5b5fb554c565926257c82ffbec064fe3..9e1f476a9a0139b906978c3fbf14a4d847931bb2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
@@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
@@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||||
@@ -94,10 +94,10 @@ index 16d6b0881746ade2113e2dc7977e7468abde352f..3827d7910b4f615254e321b99e6d5fc7
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
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 a13de1a2f2b5a4e6e9a6d8de1de220578f2c623f..43fa6caafabaa09091b6770d88dff7927e75bac9 100644
|
index b8dad36c9db9014cd1d5769e2543b3b033a2057e..a7fed154c677b9c7b726ed0cfac766abbd44fc54 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
@@ -119,6 +119,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
@@ -120,6 +120,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
||||||
setLying(false);
|
setLying(false);
|
||||||
setRelaxStateOne(false);
|
setRelaxStateOne(false);
|
||||||
}
|
}
|
||||||
@@ -110,7 +110,7 @@ index a13de1a2f2b5a4e6e9a6d8de1de220578f2c623f..43fa6caafabaa09091b6770d88dff792
|
|||||||
|
|
||||||
public ResourceLocation getResourceLocation() {
|
public ResourceLocation getResourceLocation() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
index 9494383f1e370964f3e32cf8d6afc03e045320d4..e4200b09f54861d61c9dae40e6883aa19265e295 100644
|
index 0c2029fd614d24facd4d63762daf63e743fbf0ad..c20f1346a8cf4ee5089dc7c4fc6b3dc36e561dd0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
@@ -69,6 +69,11 @@ public class Chicken extends Animal {
|
@@ -69,6 +69,11 @@ public class Chicken extends Animal {
|
||||||
@@ -158,7 +158,7 @@ index 04356c2a3f64842582e7a637afb3f77a7920bd63..7eecdb4be5ee7de39ccb86b4bfe98491
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
index 7343f6fa6c29d4029cc35e173e5d701efd7f57c6..1ca3ffe212da2c3914c290172e729ba8017f631c 100644
|
index 7fdea349dcf3bba0fae997935b633bf70bc6ff7e..6374fbde49bd9f750f03a454b9f188ff8eded44f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
@@ -157,6 +157,11 @@ public class Dolphin extends WaterAnimal {
|
@@ -157,6 +157,11 @@ public class Dolphin extends WaterAnimal {
|
||||||
@@ -174,10 +174,10 @@ index 7343f6fa6c29d4029cc35e173e5d701efd7f57c6..1ca3ffe212da2c3914c290172e729ba8
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
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 9c3a62540a7c78615081d25af9590060dc9d5e12..4f10430e55d634b4e4bf74582a8032cc42938c7f 100644
|
index 3fa3f695660b51e3e2085aecbe0524bdcaa34364..4883c2a03921da28cbf2bd1978030a9dadbcda52 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
@@ -176,6 +176,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
@@ -177,6 +177,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||||
super.onDismount(rider);
|
super.onDismount(rider);
|
||||||
setCanPickUpLoot(true);
|
setCanPickUpLoot(true);
|
||||||
}
|
}
|
||||||
@@ -190,7 +190,7 @@ index 9c3a62540a7c78615081d25af9590060dc9d5e12..4f10430e55d634b4e4bf74582a8032cc
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||||
index bdd7d46781598fd54e65d9df1efe790579f94c24..4003e4f4128f14e0dffa666ed8f4447aadd1dede 100644
|
index fbdc53acb380f599dea2a21f5b164438787f2ae2..d73d751c1e69c22cc83a7b4d3d716833ef0bd3c2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||||
@@ -84,6 +84,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
@@ -84,6 +84,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||||
@@ -222,7 +222,7 @@ index 38908fd222816efd8c9ae94b6947599b6c301422..19bd997d421a338966fcd3e3dfeb8669
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
index dc5a44730eb8a48a831830295af7c069404c9bf7..309f7defec15dc457e6c29d8f165695e70cec0c8 100644
|
index 227a7363afed3d03226a032190d6141a8ec6e6c5..0959bcb5974cb690a08cb679ecc9b437f0a7b1ed 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
|
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
|
||||||
@@ -267,7 +267,7 @@ index 8125c804e51899d3cc7378354536e35dab762c87..f08bb1f0fa2f841e463a804879e42ce0
|
|||||||
|
|
||||||
if (this.isLazy()) {
|
if (this.isLazy()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
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 1ed1fd11824cbc5322dfd1f2f24a2eb5b2ae6942..6737709492e0d5fa5abfb62c988beb11eb3452a6 100644
|
index bff1b2aefa0d3e538d3c42d42b43ae27ac1712aa..a3fcca088601d4a7ecaf467d8742707977451387 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||||
@@ -189,6 +189,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
@@ -189,6 +189,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||||
@@ -283,7 +283,7 @@ index 1ed1fd11824cbc5322dfd1f2f24a2eb5b2ae6942..6737709492e0d5fa5abfb62c988beb11
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
index 8ac5ccf4c36c6361371e1c1519a5179d0036cb44..372574f224d21b8801f40e6c4991d64975cd79db 100644
|
index 1c89563f8e0e51bbdb41f89811eeee371a319b59..05db8fa5da085bb3843c11a70affe4c39b6dcd00 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||||
@@ -299,7 +299,7 @@ index 8ac5ccf4c36c6361371e1c1519a5179d0036cb44..372574f224d21b8801f40e6c4991d649
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
index 7b6aeae34756a254bc60e8a13359a65a7611c2ed..bd1d90fa59d420577baada18d5afd04a85ad76a9 100644
|
index a7dd2f617e51f2f9ee08c1e13a85318c826a1aec..0f3234cca23f015651c12076e7064dcd16ecb9d1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
@@ -92,6 +92,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
@@ -92,6 +92,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||||
@@ -315,7 +315,7 @@ index 7b6aeae34756a254bc60e8a13359a65a7611c2ed..bd1d90fa59d420577baada18d5afd04a
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
||||||
index 71929e5fe8851ad5620f25b6ed5058653231d769..988093b46a4c386f8d47a4c530b8e9f6f49efd0d 100644
|
index b10faa0f0c831b20f3e74f127fc4420348571b91..95b839b6346617dcea6e1200d3a816c3d65f97eb 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java
|
||||||
@@ -60,6 +60,11 @@ public class Pufferfish extends AbstractFish {
|
@@ -60,6 +60,11 @@ public class Pufferfish extends AbstractFish {
|
||||||
@@ -331,7 +331,7 @@ index 71929e5fe8851ad5620f25b6ed5058653231d769..988093b46a4c386f8d47a4c530b8e9f6
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
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 db6521531517dbb06ff9aea4c1b5aa9c6bd858ac..b3bfb94529dfaa912f0e5ce0965b0740f09cf55e 100644
|
index f57d19223f66a5bda2572c93bc527d08b98022e4..5aaac79bafc7f5531a6e3fe0d93a0f66dc0b315a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||||
@@ -135,6 +135,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
@@ -135,6 +135,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||||
@@ -363,7 +363,7 @@ index 59cb21bc3166f4cc77b962c253ed786fd04090de..3873fb0e2d95973397f9a23dc363f7a6
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||||
index 0be5aaa76997063d2c8df5547e01260e11c08f7a..c64e86aeafad1785a28e7351f16afef749a0851d 100644
|
index 75016bdd5926f02975902e57c891a851529acbbe..6c49c268aac993bc00487f03d1ad437af6a76520 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||||
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
|
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
|
||||||
@@ -379,7 +379,7 @@ index 0be5aaa76997063d2c8df5547e01260e11c08f7a..c64e86aeafad1785a28e7351f16afef7
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
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 c6700d12fffbfea0fced14e466da0b760a73a237..e2f0f1d7ed8004a03f14887750a470e08ee1f42d 100644
|
index b61732d8da605ad5e11117bf5239ec71a674e7ee..3fd7acc96c6c5cd59668c1b5a5a09bd3d188646d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
@@ -69,6 +69,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
@@ -69,6 +69,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||||
@@ -395,7 +395,7 @@ index c6700d12fffbfea0fced14e466da0b760a73a237..e2f0f1d7ed8004a03f14887750a470e0
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||||
index 30687391baacd693fa3bb9e3efbd492d4e4d32c8..99248a9e2769a573839b199150da312d33344f95 100644
|
index 1be81262f51b51c9ed794bf83ab56fde733ff0c1..78be2f5d8f8d5267f795bfa1e9e24c4fa701ac83 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||||
@@ -75,6 +75,11 @@ public class Squid extends WaterAnimal {
|
@@ -75,6 +75,11 @@ public class Squid extends WaterAnimal {
|
||||||
@@ -427,10 +427,10 @@ index 7df3ee0f4b1a467d95f3eade65c0846b8a2e6337..62f44f830e5b924776d47b3ac36de416
|
|||||||
|
|
||||||
public static String getPredefinedName(int variant) {
|
public static String getPredefinedName(int variant) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||||
index 1d188320b10a640e4667b775e996b4fcdd5a1e73..8c4e0e7fc3a0d2924b910b637748e6e1c23809ce 100644
|
index 2217da194a63cd624d385a708d61df8816f28c7b..986e79c4129c64d328baa4202602552f8364459b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||||
@@ -97,6 +97,11 @@ public class Turtle extends Animal {
|
@@ -98,6 +98,11 @@ public class Turtle extends Animal {
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.turtleControllable;
|
return level.purpurConfig.turtleControllable;
|
||||||
}
|
}
|
||||||
@@ -443,7 +443,7 @@ index 1d188320b10a640e4667b775e996b4fcdd5a1e73..8c4e0e7fc3a0d2924b910b637748e6e1
|
|||||||
|
|
||||||
public void setHomePos(BlockPos pos) {
|
public void setHomePos(BlockPos pos) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
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 b9c692a2f42976eb459ed6a4078dca28eddeb459..5f37b335dded41fdd122e8e0677c2c45b7d4ebf1 100644
|
index fa2abc7623b40728e78927b5acd07b2d5bc3509b..876e8d226068c60ebab679469483929f98e6ae7f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
@@ -122,6 +122,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
@@ -122,6 +122,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||||
@@ -459,7 +459,7 @@ index b9c692a2f42976eb459ed6a4078dca28eddeb459..5f37b335dded41fdd122e8e0677c2c45
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
index ac7b58d4ad0e3c3d3fe8aaf7a6b4237786c09e75..72f84f5a951c96c360206b43154a95247b1f8b42 100644
|
index 308361eb80889306fc137d823da628e282b7b253..c18f27a2c6076f26ff4e3fcea44beda31b93a5fc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
@@ -118,6 +118,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
@@ -118,6 +118,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||||
@@ -475,10 +475,10 @@ index ac7b58d4ad0e3c3d3fe8aaf7a6b4237786c09e75..72f84f5a951c96c360206b43154a9524
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||||
index d9104d996c854cce1ff167706c93747cd69c3969..d04bc82bb5dbb24ec26d8e7a89061ed62fd199f5 100644
|
index 37882a393d7c17a9437145ab5fe1f74370681146..40323720d9ded9e3bc5eb2f16b43bb801f6f833c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||||
@@ -294,6 +294,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
|
@@ -314,6 +314,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
|
||||||
return this.dashCooldown;
|
return this.dashCooldown;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -503,7 +503,7 @@ index d9104d996c854cce1ff167706c93747cd69c3969..d04bc82bb5dbb24ec26d8e7a89061ed6
|
|||||||
protected SoundEvent getAmbientSound() {
|
protected SoundEvent getAmbientSound() {
|
||||||
return SoundEvents.CAMEL_AMBIENT;
|
return SoundEvents.CAMEL_AMBIENT;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||||
index d6e527fb592f721aac59d52a1e84e147da62913b..6ddc233dff914abda9895b4a4a6218f8642ae07e 100644
|
index a990050212c260eae09bcd6bba397e96280c32f0..2c1c2f62780e2b6a8c8906c0a965704fe8ce1d1e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||||
@@ -104,6 +104,11 @@ public class Goat extends Animal {
|
@@ -104,6 +104,11 @@ public class Goat extends Animal {
|
||||||
@@ -519,10 +519,10 @@ index d6e527fb592f721aac59d52a1e84e147da62913b..6ddc233dff914abda9895b4a4a6218f8
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
index ef5f059b51e330c801e1f0d5297c62ea9b77c637..5af2254b6dd380ad0822b47292940e08092f0eeb 100644
|
index f404bee067c7666fd4cf4818c9b093d54a43d5de..f9c8b5965c898ac57d4c8652e19c1f841f86cca7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
@@ -129,6 +129,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
@@ -155,6 +155,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||||
public boolean isRidable() {
|
public boolean isRidable() {
|
||||||
return false; // vanilla handles
|
return false; // vanilla handles
|
||||||
}
|
}
|
||||||
@@ -555,7 +555,7 @@ index ef5f059b51e330c801e1f0d5297c62ea9b77c637..5af2254b6dd380ad0822b47292940e08
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1211,7 +1237,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
@@ -1255,7 +1281,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||||
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
|
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ index 13e03f23b1d5b120b403dda0f5002480ccc2421a..9e8af2437b06bd443db849dd3706b568
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||||
index b1f34ab6e747465df2299b5dd0036d5197397af2..a417678b3eb45f57c9d367dd685dc6ee9cda8990 100644
|
index da91afbd553aa7745ed27dec26aba682660ef7d0..07a9cffe06fe8cbdd499b7c78e2129a3f3bc5630 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
|
||||||
@@ -45,6 +45,21 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
@@ -45,6 +45,21 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
|
||||||
@@ -669,7 +669,7 @@ index aa644005b9347b4b409756b2fd7a3587050b3ad1..da036b6913057bf4f4ce890430a8fdaf
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||||
index aabe89e1807e87b18cc9189280d33fe9888c7130..bd885ebac85cea22718ad7a571408a5c4be5500a 100644
|
index 7c891be8b94a6438910a53c0473393d49b19f5d9..e34e34a276a926c72c98bb1f9d2bacc26bde4d4f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||||
@@ -33,6 +33,21 @@ public class SkeletonHorse extends AbstractHorse {
|
@@ -33,6 +33,21 @@ public class SkeletonHorse extends AbstractHorse {
|
||||||
@@ -721,7 +721,7 @@ index c525b0bc39f90e9ada137e9e4bc3e926a9622007..aa912a52f2652dd06e309a546076e4df
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||||
index a71b4979c1acb272efe3e5eddae05768e98dfca3..3ad96cce8ce944586f24a40101bc531ccf734db3 100644
|
index b2f70aadf57e2f3b7f1342dbc865d519c1cf9aaa..81d738b34386ef178973c54deb4229c6089d31b7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||||
@@ -31,6 +31,21 @@ public class ZombieHorse extends AbstractHorse {
|
@@ -31,6 +31,21 @@ public class ZombieHorse extends AbstractHorse {
|
||||||
@@ -747,10 +747,10 @@ index a71b4979c1acb272efe3e5eddae05768e98dfca3..3ad96cce8ce944586f24a40101bc531c
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
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
|
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 7506ba57b1e5488d50ee577ed6147e7f05e0faa3..b82a90d6b051fe7d93e4c9a5ac0000137768cae5 100644
|
index 48db87ac8c8598443b2b7b3bff7bb9a7257ac16b..ed69b63610bc4214367c793795e5e7aae548ae6f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -160,6 +160,11 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -162,6 +162,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
public double getMaxY() {
|
public double getMaxY() {
|
||||||
return level.purpurConfig.enderDragonMaxY;
|
return level.purpurConfig.enderDragonMaxY;
|
||||||
}
|
}
|
||||||
@@ -763,10 +763,10 @@ index 7506ba57b1e5488d50ee577ed6147e7f05e0faa3..b82a90d6b051fe7d93e4c9a5ac000013
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
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
|
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 7b715180a95e6990581ce28621f2176078ba14c2..e09f98602b2d58e610794e4d5057592c034521b5 100644
|
index 53422cbd694f6986584f75b3f7d9c6b9c09af34a..d28fbdf87eacd948a76db49736208b57ee0692b0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -223,6 +223,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
@@ -224,6 +224,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||||
skull.setPosRaw(headX, headY, headZ);
|
skull.setPosRaw(headX, headY, headZ);
|
||||||
level.addFreshEntity(skull);
|
level.addFreshEntity(skull);
|
||||||
}
|
}
|
||||||
@@ -778,7 +778,7 @@ index 7b715180a95e6990581ce28621f2176078ba14c2..e09f98602b2d58e610794e4d5057592c
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -425,7 +430,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
@@ -426,7 +431,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||||
|
|
||||||
this.setInvulnerableTicks(i);
|
this.setInvulnerableTicks(i);
|
||||||
if (this.tickCount % 10 == 0) {
|
if (this.tickCount % 10 == 0) {
|
||||||
@@ -788,7 +788,7 @@ index 7b715180a95e6990581ce28621f2176078ba14c2..e09f98602b2d58e610794e4d5057592c
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
||||||
index d195edea9b898e230d7837b8ab4eb7c5d4ddfaf2..773884b49ba5d0586c43f4c58cdcf9a8ce3de9e8 100644
|
index 7e5b28368fbfdd2844656f6d2eedf54ce1004670..1b114ddc9872576a19d8f9e6424fa9c99c207a9d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
||||||
@@ -72,6 +72,11 @@ public class Blaze extends Monster {
|
@@ -72,6 +72,11 @@ public class Blaze extends Monster {
|
||||||
@@ -820,7 +820,7 @@ index 790d4abbc8e0b288e20e72e63f8190e938e2fecb..b9ee6fdaad09c92fdeea2e5be6068182
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
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 324173e0b97a3f5ed657f876f1723a909eb7f0da..05d7dd5a9a302b6281e56f8dfe54168b524a89f2 100644
|
index ad1ba865a501f4b0434493052ed2e11bdbca29c5..97164b0d799d768a48741075bdf154e1a0478f13 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -137,6 +137,11 @@ public class Creeper extends Monster implements PowerableMob {
|
@@ -137,6 +137,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||||
@@ -836,7 +836,7 @@ index 324173e0b97a3f5ed657f876f1723a909eb7f0da..05d7dd5a9a302b6281e56f8dfe54168b
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 869a2ee5e0775cc477fb56063dfa4ce4a0c6e3f2..4b58ca48deda0410edf9ad3c9079858d5a31a762 100644
|
index fe9b8d2ef2befccead7e8c085ecfd47bbed884b2..0d246aabc114145c349ac251364856530672c9e3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
@@ -873,7 +873,7 @@ index 82b03488178962eb74fe252d561ba8cee32eda95..01be40f1740fc689b101fc596dbbb1e6
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
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 8f8c40d5265f9e124a255af92eb43b51322ffd74..dcbf6dac3fca471760e2b460e74d90f6d80bcae9 100644
|
index f09c04813cd911d583c727457075fd2695861b59..94bfabd8d7b4e860a99518b390ad2b7b5ef02070 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
@@ -905,7 +905,7 @@ index 9af512ac1147c7be9afeb2e1b767f3455d366b79..400045d30353899edc89907deab14943
|
|||||||
|
|
||||||
@Override
|
@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
|
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 13b81f03db31b9e5befe6f4618a0bb611bd69220..c220808b2a7854fa4a4e8170d7c03ba26717a8ee 100644
|
index 4321d594e3fc392ab7f2cdb36bc0a824c8ca4adc..6c3ca27b03e98771aed8710b09a9caf493de4dcf 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||||
@@ -63,6 +63,11 @@ public class Evoker extends SpellcasterIllager {
|
@@ -63,6 +63,11 @@ public class Evoker extends SpellcasterIllager {
|
||||||
@@ -955,10 +955,10 @@ index e310f4c451d751f4ce03562c9e3db3be313fa7db..8b1942b396606f0c989645a6ac587fbd
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||||
index 01157172c06e022996b25ea0f566ebf703b2b3a8..aad07e8af58158079b0e54e759a08c735af91a40 100644
|
index 15cfb26d9fe41b4570d19ada5970bb636d091532..2a71d5ac30c7bd57365002549f591c17bfb67d0e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||||
@@ -92,6 +92,11 @@ public class Guardian extends Monster {
|
@@ -94,6 +94,11 @@ public class Guardian extends Monster {
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.guardianControllable;
|
return level.purpurConfig.guardianControllable;
|
||||||
}
|
}
|
||||||
@@ -992,7 +992,7 @@ index 87e77fe01c9ffbbc6bcc2f8d4c10545481155bf0..e41cc68649c79dd4ce7455f36112e834
|
|||||||
|
|
||||||
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||||
index 98c85e31a2238cbfa31c12214ade49c4ba181702..171e2fef10ac75dd4585a82057edb4452a6f0d22 100644
|
index 86c629e15d04d1fa0cb3349c6abf5bc09fa6fd34..01d7e41951d765bac9286adcf3f3196b954f8ff6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||||
@@ -74,6 +74,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
@@ -74,6 +74,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||||
@@ -1010,7 +1010,7 @@ index 98c85e31a2238cbfa31c12214ade49c4ba181702..171e2fef10ac75dd4585a82057edb445
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
||||||
index 3a2261687ec8b3b1f69b89ceeb2cc8cc524ab57a..69375fdb63b9edde3d161bac7a1946a36306f0c5 100644
|
index 09d44964b444743057d0aba26c9cb9f001969e16..01420d5dc03e67443291983f3c6e58340a44a37f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/MagmaCube.java
|
||||||
@@ -45,6 +45,26 @@ public class MagmaCube extends Slime {
|
@@ -45,6 +45,26 @@ public class MagmaCube extends Slime {
|
||||||
@@ -1041,7 +1041,7 @@ index 3a2261687ec8b3b1f69b89ceeb2cc8cc524ab57a..69375fdb63b9edde3d161bac7a1946a3
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
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 3ee0905bc4d054fef76e1f02e618f06fa4339adc..2294458c7e81147a3efd2ef854fbc08f44231050 100644
|
index 4aa535e990cc1344e35cdfa6adb78b77b3e0b48a..5ee85ed1f5ae3d50c17591ffa92d79b218454b7d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||||
@@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy {
|
@@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||||
@@ -1095,10 +1095,10 @@ index a12352cb50edd8bd7a8f514e714e352bb341c2f7..f2f0137d8c74165f5ea829599f537c14
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
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 e497d0ff3cafd16d3aed9a858a506d1c6f4e140a..255b90552a8887e37a051f74eb2ed51e6a041e3b 100644
|
index 3912277fd92971268e96a15c7003809ae4899a9a..b782b39a0efa651104537d0f422685128708aa7e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||||
@@ -90,6 +90,11 @@ public class Ravager extends Raider {
|
@@ -86,6 +86,11 @@ public class Ravager extends Raider {
|
||||||
super.onMount(rider);
|
super.onMount(rider);
|
||||||
getNavigation().stop();
|
getNavigation().stop();
|
||||||
}
|
}
|
||||||
@@ -1111,10 +1111,10 @@ index e497d0ff3cafd16d3aed9a858a506d1c6f4e140a..255b90552a8887e37a051f74eb2ed51e
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||||
index 2d31b78a9d27b3354b01eb957996a0477f457bec..aeffb232321b7c04b2fd2eef3674669277ec8fbc 100644
|
index f8e09c2fa07e5682b341a652d2a0a50e748a4841..278e4d22e0a8fd7ff27df175fe46e11b3ec15534 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||||
@@ -109,6 +109,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
@@ -110,6 +110,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.shulkerControllable;
|
return level.purpurConfig.shulkerControllable;
|
||||||
}
|
}
|
||||||
@@ -1127,7 +1127,7 @@ index 2d31b78a9d27b3354b01eb957996a0477f457bec..aeffb232321b7c04b2fd2eef36746692
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
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 07b134957b0d53841f2d4462f91fcf20fb9006fd..44e33d3007f1743f3f18b37ff61af9eb5542f529 100644
|
index 3aa80d7c6b0bc4e8de0581adcd6b05518957e633..26a24da890f451ffba664dbcdbc97ec4870db0ee 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||||
@@ -57,6 +57,11 @@ public class Silverfish extends Monster {
|
@@ -57,6 +57,11 @@ public class Silverfish extends Monster {
|
||||||
@@ -1159,7 +1159,7 @@ index 84d03d11d24e6c36a91be7a8e310e91a002370fe..6fb4649b5a0c87ef6906902ce533b245
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
index 3de34f745609cfcb8039c72b0432966262918510..a508b7c024f35d63c2de5f61e4b1717a4872433a 100644
|
index 3e4777e5f3ad19933d9eaffd5e4bc9d4d13120f0..344386b3da76778f2758c4778e76755056e19501 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
||||||
@@ -1213,7 +1213,7 @@ index 3de34f745609cfcb8039c72b0432966262918510..a508b7c024f35d63c2de5f61e4b1717a
|
|||||||
this.setHealth(this.getMaxHealth());
|
this.setHealth(this.getMaxHealth());
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
index e95e5677df0affdf4ce87365263c40e0b9d396c1..f82d214f22e10aec3b0ab106c0d11b990ae7cec5 100644
|
index 59ad80708077dd75212d4ad5d94afb2cd1ec5483..669a0ee7661e972a169d8b550af1e5658c029474 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||||
@@ -66,6 +66,11 @@ public class Spider extends Monster {
|
@@ -66,6 +66,11 @@ public class Spider extends Monster {
|
||||||
@@ -1245,10 +1245,10 @@ index 5737b1b2c2882e67082e2c0243b192ac1d50f8b7..e7f0807cc4e57c99bbd0debaebb3b9f6
|
|||||||
|
|
||||||
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
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 db8510eeb8ba3218b732d80bb69779a46a439462..ddd4c66193cf6553bdb8f5206e17731a529d0f9e 100644
|
index 482a1ca619e942782da5ed0b7f60255cb3f18f2a..5fb06339822ec90db669a282c42fe1c25b0bc1f0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||||
@@ -111,6 +111,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
@@ -115,6 +115,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.striderControllable;
|
return level.purpurConfig.striderControllable;
|
||||||
}
|
}
|
||||||
@@ -1261,10 +1261,10 @@ index db8510eeb8ba3218b732d80bb69779a46a439462..ddd4c66193cf6553bdb8f5206e17731a
|
|||||||
|
|
||||||
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
index cdfa94f8deeca5ab529e5027b0fdb3c072452582..929b8b2320c8a5b13f5a63bd966af1d0ee8de754 100644
|
index e14af9c332fdaf6af5cc07df6cc6176e680d4c89..5b5dd53181b18ad7c4af7f9381fd985dd54d2370 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -104,6 +104,11 @@ public class Vex extends Monster {
|
@@ -105,6 +105,11 @@ public class Vex extends Monster implements TraceableEntity {
|
||||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||||
return false; // no fall damage please
|
return false; // no fall damage please
|
||||||
}
|
}
|
||||||
@@ -1293,10 +1293,10 @@ index c0421de54b2d192d67c54cef359f6b12d2d013c1..c3b8bce2d8e1dccb619267923964e06a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||||
index f15b93f24adfa72d6d2271b67ecca0996df2d870..c4ee1bca68b26403b6671c8c5f7fc3f037ad1128 100644
|
index 4851c9af562a9e2f019e35c7b55a4b984ce2b132..dbfb46cc45d96b32f67869c796970c4c0e93202a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||||
@@ -71,6 +71,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
@@ -72,6 +72,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.witchControllable;
|
return level.purpurConfig.witchControllable;
|
||||||
}
|
}
|
||||||
@@ -1412,7 +1412,7 @@ index 838420f5d61eaf5e4abb52751b010d57def21d6f..aca84be04c50188612f69ee20e9a0948
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
index 3330580c06d4e7645be12deffb63936799dffe44..8e2c052dac99d4b7b4b926a2c22281087abaf754 100644
|
index c2eeae87d011dfb0bec574c36e262dc1cc218131..bd61507c88bf5dd41a4b373ed8102744d94c994d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||||
@@ -1428,7 +1428,7 @@ index 3330580c06d4e7645be12deffb63936799dffe44..8e2c052dac99d4b7b4b926a2c2228108
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
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
|
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 33ffbc4ac5cecec8487c0529c1dee8596bb0ab30..48ae24daa126e1b3b2a740af15db756d412adbf7 100644
|
index 11f10a11bcdacd9419775684cfb862f5228a28bc..ad2ce84fdf70e0a5457c3e1ac69e80a4707d14f6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -112,6 +112,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -112,6 +112,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -1460,10 +1460,10 @@ index ff149234a8f3e1c94961e41d5bc8117460b301d9..75db61c5aab66234b26f7899229ddca8
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
index 2bbfa9a7d0fe71597e4e9a1e883be68018caadd7..bf81e2f1610727443b179a66237ca209a3cc8fd4 100644
|
index 4ddafd4d4ffc332b5787faa39d7a8e754bb56c9c..94cdb6695a8991c446358854e437ad00970fecc9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
@@ -175,6 +175,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -173,6 +173,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
protected void registerGoals() {
|
protected void registerGoals() {
|
||||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||||
}
|
}
|
||||||
@@ -1476,10 +1476,10 @@ index 2bbfa9a7d0fe71597e4e9a1e883be68018caadd7..bf81e2f1610727443b179a66237ca209
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||||
index 0e7d5540763d56020cd59d9aef09f7a7d2cde1b1..7502940882edea11842b09de57094af37a7d62f9 100644
|
index e6890083f3a550f30d60ad544aefc00aa2a45ac6..649f6a8bb9adac0369e8c57eef0dc35cc21f97b9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||||
@@ -81,6 +81,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
@@ -84,6 +84,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.wanderingTraderControllable;
|
return level.purpurConfig.wanderingTraderControllable;
|
||||||
}
|
}
|
||||||
@@ -1492,10 +1492,10 @@ index 0e7d5540763d56020cd59d9aef09f7a7d2cde1b1..7502940882edea11842b09de57094af3
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf2685565e7b60e 100644
|
index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aeeaa4a8189 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,94 +113,183 @@ public class PurpurWorldConfig {
|
@@ -112,94 +112,183 @@ public class PurpurWorldConfig {
|
||||||
|
|
||||||
public boolean axolotlRidable = false;
|
public boolean axolotlRidable = false;
|
||||||
public boolean axolotlControllable = true;
|
public boolean axolotlControllable = true;
|
||||||
@@ -1679,7 +1679,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean dolphinRidable = false;
|
public boolean dolphinRidable = false;
|
||||||
@@ -208,80 +297,161 @@ public class PurpurWorldConfig {
|
@@ -207,80 +296,161 @@ public class PurpurWorldConfig {
|
||||||
public int dolphinSpitCooldown = 20;
|
public int dolphinSpitCooldown = 20;
|
||||||
public float dolphinSpitSpeed = 1.0F;
|
public float dolphinSpitSpeed = 1.0F;
|
||||||
public float dolphinSpitDamage = 2.0F;
|
public float dolphinSpitDamage = 2.0F;
|
||||||
@@ -1841,7 +1841,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean frogRidable = false;
|
public boolean frogRidable = false;
|
||||||
@@ -299,147 +469,316 @@ public class PurpurWorldConfig {
|
@@ -298,147 +468,316 @@ public class PurpurWorldConfig {
|
||||||
public boolean ghastRidableInWater = false;
|
public boolean ghastRidableInWater = false;
|
||||||
public boolean ghastControllable = true;
|
public boolean ghastControllable = true;
|
||||||
public double ghastMaxY = 320D;
|
public double ghastMaxY = 320D;
|
||||||
@@ -2158,7 +2158,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean phantomRidable = false;
|
public boolean phantomRidable = false;
|
||||||
@@ -449,6 +788,10 @@ public class PurpurWorldConfig {
|
@@ -448,6 +787,10 @@ public class PurpurWorldConfig {
|
||||||
public float phantomFlameDamage = 1.0F;
|
public float phantomFlameDamage = 1.0F;
|
||||||
public int phantomFlameFireTime = 8;
|
public int phantomFlameFireTime = 8;
|
||||||
public boolean phantomAllowGriefing = false;
|
public boolean phantomAllowGriefing = false;
|
||||||
@@ -2169,7 +2169,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
private void phantomSettings() {
|
private void phantomSettings() {
|
||||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||||
@@ -457,180 +800,350 @@ public class PurpurWorldConfig {
|
@@ -456,180 +799,350 @@ public class PurpurWorldConfig {
|
||||||
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
|
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
|
||||||
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
|
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
|
||||||
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
|
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
|
||||||
@@ -2520,7 +2520,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean tadpoleRidable = false;
|
public boolean tadpoleRidable = false;
|
||||||
@@ -645,64 +1158,125 @@ public class PurpurWorldConfig {
|
@@ -644,64 +1157,125 @@ public class PurpurWorldConfig {
|
||||||
public boolean traderLlamaRidable = false;
|
public boolean traderLlamaRidable = false;
|
||||||
public boolean traderLlamaRidableInWater = false;
|
public boolean traderLlamaRidableInWater = false;
|
||||||
public boolean traderLlamaControllable = true;
|
public boolean traderLlamaControllable = true;
|
||||||
@@ -2646,7 +2646,7 @@ index a258de586a26c43f0316468f0a49e2da94b690da..eb3953524cf7dc8a96fd7bcfddf26855
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean wardenRidable = false;
|
public boolean wardenRidable = false;
|
||||||
@@ -717,81 +1291,165 @@ public class PurpurWorldConfig {
|
@@ -716,81 +1290,165 @@ public class PurpurWorldConfig {
|
||||||
public boolean witchRidable = false;
|
public boolean witchRidable = false;
|
||||||
public boolean witchRidableInWater = false;
|
public boolean witchRidableInWater = false;
|
||||||
public boolean witchControllable = true;
|
public boolean witchControllable = true;
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index e978172bacfba940a112c35bc666a59b2e1fa83b..f1c3737d5cff959db2cdb3be672987c603c1ca6c 100644
|
index c996a28e3d6dd775021b2a1d199ac96d64b798f9..86a1f0733ed2aabe09fc748bdf9561d9b9a8286e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1140,6 +1140,27 @@ public abstract class PlayerList {
|
@@ -1147,6 +1147,27 @@ public abstract class PlayerList {
|
||||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||||
this.server.getCommands().sendCommands(player);
|
this.server.getCommands().sendCommands(player);
|
||||||
} // Paper
|
} // Paper
|
||||||
@@ -37,10 +37,10 @@ index e978172bacfba940a112c35bc666a59b2e1fa83b..f1c3737d5cff959db2cdb3be672987c6
|
|||||||
|
|
||||||
public boolean isWhiteListed(GameProfile profile) {
|
public boolean isWhiteListed(GameProfile profile) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
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 34906d3237388d548604de2577f64ff084ed0838..a0cd61f73bdc50cd29125c5e3f9fc47c3c3c5608 100644
|
index 9cccd24c096caa7a78f2bafabf0760c7a9112fdb..65cdd155dc71cf0866a28714dc2c6a92886f2755 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
|
@@ -186,6 +186,7 @@ public abstract class Player extends LivingEntity {
|
||||||
public boolean affectsSpawning = true;
|
public boolean affectsSpawning = true;
|
||||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
|
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -49,7 +49,7 @@ index 34906d3237388d548604de2577f64ff084ed0838..a0cd61f73bdc50cd29125c5e3f9fc47c
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public boolean fauxSleeping;
|
public boolean fauxSleeping;
|
||||||
diff --git a/src/main/java/net/minecraft/world/inventory/ChestMenu.java b/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/ChestMenu.java b/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
||||||
index 82331715e91c6e9a13c0626164368ae16e754126..15d115917e2c9f7d5669cabe2721df9fcdb4ec7b 100644
|
index 0dbfd23bbfc6ad203f048142f8c90ef741849fe1..9a80427d2bb470b6b1638e59aba57216676dcbd2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
--- a/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
||||||
+++ b/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
+++ b/src/main/java/net/minecraft/world/inventory/ChestMenu.java
|
||||||
@@ -67,10 +67,30 @@ public class ChestMenu extends AbstractContainerMenu {
|
@@ -67,10 +67,30 @@ public class ChestMenu extends AbstractContainerMenu {
|
||||||
@@ -198,10 +198,10 @@ index 416aa989ebb18a8741cc9d605a1180ab830f6643..e38a0adf5463c48311ad08b8d2e5b5c2
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
index 1f73834043c2d2be17ae647589653d517db36a1b..39f03d0b74b9bfc2eb62d95f2975bcd15bb25bc2 100644
|
index 191e8233deaa859d969d54242e297e722f3d947b..76e26542448d18750ce33d53d54c2a77c0590554 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
@@ -164,8 +164,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
@@ -166,8 +166,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||||
case PLAYER:
|
case PLAYER:
|
||||||
case CHEST:
|
case CHEST:
|
||||||
case ENDER_CHEST:
|
case ENDER_CHEST:
|
||||||
@@ -223,7 +223,7 @@ index 1f73834043c2d2be17ae647589653d517db36a1b..39f03d0b74b9bfc2eb62d95f2975bcd1
|
|||||||
case DISPENSER:
|
case DISPENSER:
|
||||||
case DROPPER:
|
case DROPPER:
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
index 59457378820d7f2899254a6aeef4c30c926ce543..b280d42a0298c04647945cde7bd5a4f5766c301b 100644
|
index 44eba9e20651c29a84def786f4a350750fdbdeeb..15b3e89702a6a8dbfcd820ac9654c9c15b95c52f 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
@@ -82,7 +82,7 @@ public class CraftInventory implements Inventory {
|
@@ -82,7 +82,7 @@ public class CraftInventory implements Inventory {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 19cff8ba18d28f4c7cc7dfc71ce6ce3501b7bcb8..4f25737b205ed299d02a2a763c7add71eaba0569 100644
|
index 8fa36563e130f8af0fc60d84d08134fa54c4ca53..dae286863e7bf9316b23724f14d0f22f522cad4a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -2051,8 +2051,63 @@ public class ServerPlayer extends Player {
|
@@ -2058,8 +2058,63 @@ public class ServerPlayer extends Player {
|
||||||
|
|
||||||
public void resetLastActionTime() {
|
public void resetLastActionTime() {
|
||||||
this.lastActionTime = Util.getMillis();
|
this.lastActionTime = Util.getMillis();
|
||||||
@@ -73,10 +73,10 @@ index 19cff8ba18d28f4c7cc7dfc71ce6ce3501b7bcb8..4f25737b205ed299d02a2a763c7add71
|
|||||||
return this.stats;
|
return this.stats;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 226f1b3a59cb1adbe8c61db7d2ff38c285c3f56a..55be049561950fffcbbd46bb0b3d8c6a67e78ee1 100644
|
index 4037ab672c5dfe417307b2c40474b3c48ae529f0..1e3aa42d2e293f465d91964d2a5aa9118fc4c57b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -335,6 +335,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -337,6 +337,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
private boolean justTeleported = false;
|
private boolean justTeleported = false;
|
||||||
private boolean hasMoved; // Spigot
|
private boolean hasMoved; // Spigot
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ index 226f1b3a59cb1adbe8c61db7d2ff38c285c3f56a..55be049561950fffcbbd46bb0b3d8c6a
|
|||||||
public CraftPlayer getCraftPlayer() {
|
public CraftPlayer getCraftPlayer() {
|
||||||
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
||||||
}
|
}
|
||||||
@@ -428,6 +442,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -430,6 +444,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
|
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
|
||||||
@@ -110,7 +110,7 @@ index 226f1b3a59cb1adbe8c61db7d2ff38c285c3f56a..55be049561950fffcbbd46bb0b3d8c6a
|
|||||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||||
}
|
}
|
||||||
@@ -731,6 +751,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -734,6 +754,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
this.lastYaw = to.getYaw();
|
this.lastYaw = to.getYaw();
|
||||||
this.lastPitch = to.getPitch();
|
this.lastPitch = to.getPitch();
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ index 226f1b3a59cb1adbe8c61db7d2ff38c285c3f56a..55be049561950fffcbbd46bb0b3d8c6a
|
|||||||
// Skip the first time we do this
|
// Skip the first time we do this
|
||||||
if (true) { // Spigot - don't skip any move events
|
if (true) { // Spigot - don't skip any move events
|
||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
@@ -1535,7 +1557,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -1537,7 +1559,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
|
|
||||||
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
||||||
flag2 = true; // Paper - diff on change, this should be moved wrongly
|
flag2 = true; // Paper - diff on change, this should be moved wrongly
|
||||||
@@ -128,7 +128,7 @@ index 226f1b3a59cb1adbe8c61db7d2ff38c285c3f56a..55be049561950fffcbbd46bb0b3d8c6a
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||||
@@ -1586,6 +1608,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -1588,6 +1610,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
this.lastYaw = to.getYaw();
|
this.lastYaw = to.getYaw();
|
||||||
this.lastPitch = to.getPitch();
|
this.lastPitch = to.getPitch();
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ index 72abebff2018cde2922e97ad6478f93da9aed3ec..412963d7af38a53b6010007278d959a5
|
|||||||
private EntitySelector() {}
|
private EntitySelector() {}
|
||||||
// Paper start
|
// Paper start
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
index e752c83df50fb9b670ecea2abc95426c2a009b6f..baa4f9026d31de92210300ecb8ee8c1b6d575435 100644
|
index a7575b5ef56af6f53448d391abb4956e130148ca..0a9e4dc5d6d567605c587df9bcbb57d379b62877 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
@@ -64,6 +64,10 @@ public class TargetingConditions {
|
@@ -64,6 +64,10 @@ public class TargetingConditions {
|
||||||
@@ -187,10 +187,10 @@ index e752c83df50fb9b670ecea2abc95426c2a009b6f..baa4f9026d31de92210300ecb8ee8c1b
|
|||||||
if (baseEntity == null) {
|
if (baseEntity == null) {
|
||||||
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) {
|
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
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 a0cd61f73bdc50cd29125c5e3f9fc47c3c3c5608..8f85d5c09b36610cb8ffa9032818933ab30e5fad 100644
|
index 65cdd155dc71cf0866a28714dc2c6a92886f2755..21da282c50a31d0d9a59bc93e6c60afe37950900 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -198,6 +198,13 @@ public abstract class Player extends LivingEntity {
|
@@ -201,6 +201,13 @@ public abstract class Player extends LivingEntity {
|
||||||
// Purpur start
|
// Purpur start
|
||||||
public abstract void resetLastActionTime();
|
public abstract void resetLastActionTime();
|
||||||
|
|
||||||
@@ -218,10 +218,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
|
|||||||
if (range < 0.0D || d < range * range) {
|
if (range < 0.0D || d < range * range) {
|
||||||
return true;
|
return true;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index df85031aaedfd5e5d189003a7cb89d6eef6fa186..4615f3c006a6f96d1d6eec7ada4501606f9edc57 100644
|
index 6c502a804344d2121653d330a689d012cf5c4562..840849cebbf9090c21923d30e0e3afbc7f14ac43 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -524,10 +524,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -525,10 +525,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPlayerListName(String name) {
|
public void setPlayerListName(String name) {
|
||||||
@@ -238,7 +238,7 @@ index df85031aaedfd5e5d189003a7cb89d6eef6fa186..4615f3c006a6f96d1d6eec7ada450160
|
|||||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||||
if (player.getBukkitEntity().canSee(this)) {
|
if (player.getBukkitEntity().canSee(this)) {
|
||||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||||
@@ -3087,5 +3092,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -3154,5 +3159,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
public boolean usesPurpurClient() {
|
public boolean usesPurpurClient() {
|
||||||
return getHandle().purpurClient;
|
return getHandle().purpurClient;
|
||||||
}
|
}
|
||||||
@@ -281,10 +281,10 @@ index 2f684a8f976f1f1a18c31f4c1a7eba9080099e55..c517873abdcb1e5334ba9e7a1c2f06bb
|
|||||||
|
|
||||||
public static int barrelRows = 3;
|
public static int barrelRows = 3;
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index eb3953524cf7dc8a96fd7bcfddf2685565e7b60e..4c69037cd0f7c713da7b357b2f09f0e78adc2b10 100644
|
index 08b8d90ebdfd3937b6c32a7f18f08aeeaa4a8189..63b5be2433b5fba5c4139a9c1dbaaa79655fba7a 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -93,6 +93,24 @@ public class PurpurWorldConfig {
|
@@ -92,6 +92,24 @@ public class PurpurWorldConfig {
|
||||||
return value.isEmpty() ? fallback : value;
|
return value.isEmpty() ? fallback : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,10 +310,10 @@ index eb3953524cf7dc8a96fd7bcfddf2685565e7b60e..4c69037cd0f7c713da7b357b2f09f0e7
|
|||||||
public boolean untamedTamablesAreRidable = true;
|
public boolean untamedTamablesAreRidable = true;
|
||||||
public boolean useNightVisionWhenRiding = false;
|
public boolean useNightVisionWhenRiding = false;
|
||||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
index 63d3fcc45be732a4cd2dc8b5347d860fd6577bdd..f1abcd9c63d7bb9797f05e3764262e0080c60da2 100644
|
index e881584d38dc354204479863f004e974a0ac6c07..5fde2a74385e621ae96922fd8aa6e386f5b780bb 100644
|
||||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
@@ -203,6 +203,7 @@ public class ActivationRange
|
@@ -199,6 +199,7 @@ public class ActivationRange
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
index c7e4330c93baff1f3027d7c75cf857b673d38970..5134fed0cd0eedbe0c2177bce91b978b20061517 100644
|
index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824f9e69ba1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
@@ -58,6 +58,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
@@ -58,6 +58,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
||||||
@@ -17,10 +17,10 @@ index c7e4330c93baff1f3027d7c75cf857b673d38970..5134fed0cd0eedbe0c2177bce91b978b
|
|||||||
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
||||||
public final boolean pvp = this.get("pvp", true);
|
public final boolean pvp = this.get("pvp", true);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index fdb314838159f77b3fb12d61e74d12f582fb2bcf..72d52c43947616dc81fbbd7926d2028be3ffcce4 100644
|
index 3ae359a7334d8e398558fbb7c13cfd490a963d27..e313f4a9025e19b9afd5a725b89dca803516919b 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2941,4 +2941,11 @@ public final class CraftServer implements Server {
|
@@ -2934,4 +2934,11 @@ public final class CraftServer implements Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 7191a7e9a7fcb4268c5aaf85bf9c896fa2bfd676..70d3fc30e21a6c3c3d7a87ce2e43dd2eb8322b2c 100644
|
index 14f42f40fd8afbb21882d08a9ab81e5bdef9fb6f..1af65fe3e5f05900b25f49ee6b70286eb7b466ed 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1657,7 +1657,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1680,7 +1680,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 82a8fddc5a0ee82c8ce78c02f4ecb106b89c734d..b528a65b8b03d795b703b839fc695249a12642a7 100644
|
index cbbef7730e7743c05ddc8011eab77f05829132f5..d0437c2d10c44883c90861666dc2cd8805c4d5ab 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -256,6 +256,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
private boolean skipDropExperience;
|
private boolean skipDropExperience;
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public int expToDrop;
|
public int expToDrop;
|
||||||
@@ -16,7 +16,7 @@ index 82a8fddc5a0ee82c8ce78c02f4ecb106b89c734d..b528a65b8b03d795b703b839fc695249
|
|||||||
public boolean forceDrops;
|
public boolean forceDrops;
|
||||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||||
@@ -356,8 +357,8 @@ public abstract class LivingEntity extends Entity {
|
@@ -352,8 +353,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
this.tryAddSoulSpeed();
|
this.tryAddSoulSpeed();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,20 +27,20 @@ index 82a8fddc5a0ee82c8ce78c02f4ecb106b89c734d..b528a65b8b03d795b703b839fc695249
|
|||||||
|
|
||||||
if (!state.isAir()) {
|
if (!state.isAir()) {
|
||||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||||
@@ -2020,7 +2021,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -1996,7 +1997,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
|
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
|
||||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||||
|
|
||||||
- return Mth.ceil((fallDistance - 3.0F - f2) * damageMultiplier);
|
- return Mth.ceil((fallDistance - 3.0F - f2) * damageMultiplier);
|
||||||
+ return Mth.ceil((fallDistance - this.safeFallDistance - f2) * damageMultiplier); // Purpur
|
+ return Mth.ceil((fallDistance - this.safeFallDistance - f2) * damageMultiplier); // Purpur
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void playBlockFallSound() {
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
index 5af2254b6dd380ad0822b47292940e08092f0eeb..8f27e6b495b82361d331c514c78088d358e4f5b4 100644
|
index f9c8b5965c898ac57d4c8652e19c1f841f86cca7..48866a9dd0da91c870eff2153a8505f6d2a6a622 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||||
@@ -347,7 +347,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
@@ -373,7 +373,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
|
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
|
||||||
@@ -62,7 +62,7 @@ index 8b1942b396606f0c989645a6ac587fbdd26a3dc5..c1c5e884f00398032196ee71b55b348f
|
|||||||
|
|
||||||
// Purpur start
|
// Purpur start
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
index db5952e97c5ff5c258760b70592f9ad470ce401c..29cebba7ff81bb7769eb6743d931ad27f54b6202 100644
|
index 699669aa34cb1476cb5b48719db4b01fe708a7b2..cbaf3438c9f9e1d42467501127da7fa48e0598d9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -1070,4 +1070,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
@@ -1070,4 +1070,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 1940c348b236c195bb94e39c6deba972093c0c8f..3dd4ae421574453ffe346a12fd4f036bda335307 100644
|
index 1af65fe3e5f05900b25f49ee6b70286eb7b466ed..3bb2aec5a3d73acc47f28a168cbe4973c81bfca5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -305,6 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
// Spigot end
|
// Spigot end
|
||||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
||||||
public static long currentTickLong = 0L; // Paper
|
public static long currentTickLong = 0L; // Paper
|
||||||
@@ -16,7 +16,7 @@ index 1940c348b236c195bb94e39c6deba972093c0c8f..3dd4ae421574453ffe346a12fd4f036b
|
|||||||
|
|
||||||
public volatile Thread shutdownThread; // Paper
|
public volatile Thread shutdownThread; // Paper
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
@@ -1158,6 +1159,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1156,6 +1157,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.recentTps[1] = tps5.getAverage();
|
this.recentTps[1] = tps5.getAverage();
|
||||||
this.recentTps[2] = tps15.getAverage();
|
this.recentTps[2] = tps15.getAverage();
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -25,10 +25,10 @@ index 1940c348b236c195bb94e39c6deba972093c0c8f..3dd4ae421574453ffe346a12fd4f036b
|
|||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 72d52c43947616dc81fbbd7926d2028be3ffcce4..30369316aebaa4078022a78ad66dc88abf3c904b 100644
|
index e313f4a9025e19b9afd5a725b89dca803516919b..8f51ce6068ac610fed09da9d0ffc384f37eeaff2 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2947,5 +2947,10 @@ public final class CraftServer implements Server {
|
@@ -2940,5 +2940,10 @@ public final class CraftServer implements Server {
|
||||||
public String getServerName() {
|
public String getServerName() {
|
||||||
return this.getProperties().serverName;
|
return this.getProperties().serverName;
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 3e0d38ed6959d5d9f7dbae8d604acb9299b8621d..a6d8ac89d0b5de3475768f18dc47f99b708b4323 100644
|
index ceacc0d383e2ee674783d3c0a7df0a951595faca..b8007196d117fa30722b81fc1cf8f1ce04c97c68 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -308,6 +308,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
@@ -313,6 +313,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||||
return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
|
return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ index 3e0d38ed6959d5d9f7dbae8d604acb9299b8621d..a6d8ac89d0b5de3475768f18dc47f99b
|
|||||||
public static ResourceLocation getKey(EntityType<?> type) {
|
public static ResourceLocation getKey(EntityType<?> type) {
|
||||||
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
||||||
}
|
}
|
||||||
@@ -522,6 +532,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
@@ -528,6 +538,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||||
return this.category;
|
return this.category;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf9f94644c 100644
|
index dae286863e7bf9316b23724f14d0f22f522cad4a..90baf612964501ce7048610f62e538946c420174 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -269,6 +269,7 @@ public class ServerPlayer extends Player {
|
@@ -275,6 +275,7 @@ public class ServerPlayer extends Player {
|
||||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||||
public boolean purpurClient = false; // Purpur
|
public boolean purpurClient = false; // Purpur
|
||||||
@@ -16,7 +16,7 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
|
|
||||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||||
@@ -368,6 +369,7 @@ public class ServerPlayer extends Player {
|
@@ -374,6 +375,7 @@ public class ServerPlayer extends Player {
|
||||||
this.bukkitPickUpLoot = true;
|
this.bukkitPickUpLoot = true;
|
||||||
this.maxHealthCache = this.getMaxHealth();
|
this.maxHealthCache = this.getMaxHealth();
|
||||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||||
@@ -24,7 +24,7 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
||||||
@@ -1049,6 +1051,12 @@ public class ServerPlayer extends Player {
|
@@ -1055,6 +1057,12 @@ public class ServerPlayer extends Player {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,16 +37,16 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
@Override
|
@Override
|
||||||
public boolean hurt(DamageSource source, float amount) {
|
public boolean hurt(DamageSource source, float amount) {
|
||||||
if (this.isInvulnerableTo(source)) {
|
if (this.isInvulnerableTo(source)) {
|
||||||
@@ -1056,7 +1064,7 @@ public class ServerPlayer extends Player {
|
@@ -1062,7 +1070,7 @@ public class ServerPlayer extends Player {
|
||||||
} else {
|
} else {
|
||||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
|
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
|
||||||
|
|
||||||
- if (!flag && this.spawnInvulnerableTime > 0 && source != DamageSource.OUT_OF_WORLD) {
|
- if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||||
+ if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
|
+ if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
if (source instanceof EntityDamageSource) {
|
Entity entity = source.getEntity();
|
||||||
@@ -1230,6 +1238,7 @@ public class ServerPlayer extends Player {
|
@@ -1242,6 +1250,7 @@ public class ServerPlayer extends Player {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2037,6 +2046,7 @@ public class ServerPlayer extends Player {
|
@@ -2044,6 +2053,7 @@ public class ServerPlayer extends Player {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
|
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
|
||||||
@@ -62,7 +62,7 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
|
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2583,9 +2593,17 @@ public class ServerPlayer extends Player {
|
@@ -2575,9 +2585,17 @@ public class ServerPlayer extends Player {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isImmobile() {
|
public boolean isImmobile() {
|
||||||
@@ -82,10 +82,10 @@ index 4f25737b205ed299d02a2a763c7add71eaba0569..3540389bd6b853c3357928b92ef110bf
|
|||||||
public Scoreboard getScoreboard() {
|
public Scoreboard getScoreboard() {
|
||||||
return this.getBukkitEntity().getScoreboard().getHandle();
|
return this.getBukkitEntity().getScoreboard().getHandle();
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 55be049561950fffcbbd46bb0b3d8c6a67e78ee1..77b5d7e6ba4c76c528a0592cb5da825d1e6d8a1f 100644
|
index 1e3aa42d2e293f465d91964d2a5aa9118fc4c57b..5248a576c65f5758252bb9428c3363b25432ac3e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2091,12 +2091,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -2081,12 +2081,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@Override
|
@Override
|
||||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||||
@@ -108,10 +108,10 @@ index 55be049561950fffcbbd46bb0b3d8c6a67e78ee1..77b5d7e6ba4c76c528a0592cb5da825d
|
|||||||
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index f1c3737d5cff959db2cdb3be672987c603c1ca6c..1a5863a192caadac38c47a418f298394c11b8263 100644
|
index 86a1f0733ed2aabe09fc748bdf9561d9b9a8286e..3ed1af31cf0beb945699480bca104e7a282e3651 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -955,6 +955,8 @@ public abstract class PlayerList {
|
@@ -962,6 +962,8 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -121,10 +121,10 @@ index f1c3737d5cff959db2cdb3be672987c603c1ca6c..1a5863a192caadac38c47a418f298394
|
|||||||
return entityplayer1;
|
return entityplayer1;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 4615f3c006a6f96d1d6eec7ada4501606f9edc57..27309ade0b8af8af3def7a0bc07df74aaef53246 100644
|
index 840849cebbf9090c21923d30e0e3afbc7f14ac43..17ea58f45f4bc4eb8bbbeadd6f25a477061d1617 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -3107,5 +3107,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -3174,5 +3174,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
public void resetIdleTimer() {
|
public void resetIdleTimer() {
|
||||||
getHandle().resetLastActionTime();
|
getHandle().resetLastActionTime();
|
||||||
}
|
}
|
||||||
@@ -146,10 +146,10 @@ index 4615f3c006a6f96d1d6eec7ada4501606f9edc57..27309ade0b8af8af3def7a0bc07df74a
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 4c69037cd0f7c713da7b357b2f09f0e78adc2b10..875a0381b27077a5024a267eb545d61fd8e3dcf4 100644
|
index 63b5be2433b5fba5c4139a9c1dbaaa79655fba7a..38bfaa8e15d56bc2934f3281ec43954f94ea1ca7 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -98,6 +98,8 @@ public class PurpurWorldConfig {
|
@@ -97,6 +97,8 @@ public class PurpurWorldConfig {
|
||||||
public boolean idleTimeoutCountAsSleeping = false;
|
public boolean idleTimeoutCountAsSleeping = false;
|
||||||
public boolean idleTimeoutUpdateTabList = false;
|
public boolean idleTimeoutUpdateTabList = false;
|
||||||
public boolean idleTimeoutTargetPlayer = true;
|
public boolean idleTimeoutTargetPlayer = true;
|
||||||
@@ -158,7 +158,7 @@ index 4c69037cd0f7c713da7b357b2f09f0e78adc2b10..875a0381b27077a5024a267eb545d61f
|
|||||||
private void playerSettings() {
|
private void playerSettings() {
|
||||||
if (PurpurConfig.version < 19) {
|
if (PurpurConfig.version < 19) {
|
||||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||||
@@ -109,6 +111,8 @@ public class PurpurWorldConfig {
|
@@ -108,6 +110,8 @@ public class PurpurWorldConfig {
|
||||||
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
index 95ba37458e8154dbce6a8590508840d694fcbed1..8b198d31578c4618f730d572844292ae3bdda2c7 100644
|
index c84908095a93d42826b21bf5f3490410fb0a5708..20b328704981c088597359fe18c1d67c339c1c0f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
@@ -76,6 +76,7 @@ public abstract class AbstractContainerMenu {
|
@@ -76,6 +76,7 @@ public abstract class AbstractContainerMenu {
|
||||||
@@ -17,7 +17,7 @@ index 95ba37458e8154dbce6a8590508840d694fcbed1..8b198d31578c4618f730d572844292ae
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public boolean checkReachable = true;
|
public boolean checkReachable = true;
|
||||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||||
index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e95eddd77 100644
|
index b7a2295290227045e6426ee0f71707185d95b943..8475a8514b39d543cc7cf0dbfef6d2aabb6127d0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||||
@@ -21,6 +21,13 @@ import org.slf4j.Logger;
|
@@ -21,6 +21,13 @@ import org.slf4j.Logger;
|
||||||
@@ -33,8 +33,8 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
+
|
+
|
||||||
public class AnvilMenu extends ItemCombinerMenu {
|
public class AnvilMenu extends ItemCombinerMenu {
|
||||||
|
|
||||||
private static final Logger LOGGER = LogUtils.getLogger();
|
public static final int INPUT_SLOT = 0;
|
||||||
@@ -41,6 +48,8 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -48,6 +55,8 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
public int maximumRepairCost = 40;
|
public int maximumRepairCost = 40;
|
||||||
private CraftInventoryView bukkitEntity;
|
private CraftInventoryView bukkitEntity;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -43,7 +43,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
|
|
||||||
public AnvilMenu(int syncId, Inventory inventory) {
|
public AnvilMenu(int syncId, Inventory inventory) {
|
||||||
this(syncId, inventory, ContainerLevelAccess.NULL);
|
this(syncId, inventory, ContainerLevelAccess.NULL);
|
||||||
@@ -59,12 +68,15 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -75,12 +84,15 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean mayPickup(Player player, boolean present) {
|
protected boolean mayPickup(Player player, boolean present) {
|
||||||
@@ -60,7 +60,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
player.giveExperienceLevels(-this.cost.get());
|
player.giveExperienceLevels(-this.cost.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,6 +127,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -131,6 +143,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createResult() {
|
public void createResult() {
|
||||||
@@ -73,7 +73,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
ItemStack itemstack = this.inputSlots.getItem(0);
|
ItemStack itemstack = this.inputSlots.getItem(0);
|
||||||
|
|
||||||
this.cost.set(1);
|
this.cost.set(1);
|
||||||
@@ -191,7 +209,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -207,7 +225,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
int i2 = (Integer) map1.get(enchantment);
|
int i2 = (Integer) map1.get(enchantment);
|
||||||
|
|
||||||
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
||||||
@@ -82,7 +82,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
|
|
||||||
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
|
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
|
||||||
flag3 = true;
|
flag3 = true;
|
||||||
@@ -203,7 +221,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -219,7 +237,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
Enchantment enchantment1 = (Enchantment) iterator1.next();
|
Enchantment enchantment1 = (Enchantment) iterator1.next();
|
||||||
|
|
||||||
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
|
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
|
||||||
@@ -91,7 +91,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -274,6 +292,13 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -290,6 +308,13 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
this.cost.set(this.maximumRepairCost - 1); // CraftBukkit
|
this.cost.set(this.maximumRepairCost - 1); // CraftBukkit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit
|
if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit
|
||||||
itemstack1 = ItemStack.EMPTY;
|
itemstack1 = ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
@@ -296,6 +321,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
@@ -312,6 +337,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit
|
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit
|
||||||
sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client
|
sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client
|
||||||
this.broadcastChanges();
|
this.broadcastChanges();
|
||||||
@@ -119,10 +119,10 @@ index 506d758efbf16da9467f120321d2359a8832e477..0363d2263b2d6bd6166fa21d7849297e
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
||||||
index c34a66310969c3c837d09693159b827c1edddd3b..25885eb3b7312bd317fc519ad420109ff6531c7d 100644
|
index ff770b9ce68a62418de0c7ed389650626fa1dcb2..102739c0089ff3f6b3432f954304d43a3dfebc35 100644
|
||||||
--- a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
--- a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
||||||
+++ b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
+++ b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
|
||||||
@@ -140,7 +140,9 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu {
|
@@ -177,7 +177,9 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu {
|
||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 6b9f618c23c329235d8d62347aa3711e9c0b39cf..f29e934a480ad4d8fd1b7fb2224e5f5981f765c9 100644
|
index 5248a576c65f5758252bb9428c3363b25432ac3e..a225da8118b25f15876d700f2b3b02b1c6bc5ddb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -261,6 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
private long keepAliveTime = Util.getMillis();
|
private long keepAliveTime = Util.getMillis();
|
||||||
private boolean keepAlivePending;
|
private boolean keepAlivePending;
|
||||||
private long keepAliveChallenge;
|
private long keepAliveChallenge;
|
||||||
@@ -16,7 +16,7 @@ index 6b9f618c23c329235d8d62347aa3711e9c0b39cf..f29e934a480ad4d8fd1b7fb2224e5f59
|
|||||||
// CraftBukkit start - multithreaded fields
|
// CraftBukkit start - multithreaded fields
|
||||||
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||||
@@ -410,6 +411,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -412,6 +413,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
long currentTime = Util.getMillis();
|
long currentTime = Util.getMillis();
|
||||||
long elapsedTime = currentTime - this.keepAliveTime;
|
long elapsedTime = currentTime - this.keepAliveTime;
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ index 6b9f618c23c329235d8d62347aa3711e9c0b39cf..f29e934a480ad4d8fd1b7fb2224e5f59
|
|||||||
if (this.keepAlivePending) {
|
if (this.keepAlivePending) {
|
||||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||||
@@ -3495,6 +3511,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -3508,6 +3524,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Silk touch spawners
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
index 21b74b3473553162c0113b2d365605782080cdfc..fd10ecc79b503b3a650bec1db656b86d58da81ac 100644
|
index 775823daa5187804d27e5ee696cd75f703bb067c..42e6aeea8d2e076aea7fa2c1ccf5edcc5efba46f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
@@ -280,7 +280,7 @@ public class Items {
|
@@ -292,7 +292,7 @@ public class Items {
|
||||||
public static final Item PURPUR_BLOCK = registerBlock(Blocks.PURPUR_BLOCK);
|
public static final Item PURPUR_BLOCK = registerBlock(Blocks.PURPUR_BLOCK);
|
||||||
public static final Item PURPUR_PILLAR = registerBlock(Blocks.PURPUR_PILLAR);
|
public static final Item PURPUR_PILLAR = registerBlock(Blocks.PURPUR_PILLAR);
|
||||||
public static final Item PURPUR_STAIRS = registerBlock(Blocks.PURPUR_STAIRS);
|
public static final Item PURPUR_STAIRS = registerBlock(Blocks.PURPUR_STAIRS);
|
||||||
@@ -18,7 +18,7 @@ index 21b74b3473553162c0113b2d365605782080cdfc..fd10ecc79b503b3a650bec1db656b86d
|
|||||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
||||||
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
index 5af520104f25d597917e99ac09aa9d68c4864e44..c4e5ff55a629ec57889175a0082abf95b8183069 100644
|
index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe93c648f9b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
@@ -40,6 +40,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
@@ -40,6 +40,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
||||||
@@ -78,8 +78,8 @@ index 5af520104f25d597917e99ac09aa9d68c4864e44..c4e5ff55a629ec57889175a0082abf95
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack, boolean dropExperience) {
|
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack tool, boolean dropExperience) {
|
||||||
super.spawnAfterBreak(state, world, pos, stack, dropExperience);
|
super.spawnAfterBreak(state, world, pos, tool, dropExperience);
|
||||||
@@ -48,6 +100,7 @@ public class SpawnerBlock extends BaseEntityBlock {
|
@@ -48,6 +100,7 @@ public class SpawnerBlock extends BaseEntityBlock {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -89,10 +89,10 @@ index 5af520104f25d597917e99ac09aa9d68c4864e44..c4e5ff55a629ec57889175a0082abf95
|
|||||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index fcf58a69e8f3d0e3aa2566ddcdf05554aec979de..49675007c24b51a3f08e0da7d6e119b7541670ca 100644
|
index 38bfaa8e15d56bc2934f3281ec43954f94ea1ca7..c0e4a7228420ad552e65d2a5fec3cddee18a13fb 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -115,6 +115,38 @@ public class PurpurWorldConfig {
|
@@ -114,6 +114,38 @@ public class PurpurWorldConfig {
|
||||||
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add turtle egg block options
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
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 70d46aafa9c16921e5c5bed3d97b8f402e25038a..58fc57998f4715c42a842c4d91beb8f3b644f7f8 100644
|
index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721595ecc67 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||||
@@ -193,6 +193,25 @@ public class TurtleEggBlock extends Block {
|
@@ -193,6 +193,25 @@ public class TurtleEggBlock extends Block {
|
||||||
@@ -36,10 +36,10 @@ index 70d46aafa9c16921e5c5bed3d97b8f402e25038a..58fc57998f4715c42a842c4d91beb8f3
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 4b538590943d7ac36f04526ad87431d7c9b5fc60..f295aeec1428086bb3d2cf4720fdcc7c6ed2131a 100644
|
index c0e4a7228420ad552e65d2a5fec3cddee18a13fb..a5b2f8611d5270f9188b257b7adcf209da51e1ec 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -147,6 +147,15 @@ public class PurpurWorldConfig {
|
@@ -146,6 +146,15 @@ public class PurpurWorldConfig {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Logger settings (suppressing pointless logs)
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
index a0c19503aabab5378d672a30163d35a5ba05b6c1..897e761be8c1f79562f54101173fbba7656a37ec 100644
|
index 26888ebd38280de92e41dd8006d2b24e874afe26..25b832fe30c3837d02b10017e58ad0fa9d097092 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
@@ -183,6 +183,7 @@ public class PlayerAdvancements {
|
@@ -147,6 +147,7 @@ public class PlayerAdvancements {
|
||||||
if (advancement == null) {
|
if (advancement == null) {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
if (entry.getKey().getNamespace().equals("minecraft")) {
|
if (entry.getKey().getNamespace().equals("minecraft")) {
|
||||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressIgnoredAdvancementWarnings) // Purpur
|
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressIgnoredAdvancementWarnings) // Purpur
|
||||||
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.file);
|
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.playerSavePath);
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Disable outdated build check
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index f8c4878cc558c6fe76c99795f9963015ea21312b..c2c5c560165eb9ac9920727aaf730a5280107782 100644
|
index 0206b97cdc244998b1a4f148a71457dabb9236de..1b366a36e78aecce6ae1022c4caa65923b8693a9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -278,7 +278,7 @@ public class Main {
|
@@ -285,7 +285,7 @@ public class Main {
|
||||||
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
System.setProperty(net.minecrell.terminalconsole.TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
- if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
||||||
@@ -120,10 +120,10 @@ index c1c5e884f00398032196ee71b55b348fcfce21ce..ed032918fb33d60c2d60d4db9275dddf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index f295aeec1428086bb3d2cf4720fdcc7c6ed2131a..1c3c75b5ee930565463d3f36dc974091cef61487 100644
|
index a5b2f8611d5270f9188b257b7adcf209da51e1ec..287523fa1d4348f42c08655e50350ab9f92ed2ad 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -552,6 +552,10 @@ public class PurpurWorldConfig {
|
@@ -551,6 +551,10 @@ public class PurpurWorldConfig {
|
||||||
public double giantMovementSpeed = 0.5D;
|
public double giantMovementSpeed = 0.5D;
|
||||||
public double giantAttackDamage = 50.0D;
|
public double giantAttackDamage = 50.0D;
|
||||||
public double giantMaxHealth = 100.0D;
|
public double giantMaxHealth = 100.0D;
|
||||||
@@ -134,7 +134,7 @@ index f295aeec1428086bb3d2cf4720fdcc7c6ed2131a..1c3c75b5ee930565463d3f36dc974091
|
|||||||
private void giantSettings() {
|
private void giantSettings() {
|
||||||
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
|
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
|
||||||
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
|
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
|
||||||
@@ -568,6 +572,10 @@ public class PurpurWorldConfig {
|
@@ -567,6 +571,10 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.giant.attributes.max_health", oldValue);
|
set("mobs.giant.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);
|
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index af87c06e9a135ed22ea575d36d739951707b3c66..b860cb90870c2fb78d9d2d6d6ceed57e15b3e919 100644
|
index ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa40345e448af3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -830,10 +830,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -814,10 +814,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||||
|
|
||||||
if (flag1) {
|
if (flag1) {
|
||||||
@@ -30,10 +30,10 @@ index af87c06e9a135ed22ea575d36d739951707b3c66..b860cb90870c2fb78d9d2d6d6ceed57e
|
|||||||
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
||||||
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 1c3c75b5ee930565463d3f36dc974091cef61487..7aad0f7029bdd1839e1e92028c4357d6ebbe2b1c 100644
|
index 287523fa1d4348f42c08655e50350ab9f92ed2ad..07abcaf1c11c073e10b6d602715fb94c9643d9f3 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -1471,6 +1471,7 @@ public class PurpurWorldConfig {
|
@@ -1470,6 +1470,7 @@ public class PurpurWorldConfig {
|
||||||
public double zombieHorseJumpStrengthMax = 1.0D;
|
public double zombieHorseJumpStrengthMax = 1.0D;
|
||||||
public double zombieHorseMovementSpeedMin = 0.2D;
|
public double zombieHorseMovementSpeedMin = 0.2D;
|
||||||
public double zombieHorseMovementSpeedMax = 0.2D;
|
public double zombieHorseMovementSpeedMax = 0.2D;
|
||||||
@@ -41,7 +41,7 @@ index 1c3c75b5ee930565463d3f36dc974091cef61487..7aad0f7029bdd1839e1e92028c4357d6
|
|||||||
private void zombieHorseSettings() {
|
private void zombieHorseSettings() {
|
||||||
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
|
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
|
||||||
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
|
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
|
||||||
@@ -1486,6 +1487,7 @@ public class PurpurWorldConfig {
|
@@ -1485,6 +1486,7 @@ public class PurpurWorldConfig {
|
||||||
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
|
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
|
||||||
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
|
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
|
||||||
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
|
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
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 05d7dd5a9a302b6281e56f8dfe54168b524a89f2..2a733951b5b16c3e7da613744eb76414af38374c 100644
|
index 97164b0d799d768a48741075bdf154e1a0478f13..445c8ef18e3c82598b27ebaa6a859d4dd1baf5ef 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||||
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
|
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||||
@@ -24,10 +24,10 @@ index 05d7dd5a9a302b6281e56f8dfe54168b524a89f2..2a733951b5b16c3e7da613744eb76414
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 7aad0f7029bdd1839e1e92028c4357d6ebbe2b1c..5d5b7af6b49893156652c8ccede5386419a5c5ad 100644
|
index 07abcaf1c11c073e10b6d602715fb94c9643d9f3..dfb42c035a57893b63c5eced7252a2c16e623506 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -343,6 +343,7 @@ public class PurpurWorldConfig {
|
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean creeperRidableInWater = false;
|
public boolean creeperRidableInWater = false;
|
||||||
public boolean creeperControllable = true;
|
public boolean creeperControllable = true;
|
||||||
public double creeperMaxHealth = 20.0D;
|
public double creeperMaxHealth = 20.0D;
|
||||||
@@ -35,7 +35,7 @@ index 7aad0f7029bdd1839e1e92028c4357d6ebbe2b1c..5d5b7af6b49893156652c8ccede53864
|
|||||||
private void creeperSettings() {
|
private void creeperSettings() {
|
||||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||||
@@ -353,6 +354,7 @@ public class PurpurWorldConfig {
|
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.creeper.attributes.max_health", oldValue);
|
set("mobs.creeper.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
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 b3bfb94529dfaa912f0e5ce0965b0740f09cf55e..592d72857aea88425a6359818f96f2271db7eb3b 100644
|
index 5aaac79bafc7f5531a6e3fe0d93a0f66dc0b315a..5e8ff7dd3ff4c27dfad16da9dd8d0a9f1b94ccb2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||||
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||||
@@ -33,10 +33,10 @@ index b3bfb94529dfaa912f0e5ce0965b0740f09cf55e..592d72857aea88425a6359818f96f227
|
|||||||
int i = world.getRandom().nextInt(100);
|
int i = world.getRandom().nextInt(100);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 5d5b7af6b49893156652c8ccede5386419a5c5ad..3f95cc3703f36842504b7425ce993c990917119c 100644
|
index dfb42c035a57893b63c5eced7252a2c16e623506..230a6bc6207a6889859b97b91666bc584a2c7629 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -986,6 +986,8 @@ public class PurpurWorldConfig {
|
@@ -985,6 +985,8 @@ public class PurpurWorldConfig {
|
||||||
public boolean rabbitRidableInWater = false;
|
public boolean rabbitRidableInWater = false;
|
||||||
public boolean rabbitControllable = true;
|
public boolean rabbitControllable = true;
|
||||||
public double rabbitMaxHealth = 3.0D;
|
public double rabbitMaxHealth = 3.0D;
|
||||||
@@ -45,7 +45,7 @@ index 5d5b7af6b49893156652c8ccede5386419a5c5ad..3f95cc3703f36842504b7425ce993c99
|
|||||||
private void rabbitSettings() {
|
private void rabbitSettings() {
|
||||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||||
@@ -996,6 +998,8 @@ public class PurpurWorldConfig {
|
@@ -995,6 +997,8 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.rabbit.attributes.max_health", oldValue);
|
set("mobs.rabbit.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
|
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
|
||||||
@@ -6,14 +6,14 @@ Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
||||||
index 0725c39d9cbec3282f93975a0ae76f060f70d86d..b1afe7d9fff390cc9668ce9bbb408d64147553e6 100644
|
index 2c13147bc063a09bb7907d6f90c3a1e811a09eb1..c71c4e0bf946c2ce5cd99a0cd312c82060c1661f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerStatusPacketListenerImpl.java
|
||||||
@@ -152,6 +152,7 @@ public class ServerStatusPacketListenerImpl implements ServerStatusPacketListene
|
@@ -153,6 +153,7 @@ public class ServerStatusPacketListenerImpl implements ServerStatusPacketListene
|
||||||
this.connection.send(new ClientboundStatusResponsePacket(ping));
|
this.connection.send(new ClientboundStatusResponsePacket(ping));
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
*/
|
*/
|
||||||
+ if (this.server.getStatus().getVersion() == null) return; // Purpur - do not respond to pings before we know the protocol version
|
+ if (MinecraftServer.getServer().getStatus().version() == null) return; // Purpur - do not respond to pings before we know the protocol version
|
||||||
com.destroystokyo.paper.network.StandardPaperServerListPingEventImpl.processRequest(this.server, this.connection);
|
com.destroystokyo.paper.network.StandardPaperServerListPingEventImpl.processRequest(MinecraftServer.getServer(), this.connection);
|
||||||
// Paper end
|
// Paper end
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Tulips change fox type
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
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 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a87edee287 100644
|
index 4883c2a03921da28cbf2bd1978030a9dadbcda52..e2cf88d55aeb1cf8f55292e9171a1b44872bba34 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||||
@@ -34,6 +34,7 @@ import net.minecraft.util.RandomSource;
|
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
|
||||||
import net.minecraft.util.StringRepresentable;
|
import net.minecraft.util.StringRepresentable;
|
||||||
import net.minecraft.world.DifficultyInstance;
|
import net.minecraft.world.DifficultyInstance;
|
||||||
import net.minecraft.world.InteractionHand;
|
import net.minecraft.world.InteractionHand;
|
||||||
@@ -16,7 +16,7 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
|||||||
import net.minecraft.world.damagesource.DamageSource;
|
import net.minecraft.world.damagesource.DamageSource;
|
||||||
import net.minecraft.world.entity.AgeableMob;
|
import net.minecraft.world.entity.AgeableMob;
|
||||||
import net.minecraft.world.entity.Entity;
|
import net.minecraft.world.entity.Entity;
|
||||||
@@ -87,6 +88,7 @@ import net.minecraft.world.level.block.Blocks;
|
@@ -88,6 +89,7 @@ import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.CaveVines;
|
import net.minecraft.world.level.block.CaveVines;
|
||||||
import net.minecraft.world.level.block.SweetBerryBushBlock;
|
import net.minecraft.world.level.block.SweetBerryBushBlock;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
@@ -24,7 +24,7 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
|||||||
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
|
||||||
@@ -386,6 +388,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
@@ -387,6 +389,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setTargetGoals() {
|
private void setTargetGoals() {
|
||||||
@@ -36,7 +36,7 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
|||||||
if (this.getVariant() == Fox.Type.RED) {
|
if (this.getVariant() == Fox.Type.RED) {
|
||||||
this.targetSelector.addGoal(4, this.landTargetGoal);
|
this.targetSelector.addGoal(4, this.landTargetGoal);
|
||||||
this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
|
this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
|
||||||
@@ -419,6 +426,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
@@ -420,6 +427,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||||
|
|
||||||
public void setVariant(Fox.Type variant) {
|
public void setVariant(Fox.Type variant) {
|
||||||
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
|
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
|
||||||
@@ -44,7 +44,7 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<UUID> getTrustedUUIDs() {
|
List<UUID> getTrustedUUIDs() {
|
||||||
@@ -755,6 +763,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
@@ -756,6 +764,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||||
return this.getTrustedUUIDs().contains(uuid);
|
return this.getTrustedUUIDs().contains(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,10 +75,10 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
|||||||
// Paper start - Cancellable death event
|
// Paper start - Cancellable death event
|
||||||
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
|
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 3f95cc3703f36842504b7425ce993c990917119c..c499a252f0eab6f03f8b2e33aa0092a2c03cd532 100644
|
index 230a6bc6207a6889859b97b91666bc584a2c7629..86f2ad9c0107fa1c288cfd17810ed7ef0ef51895 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -507,6 +507,7 @@ public class PurpurWorldConfig {
|
@@ -506,6 +506,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean foxRidableInWater = false;
|
public boolean foxRidableInWater = false;
|
||||||
public boolean foxControllable = true;
|
public boolean foxControllable = true;
|
||||||
public double foxMaxHealth = 10.0D;
|
public double foxMaxHealth = 10.0D;
|
||||||
@@ -86,7 +86,7 @@ index 3f95cc3703f36842504b7425ce993c990917119c..c499a252f0eab6f03f8b2e33aa0092a2
|
|||||||
private void foxSettings() {
|
private void foxSettings() {
|
||||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||||
@@ -517,6 +518,7 @@ public class PurpurWorldConfig {
|
@@ -516,6 +517,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.fox.attributes.max_health", oldValue);
|
set("mobs.fox.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable Polar Bears
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
index bd1d90fa59d420577baada18d5afd04a85ad76a9..4e837590faebcb35426f8b9d023b2ae226871825 100644
|
index 0f3234cca23f015651c12076e7064dcd16ecb9d1..dedc36ea78a97fc1303a8b3b328dd1fbef09c25c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||||
@@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob {
|
@@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||||
@@ -59,10 +59,10 @@ index bd1d90fa59d420577baada18d5afd04a85ad76a9..4e837590faebcb35426f8b9d023b2ae2
|
|||||||
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
||||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index c499a252f0eab6f03f8b2e33aa0092a2c03cd532..62d6072136d3338cc16985891c37c6b36bca245f 100644
|
index 86f2ad9c0107fa1c288cfd17810ed7ef0ef51895..06b082617f2852eab62d7c3c803a502a2e1b303e 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -958,6 +958,8 @@ public class PurpurWorldConfig {
|
@@ -957,6 +957,8 @@ public class PurpurWorldConfig {
|
||||||
public boolean polarBearRidableInWater = false;
|
public boolean polarBearRidableInWater = false;
|
||||||
public boolean polarBearControllable = true;
|
public boolean polarBearControllable = true;
|
||||||
public double polarBearMaxHealth = 30.0D;
|
public double polarBearMaxHealth = 30.0D;
|
||||||
@@ -71,7 +71,7 @@ index c499a252f0eab6f03f8b2e33aa0092a2c03cd532..62d6072136d3338cc16985891c37c6b3
|
|||||||
private void polarBearSettings() {
|
private void polarBearSettings() {
|
||||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||||
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
||||||
@@ -968,6 +970,9 @@ public class PurpurWorldConfig {
|
@@ -967,6 +969,9 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.polar_bear.attributes.max_health", oldValue);
|
set("mobs.polar_bear.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);
|
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
index e4200b09f54861d61c9dae40e6883aa19265e295..471647830f3ae90f8867282edd6fb20f8afa25a3 100644
|
index c20f1346a8cf4ee5089dc7c4fc6b3dc36e561dd0..7b668c675b1d8ad55e1e72c8adb08a4ddcb51613 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
@@ -73,6 +73,9 @@ public class Chicken extends Animal {
|
@@ -73,6 +73,9 @@ public class Chicken extends Animal {
|
||||||
@@ -51,10 +51,10 @@ index e4200b09f54861d61c9dae40e6883aa19265e295..471647830f3ae90f8867282edd6fb20f
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 62d6072136d3338cc16985891c37c6b36bca245f..dca1c34210c35eadb1e19c05d831d3af52ae9d67 100644
|
index 06b082617f2852eab62d7c3c803a502a2e1b303e..6d9c429b91aef725bc0da88c790ef63417595208 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -297,6 +297,7 @@ public class PurpurWorldConfig {
|
@@ -296,6 +296,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean chickenRidableInWater = false;
|
public boolean chickenRidableInWater = false;
|
||||||
public boolean chickenControllable = true;
|
public boolean chickenControllable = true;
|
||||||
public double chickenMaxHealth = 4.0D;
|
public double chickenMaxHealth = 4.0D;
|
||||||
@@ -62,7 +62,7 @@ index 62d6072136d3338cc16985891c37c6b36bca245f..dca1c34210c35eadb1e19c05d831d3af
|
|||||||
private void chickenSettings() {
|
private void chickenSettings() {
|
||||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||||
@@ -307,6 +308,7 @@ public class PurpurWorldConfig {
|
@@ -306,6 +307,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.chicken.attributes.max_health", oldValue);
|
set("mobs.chicken.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
|
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
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 b136cdc13d94bc34c998a1986e0c93525356ac5c..76c83fdd744cc8f31a52c733de521a6fb2024499 100644
|
index 3677dd991ae73428984e62e4d6fb757317987887..697d6d6cca0a1c8df9c5bf6852495130a0c57eb4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||||
@@ -667,6 +667,7 @@ public class ArmorStand extends LivingEntity {
|
@@ -685,6 +685,7 @@ public class ArmorStand extends LivingEntity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void tick() {
|
public void tick() {
|
||||||
@@ -17,10 +17,10 @@ index b136cdc13d94bc34c998a1986e0c93525356ac5c..76c83fdd744cc8f31a52c733de521a6f
|
|||||||
if (!this.canTick) {
|
if (!this.canTick) {
|
||||||
if (this.noTickPoseDirty) {
|
if (this.noTickPoseDirty) {
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 31a4f178239f35e1f82a771b8677429289a2dcac..0a6228781eaa7195f028427da134858e2f0ee094 100644
|
index 6d9c429b91aef725bc0da88c790ef63417595208..652f9dc1dc0f31f72d15d2fa99406b4860109b1f 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -93,6 +93,11 @@ public class PurpurWorldConfig {
|
@@ -92,6 +92,11 @@ public class PurpurWorldConfig {
|
||||||
return value.isEmpty() ? fallback : value;
|
return value.isEmpty() ? fallback : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 71d3a65b92e6ffb22c876008877c5969a9cb69fb..0efaf2e7222f668f555d1738e7161bfc10eef639 100644
|
index 652f9dc1dc0f31f72d15d2fa99406b4860109b1f..2532c4496504fb8ef2c022c7e90b1505db9c6c54 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -270,6 +270,9 @@ public class PurpurWorldConfig {
|
@@ -269,6 +269,9 @@ public class PurpurWorldConfig {
|
||||||
public boolean catRidableInWater = false;
|
public boolean catRidableInWater = false;
|
||||||
public boolean catControllable = true;
|
public boolean catControllable = true;
|
||||||
public double catMaxHealth = 10.0D;
|
public double catMaxHealth = 10.0D;
|
||||||
@@ -64,7 +64,7 @@ index 71d3a65b92e6ffb22c876008877c5969a9cb69fb..0efaf2e7222f668f555d1738e7161bfc
|
|||||||
private void catSettings() {
|
private void catSettings() {
|
||||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||||
@@ -280,6 +283,9 @@ public class PurpurWorldConfig {
|
@@ -279,6 +282,9 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.cat.attributes.max_health", oldValue);
|
set("mobs.cat.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
|
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
|
||||||
@@ -114,10 +114,10 @@ index 7eecdb4be5ee7de39ccb86b4bfe98491f8cba9b6..8744649fbd3f11485d5862d6f1fb32ea
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 0efaf2e7222f668f555d1738e7161bfc10eef639..186a9914701821e7c6f8de45b723c5ae2dc1b311 100644
|
index 2532c4496504fb8ef2c022c7e90b1505db9c6c54..4a4df6ec68ee91287f26033d333895f78c66ced5 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -340,6 +340,7 @@ public class PurpurWorldConfig {
|
@@ -339,6 +339,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean cowRidableInWater = false;
|
public boolean cowRidableInWater = false;
|
||||||
public boolean cowControllable = true;
|
public boolean cowControllable = true;
|
||||||
public double cowMaxHealth = 10.0D;
|
public double cowMaxHealth = 10.0D;
|
||||||
@@ -125,7 +125,7 @@ index 0efaf2e7222f668f555d1738e7161bfc10eef639..186a9914701821e7c6f8de45b723c5ae
|
|||||||
private void cowSettings() {
|
private void cowSettings() {
|
||||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||||
@@ -350,6 +351,7 @@ public class PurpurWorldConfig {
|
@@ -349,6 +350,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.cow.attributes.max_health", oldValue);
|
set("mobs.cow.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
|
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Pigs give saddle back
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
index 372574f224d21b8801f40e6c4991d64975cd79db..27f616534ff5280528fd2c681d8335e4dddd569d 100644
|
index 05db8fa5da085bb3843c11a70affe4c39b6dcd00..2ef7c9b1f10676117fff7b92d12a5dafe64fd7e0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||||
@@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
@@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||||
@@ -27,10 +27,10 @@ index 372574f224d21b8801f40e6c4991d64975cd79db..27f616534ff5280528fd2c681d8335e4
|
|||||||
if (!this.level.isClientSide) {
|
if (!this.level.isClientSide) {
|
||||||
player.startRiding(this);
|
player.startRiding(this);
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 186a9914701821e7c6f8de45b723c5ae2dc1b311..0d8d6e81b901b454ac7ca1bb9c37e40c83241d07 100644
|
index 4a4df6ec68ee91287f26033d333895f78c66ced5..174b13ea9882567e46e35e5b66e9becaebe16c59 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -909,6 +909,7 @@ public class PurpurWorldConfig {
|
@@ -908,6 +908,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean pigRidableInWater = false;
|
public boolean pigRidableInWater = false;
|
||||||
public boolean pigControllable = true;
|
public boolean pigControllable = true;
|
||||||
public double pigMaxHealth = 10.0D;
|
public double pigMaxHealth = 10.0D;
|
||||||
@@ -38,7 +38,7 @@ index 186a9914701821e7c6f8de45b723c5ae2dc1b311..0d8d6e81b901b454ac7ca1bb9c37e40c
|
|||||||
private void pigSettings() {
|
private void pigSettings() {
|
||||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||||
@@ -919,6 +920,7 @@ public class PurpurWorldConfig {
|
@@ -918,6 +919,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.pig.attributes.max_health", oldValue);
|
set("mobs.pig.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
|
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
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 e2f0f1d7ed8004a03f14887750a470e08ee1f42d..b4459d68397cc5bac4f7ef79a2dfb18f3eb24f77 100644
|
index 3fd7acc96c6c5cd59668c1b5a5a09bd3d188646d..1e24151eef61208db194db612d065922edc16ab1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
@@ -197,6 +197,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
@@ -191,6 +191,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||||
}
|
}
|
||||||
|
|
||||||
return InteractionResult.sidedSuccess(this.level.isClientSide);
|
return InteractionResult.sidedSuccess(this.level.isClientSide);
|
||||||
@@ -23,7 +23,7 @@ index e2f0f1d7ed8004a03f14887750a470e08ee1f42d..b4459d68397cc5bac4f7ef79a2dfb18f
|
|||||||
} else {
|
} else {
|
||||||
return tryRide(player, hand); // Purpur
|
return tryRide(player, hand); // Purpur
|
||||||
}
|
}
|
||||||
@@ -208,6 +216,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
@@ -202,6 +210,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||||
if (!this.level.isClientSide()) {
|
if (!this.level.isClientSide()) {
|
||||||
this.setPumpkin(false);
|
this.setPumpkin(false);
|
||||||
this.forceDrops = true; // CraftBukkit
|
this.forceDrops = true; // CraftBukkit
|
||||||
@@ -32,10 +32,10 @@ index e2f0f1d7ed8004a03f14887750a470e08ee1f42d..b4459d68397cc5bac4f7ef79a2dfb18f
|
|||||||
this.forceDrops = false; // CraftBukkit
|
this.forceDrops = false; // CraftBukkit
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index 0d8d6e81b901b454ac7ca1bb9c37e40c83241d07..b64a1f935c36a7f25a60988717204b56e143b9ee 100644
|
index 174b13ea9882567e46e35e5b66e9becaebe16c59..d2a3f83acb4c7586651a73aa6b2cb7b14f7b89b7 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -1172,6 +1172,8 @@ public class PurpurWorldConfig {
|
@@ -1171,6 +1171,8 @@ public class PurpurWorldConfig {
|
||||||
public boolean snowGolemControllable = true;
|
public boolean snowGolemControllable = true;
|
||||||
public boolean snowGolemLeaveTrailWhenRidden = false;
|
public boolean snowGolemLeaveTrailWhenRidden = false;
|
||||||
public double snowGolemMaxHealth = 4.0D;
|
public double snowGolemMaxHealth = 4.0D;
|
||||||
@@ -44,7 +44,7 @@ index 0d8d6e81b901b454ac7ca1bb9c37e40c83241d07..b64a1f935c36a7f25a60988717204b56
|
|||||||
private void snowGolemSettings() {
|
private void snowGolemSettings() {
|
||||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||||
@@ -1183,6 +1185,8 @@ public class PurpurWorldConfig {
|
@@ -1182,6 +1184,8 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.snow_golem.attributes.max_health", oldValue);
|
set("mobs.snow_golem.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
|
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
|
|||||||
|
|
||||||
|
|
||||||
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
|
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 b82a90d6b051fe7d93e4c9a5ac0000137768cae5..4b2aff2002e559c32a56f941fa9285f20080fe90 100644
|
index ed69b63610bc4214367c793795e5e7aae548ae6f..398a9abc0ad9d9d97a469e69fb2cb950870b9717 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -713,7 +713,7 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -715,7 +715,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
||||||
short short0 = 500;
|
short short0 = 500;
|
||||||
|
|
||||||
@@ -18,10 +18,10 @@ index b82a90d6b051fe7d93e4c9a5ac0000137768cae5..4b2aff2002e559c32a56f941fa9285f2
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index b64a1f935c36a7f25a60988717204b56e143b9ee..2ad17fefbf2352ecbdf2a312565b21afd14f9f8e 100644
|
index d2a3f83acb4c7586651a73aa6b2cb7b14f7b89b7..5b12598509f16dd44f8c256143db6e30c9bd014a 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -453,6 +453,7 @@ public class PurpurWorldConfig {
|
@@ -452,6 +452,7 @@ public class PurpurWorldConfig {
|
||||||
public boolean enderDragonControllable = true;
|
public boolean enderDragonControllable = true;
|
||||||
public double enderDragonMaxY = 320D;
|
public double enderDragonMaxY = 320D;
|
||||||
public double enderDragonMaxHealth = 200.0D;
|
public double enderDragonMaxHealth = 200.0D;
|
||||||
@@ -29,7 +29,7 @@ index b64a1f935c36a7f25a60988717204b56e143b9ee..2ad17fefbf2352ecbdf2a312565b21af
|
|||||||
private void enderDragonSettings() {
|
private void enderDragonSettings() {
|
||||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||||
@@ -468,6 +469,7 @@ public class PurpurWorldConfig {
|
@@ -467,6 +468,7 @@ public class PurpurWorldConfig {
|
||||||
set("mobs.ender_dragon.attributes.max_health", oldValue);
|
set("mobs.ender_dragon.attributes.max_health", oldValue);
|
||||||
}
|
}
|
||||||
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user