mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes:9259558b58Fix remapping issue with RangedAttackMob and RangedEntity (#7167)3d9385e665Add material tags for copper blocks (#7141)75f4cb074aMove setShouldBurnInDay to AbstractSkeleton (#7120)9adc0b243bFix breakNaturally for fluid-logged blocks (#7134)76f327471dMove VehicleCollisionEvent HandlerList up (#7112)d4c819056dForward CraftEntity in teleport command (#7025)9012ae8880Improve scoreboard entries (#6871)264b11d9f3Entity powdered snow API (#6833)a6a6a3db24[ci skip] Revert change to apatch script2cf6a57bcaFix entity type tags suggestions in selectors (#6468)8a21c1742bAdd API for item entity health (#6514)26fbb02aaeAdventure changes for Java 17 and Component support for resourcepack prompt10bfb63f6cConfigurable max block light for monster spawning (#7129)6e5ceb34ebFix ChunkMap distanceManager field reobf82eaf4ee15Fix duplicated BlockPistonRetractEvent call (#7111)cf621c5eb3Load effect amplifiers greater than 127 correctly (#7175)1ce4281666Fix ABI breakage for plainSerializer (#7178)bf826b3fac[ci skip] Update Gradle wrapper to 7.3.3464b1715bbAdd uncaught exception handler using logger to usages of ThreadFactoryBuilder (#7179)
This commit is contained in:
@@ -4,7 +4,7 @@ version = 1.18.1-R0.1-SNAPSHOT
|
||||
mcVersion = 1.18.1
|
||||
packageVersion = 1_18_R1
|
||||
|
||||
paperCommit = df8d28a450fe391b9f0c2dc4a64543cf9b84266f
|
||||
paperCommit = 464b1715bb8fb3c87b1f0f1f76d136b581794228
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -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
|
||||
index 1b4b54741719252892a3a51491d49cd5423de499..f9d46d0ba72e84c58c5165227875396000f22f4a 100644
|
||||
index 5e4a9ce5f899624255e806152c59f60664bcf701..3428757d62a449411f909c4e2a50bf7ec19936ef 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2507,4 +2507,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2603,4 +2603,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@Override
|
||||
Spigot spigot();
|
||||
// Spigot end
|
||||
|
||||
@@ -21,12 +21,12 @@ index 2405254739a83b2fb517da7fa4ea0721c68f9f6d..825c02793e3aaff45a8a0a9da01d72da
|
||||
* @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
|
||||
index bafad5764cc3933fcd9602d37bd2e68424cbd575..f1740d0d50e251fa029f22eeaacf2a68b3cd2e96 100644
|
||||
index 51ec2e4ec4239659272bba3d6ba2ad73926ebb88..a032bc5aaa0d7abffa9ec91fca397c47b2dac4a8 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -795,4 +795,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
@@ -802,4 +802,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
*/
|
||||
public boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason);
|
||||
boolean isInPowderedSnow();
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
|
||||
@@ -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
|
||||
index f9d46d0ba72e84c58c5165227875396000f22f4a..2d9a25bfd7a1468d139f98b01feceb6553663c24 100644
|
||||
index 3428757d62a449411f909c4e2a50bf7ec19936ef..52fc606dc7c88fd5ef8dd2f888f65a780ba93f6f 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2515,5 +2515,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2611,5 +2611,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
|
||||
@@ -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
|
||||
index 2d9a25bfd7a1468d139f98b01feceb6553663c24..e92de95ec40518006db6c5d098b334c7f854fcea 100644
|
||||
index 52fc606dc7c88fd5ef8dd2f888f65a780ba93f6f..414997a2496fececd375fd4ac8f7601d03cfb1b0 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2534,5 +2534,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2630,5 +2630,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Reset the idle timer back to 0
|
||||
*/
|
||||
void resetIdleTimer();
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java
|
||||
index 0ee072645ecf1bf5feb74de6960947ef76db366e..5b9a20e0695218f1239d2bf1d0368291e2a10c06 100644
|
||||
index 87dbc00ab565377b8ae0eb6e73799ae6e2e3a376..38ebf0f60113c5eff9d83e6a22ccdade651f419a 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Item.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Item.java
|
||||
@@ -120,4 +120,62 @@ public interface Item extends Entity {
|
||||
@@ -139,4 +139,62 @@ public interface Item extends Entity {
|
||||
*/
|
||||
public void setWillAge(boolean willAge);
|
||||
public void setHealth(int health);
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
|
||||
@@ -503,10 +503,10 @@ index fa2a5c8ed947cd2beed01df82fcc5e450e3e5782..d5e7538f7c7f288e1710fb383b57683f
|
||||
|
||||
@NotNull
|
||||
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
|
||||
index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..a39c0da1663f53b828bb35e662dd81df63b9d045 100644
|
||||
index 81e17ebb54f8b5c085842f223081f3d6d33a317d..9b17e6920dc3612e1787be1b74988a24bb6ad5a7 100644
|
||||
--- a/src/main/java/org/bukkit/UnsafeValues.java
|
||||
+++ b/src/main/java/org/bukkit/UnsafeValues.java
|
||||
@@ -87,6 +87,8 @@ public interface UnsafeValues {
|
||||
@@ -88,6 +88,8 @@ public interface UnsafeValues {
|
||||
|
||||
/**
|
||||
* Called once by the version command on first use, then cached.
|
||||
@@ -515,7 +515,7 @@ index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..a39c0da1663f53b828bb35e662dd81df
|
||||
*/
|
||||
default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
|
||||
@@ -113,6 +115,8 @@ public interface UnsafeValues {
|
||||
@@ -114,6 +116,8 @@ public interface UnsafeValues {
|
||||
/**
|
||||
* Return the translation key for the Material, so the client can translate it into the active
|
||||
* locale when using a {@link net.kyori.adventure.text.TranslatableComponent}.
|
||||
@@ -524,7 +524,7 @@ index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..a39c0da1663f53b828bb35e662dd81df
|
||||
* @return the translation key
|
||||
*/
|
||||
String getTranslationKey(Material mat);
|
||||
@@ -120,6 +124,8 @@ public interface UnsafeValues {
|
||||
@@ -121,6 +125,8 @@ public interface UnsafeValues {
|
||||
/**
|
||||
* Return the translation key for the Block, so the client can translate it into the active
|
||||
* locale when using a {@link net.kyori.adventure.text.TranslatableComponent}.
|
||||
@@ -533,7 +533,7 @@ index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..a39c0da1663f53b828bb35e662dd81df
|
||||
* @return the translation key
|
||||
*/
|
||||
String getTranslationKey(org.bukkit.block.Block block);
|
||||
@@ -128,6 +134,8 @@ public interface UnsafeValues {
|
||||
@@ -129,6 +135,8 @@ public interface UnsafeValues {
|
||||
* Return the translation key for the EntityType, so the client can translate it into the active
|
||||
* locale when using a {@link net.kyori.adventure.text.TranslatableComponent}.<br>
|
||||
* This is <code>null</code>, when the EntityType isn't known to NMS (custom entities)
|
||||
@@ -542,7 +542,7 @@ index 014c9984018ad5e51a26228a137e1ba4eb3e80c8..a39c0da1663f53b828bb35e662dd81df
|
||||
* @return the translation key
|
||||
*/
|
||||
String getTranslationKey(org.bukkit.entity.EntityType type);
|
||||
@@ -143,6 +151,8 @@ public interface UnsafeValues {
|
||||
@@ -144,6 +152,8 @@ public interface UnsafeValues {
|
||||
* Creates and returns the next EntityId available.
|
||||
* <p>
|
||||
* Use this when sending custom packets, so that there are no collisions on the client or server.
|
||||
@@ -787,7 +787,7 @@ index 9e7f42caab1204036f4203354c115fd40c6def92..f76ddd80f9fc926f73b1cc50f0a2767a
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index f1740d0d50e251fa029f22eeaacf2a68b3cd2e96..6fdb484f7eda40155898849cb5ae963f75fafa40 100644
|
||||
index a032bc5aaa0d7abffa9ec91fca397c47b2dac4a8..568836b589f4f81d8b3e715b39b90e5172215273 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -668,6 +668,9 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
@@ -921,10 +921,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8
|
||||
|
||||
NORMAL(false),
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index e92de95ec40518006db6c5d098b334c7f854fcea..809827d41ca42a665cd7b9c23a6361dc10d22ccf 100644
|
||||
index 414997a2496fececd375fd4ac8f7601d03cfb1b0..d87bb346bc2f7153d7bf4582e8dddd0ad52e480d 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2337,6 +2337,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2433,6 +2433,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
void resetCooldown();
|
||||
|
||||
/**
|
||||
@@ -933,7 +933,7 @@ index e92de95ec40518006db6c5d098b334c7f854fcea..809827d41ca42a665cd7b9c23a6361dc
|
||||
* @return the client option value of the player
|
||||
*/
|
||||
@NotNull
|
||||
@@ -2368,6 +2370,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2464,6 +2466,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
// Paper end
|
||||
|
||||
// Spigot start
|
||||
|
||||
@@ -170,7 +170,7 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 809827d41ca42a665cd7b9c23a6361dc10d22ccf..38762db5c3383c3663a328ac591b0f6b25ac7f5a 100644
|
||||
index d87bb346bc2f7153d7bf4582e8dddd0ad52e480d..7c720a1d210f165b9e3577232af655d3d9b3de34 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -76,7 +76,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -281,7 +281,7 @@ index 809827d41ca42a665cd7b9c23a6361dc10d22ccf..38762db5c3383c3663a328ac591b0f6b
|
||||
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
@@ -2063,7 +2063,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2159,7 +2159,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @deprecated in favour of {@link #locale()}
|
||||
*/
|
||||
@NotNull
|
||||
@@ -746,7 +746,7 @@ index ed0bc2024a0bb85837e25f75ae89d1fe257b2e60..f6e831f844e1fe99a2617bd64c2290d1
|
||||
this.caption = caption == null ? null : org.bukkit.Bukkit.getUnsafe().legacyComponentSerializer().deserialize(caption); // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
|
||||
index 75acd6f8f3d774bb79e8e513125e801c5569a244..1eccadd957867e0c5d59a157e16bd4e5557caf68 100644
|
||||
index b93b1b0428d11589605c8edf5c053369e1031076..140ac3ebdb0aab58093429faf67a31f7e527e625 100644
|
||||
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
|
||||
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
|
||||
@@ -47,7 +47,7 @@ public interface Objective {
|
||||
@@ -768,7 +768,7 @@ index 75acd6f8f3d774bb79e8e513125e801c5569a244..1eccadd957867e0c5d59a157e16bd4e5
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
|
||||
index f7754ab421c7b452a53c28d1e2fafdccfbba24bf..05026b8bc3d41f0391f7c7a59b56aab899537a3e 100644
|
||||
index 9a395b138be3f6fa9a52639f0ac4070c23f7d77c..3e1cddb86fd721683220c2a2d1e016c921cc3016 100644
|
||||
--- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java
|
||||
+++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
|
||||
@@ -89,7 +89,7 @@ public interface Scoreboard {
|
||||
@@ -790,7 +790,7 @@ index f7754ab421c7b452a53c28d1e2fafdccfbba24bf..05026b8bc3d41f0391f7c7a59b56aab8
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
index d5b39fb4fc16a342b5661e08df1506858168d20d..723eb266fe1f965d2f08c6f3e8c652d0a0e52d58 100644
|
||||
index 2b93692204a74ea0def513a54ddf77a40c64d3d2..918a572328971b6dc864de276475c0403fdbd879 100644
|
||||
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
@@ -108,7 +108,7 @@ public interface Team {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
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
|
||||
index 6fdb484f7eda40155898849cb5ae963f75fafa40..52b3ba61bd58bdee339ecabeb047564aeaa46bdc 100644
|
||||
index 568836b589f4f81d8b3e715b39b90e5172215273..b2504a24ee2cc142f7b07fa5a908c0c693f18b8b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -842,5 +842,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
@@ -849,5 +849,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
||||
* @return True if ridable in water
|
||||
*/
|
||||
boolean isRidableInWater();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 38762db5c3383c3663a328ac591b0f6b25ac7f5a..d093d43380e09426f9430460a8626f8dcd675f22 100644
|
||||
index 7c720a1d210f165b9e3577232af655d3d9b3de34..d71a81d4891813ad8a36736a3d08dcc569b30dbc 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2560,5 +2560,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2656,5 +2656,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @param invulnerableTicks Invulnerable ticks remaining
|
||||
*/
|
||||
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Tue, 17 Aug 2021 17:39:14 -0500
|
||||
Subject: [PATCH] Add component support to resource pack api
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index d093d43380e09426f9430460a8626f8dcd675f22..a1d0302deb4e002d18264883f5ce1c1a17a6089d 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1570,6 +1570,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
*/
|
||||
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable String prompt);
|
||||
|
||||
+ /**
|
||||
+ * Request that the player's client download and switch resource packs.
|
||||
+ * <p>
|
||||
+ * The player's client will download the new resource pack asynchronously
|
||||
+ * in the background, and will automatically switch to it once the
|
||||
+ * download is complete. If the client has downloaded and cached a
|
||||
+ * resource pack with the same hash in the past it will not download but
|
||||
+ * directly apply the cached pack. If the hash is null and the client has
|
||||
+ * downloaded and cached the same resource pack in the past, it will
|
||||
+ * perform a file size check against the response content to determine if
|
||||
+ * the resource pack has changed and needs to be downloaded again. When
|
||||
+ * this request is sent for the very first time from a given server, the
|
||||
+ * client will first display a confirmation GUI to the player before
|
||||
+ * proceeding with the download.
|
||||
+ * <p>
|
||||
+ * Notes:
|
||||
+ * <ul>
|
||||
+ * <li>Players can disable server resources on their client, in which
|
||||
+ * case this method will have no affect on them. Use the
|
||||
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
|
||||
+ * the player loaded the pack!
|
||||
+ * <li>There is no concept of resetting resource packs back to default
|
||||
+ * within Minecraft, so players will have to relog to do so or you
|
||||
+ * have to send an empty pack.
|
||||
+ * <li>The request is sent with empty string as the hash when the hash is
|
||||
+ * not provided. This might result in newer versions not loading the
|
||||
+ * pack correctly.
|
||||
+ * </ul>
|
||||
+ *
|
||||
+ * @param url The URL from which the client will download the resource
|
||||
+ * pack. The string must contain only US-ASCII characters and should
|
||||
+ * be encoded as per RFC 1738.
|
||||
+ * @param hash The sha1 hash sum of the resource pack file which is used
|
||||
+ * to apply a cached version of the pack directly without downloading
|
||||
+ * if it is available. Hast to be 20 bytes long!
|
||||
+ * @param prompt The optional custom prompt message to be shown to client.
|
||||
+ * @throws IllegalArgumentException Thrown if the URL is null.
|
||||
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
|
||||
+ * length restriction is an implementation specific arbitrary value.
|
||||
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
|
||||
+ * long.
|
||||
+ */
|
||||
+ public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable net.kyori.adventure.text.Component prompt);
|
||||
+
|
||||
/**
|
||||
* Request that the player's client download and switch resource packs.
|
||||
* <p>
|
||||
@@ -1661,6 +1705,52 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
*/
|
||||
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable String prompt, boolean force);
|
||||
|
||||
+ /**
|
||||
+ * Request that the player's client download and switch resource packs.
|
||||
+ * <p>
|
||||
+ * The player's client will download the new resource pack asynchronously
|
||||
+ * in the background, and will automatically switch to it once the
|
||||
+ * download is complete. If the client has downloaded and cached a
|
||||
+ * resource pack with the same hash in the past it will not download but
|
||||
+ * directly apply the cached pack. If the hash is null and the client has
|
||||
+ * downloaded and cached the same resource pack in the past, it will
|
||||
+ * perform a file size check against the response content to determine if
|
||||
+ * the resource pack has changed and needs to be downloaded again. When
|
||||
+ * this request is sent for the very first time from a given server, the
|
||||
+ * client will first display a confirmation GUI to the player before
|
||||
+ * proceeding with the download.
|
||||
+ * <p>
|
||||
+ * Notes:
|
||||
+ * <ul>
|
||||
+ * <li>Players can disable server resources on their client, in which
|
||||
+ * case this method will have no affect on them. Use the
|
||||
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
|
||||
+ * the player loaded the pack!
|
||||
+ * <li>There is no concept of resetting resource packs back to default
|
||||
+ * within Minecraft, so players will have to relog to do so or you
|
||||
+ * have to send an empty pack.
|
||||
+ * <li>The request is sent with empty string as the hash when the hash is
|
||||
+ * not provided. This might result in newer versions not loading the
|
||||
+ * pack correctly.
|
||||
+ * </ul>
|
||||
+ *
|
||||
+ * @param url The URL from which the client will download the resource
|
||||
+ * pack. The string must contain only US-ASCII characters and should
|
||||
+ * be encoded as per RFC 1738.
|
||||
+ * @param hash The sha1 hash sum of the resource pack file which is used
|
||||
+ * to apply a cached version of the pack directly without downloading
|
||||
+ * if it is available. Hast to be 20 bytes long!
|
||||
+ * @param prompt The optional custom prompt message to be shown to client.
|
||||
+ * @param force If true, the client will be disconnected from the server
|
||||
+ * when it declines to use the resource pack.
|
||||
+ * @throws IllegalArgumentException Thrown if the URL is null.
|
||||
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
|
||||
+ * length restriction is an implementation specific arbitrary value.
|
||||
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
|
||||
+ * long.
|
||||
+ */
|
||||
+ public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable net.kyori.adventure.text.Component prompt, boolean force);
|
||||
+
|
||||
/**
|
||||
* Gets the Scoreboard displayed to this player
|
||||
*
|
||||
@@ -43,10 +43,10 @@ index 057fcbc389e54e0c9f7a90a3e8b965cd46db9d58..7de5cf6d7ebd0ab14f1478d466cf5393
|
||||
try {
|
||||
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
|
||||
index 74acf429b97476974f844a9621d059c935fcb4bd..cf2af2734dbf3b4f35a7e3dd79233cde6c7e728a 100644
|
||||
index 8de4ad9f2120d22b78202981624abd1d2fc70148..48fc8c707ffee15fcbfbb23c59cdb492d57ad707 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2594,4 +2594,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2609,4 +2609,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 08cb39a9af8adbd048a91a7cfa76863c7b1a13af..3e91bb85adc33434b278bf2ca83164dae3f7a6e5 100644
|
||||
index 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785b462de5c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -103,10 +103,10 @@ index 042be2cf60a9d01698808d84f2e537a5eb952079..6ec5a8a52ec06be917f2ca682f5920ed
|
||||
this.server.sendMessage(message, sender);
|
||||
Iterator iterator = this.players.iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1dd646bb8d1c153a3d034de1c208b3bacebd067f..390f8398af00b770d48d274970b8b164925b63b5 100644
|
||||
index 8ea81f6ac7503c68f0aea34802843bc545f46db0..605a0e9cf68a4f698ac03b3477585861aeb354c7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3601,6 +3601,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3608,6 +3608,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ index 7de5cf6d7ebd0ab14f1478d466cf53932bb62565..7aebd080238d7d0f789468c900e15a18
|
||||
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index a7a0d3f29ad3f07236905a764466400e7a22d8d6..5c1a9dc4eab3ecdf7f8ea35733717a3de501d85a 100644
|
||||
index 605a0e9cf68a4f698ac03b3477585861aeb354c7..43697061ddbbdf160453d3ab189097a6a56e6246 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -126,7 +126,7 @@ index a7a0d3f29ad3f07236905a764466400e7a22d8d6..5c1a9dc4eab3ecdf7f8ea35733717a3d
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4281,4 +4295,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4288,4 +4302,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -3752,7 +3752,7 @@ index 195cdae3f3a9fe8ecab2895a6000f6f855e9a9b8..b72866283e92433e95f0140037a1fd31
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 1eeaf0cc9b00afd54f38f9cb50404ec9f9ba51f8..909a7bffcd0d7432f0714417c286fb75b6b951b9 100644
|
||||
index 3a3f3358c4bbd16bdcadc56c6a865ecfb942ad54..a8c6971cc7d004bdc61a2b49e4542a8af46e8539 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -25,6 +25,18 @@ public class Skeleton extends AbstractSkeleton {
|
||||
@@ -4561,11 +4561,11 @@ index 15744949537430d8d8ae71ea72481126c9aff7bd..36417466ae30e9f7f3e953fd4ff98ed3
|
||||
|
||||
Projectile(EntityType<? extends Projectile> type, Level world) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaab3dae3ff 100644
|
||||
index 5893d2028679d23315a32433f6affa0c8d63c01c..f79cd24ce66fa7ea79308912a1696b3ca9bdffba 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1287,4 +1287,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return !entity.valid && entity.level.addFreshEntity(entity, reason);
|
||||
@@ -1292,4 +1292,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed.
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
|
||||
@@ -213,7 +213,7 @@ index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acf
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index cf2af2734dbf3b4f35a7e3dd79233cde6c7e728a..a26fa7bf9f2b2213b313c7762a6af7bc548a99b2 100644
|
||||
index 48fc8c707ffee15fcbfbb23c59cdb492d57ad707..2cdd8d9708fbd692bd0530ed63dc245af943ffb9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -429,10 +429,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -233,7 +233,7 @@ index cf2af2734dbf3b4f35a7e3dd79233cde6c7e728a..a26fa7bf9f2b2213b313c7762a6af7bc
|
||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||
@@ -2600,5 +2605,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2615,5 +2620,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
|
||||
@@ -121,10 +121,10 @@ index 6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c..aca10a81a90c7ef81b4167b868f3893a
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index a26fa7bf9f2b2213b313c7762a6af7bc548a99b2..508c86e6481e9a4cd68d3af5d2d7709160b3479f 100644
|
||||
index 2cdd8d9708fbd692bd0530ed63dc245af943ffb9..5d8422cc51c20837a74e1aa4425c70bf6c50c943 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2620,5 +2620,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2635,5 +2635,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@ Subject: [PATCH] Silk touch spawners
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
index f763a3ea5796737304e0c1f41349622e1d7adadf..26c5c3c6e7c51ad6ccc9bac05e2af4972658179d 100644
|
||||
index 3661ac5e3bfdebb2911cb1b118942b9fc7884140..4622d42221f75206e1a7495c8d4896c3d6f35b34 100644
|
||||
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||
@@ -91,6 +91,7 @@ public final class PaperAdventure {
|
||||
@@ -92,6 +92,7 @@ public final class PaperAdventure {
|
||||
})
|
||||
.build();
|
||||
public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().flattener(FLATTENER).hexColors().useUnusualXRepeatedCharacterHexFormat().build();
|
||||
+ public static final LegacyComponentSerializer LEGACY_AMPERSAND = LegacyComponentSerializer.builder().character(LegacyComponentSerializer.AMPERSAND_CHAR).hexColors().build(); // Purpur
|
||||
public static final PlainComponentSerializer PLAIN = PlainComponentSerializer.builder().flattener(FLATTENER).build();
|
||||
public static final PlainComponentSerializer PLAIN_COMPONENT = PlainComponentSerializer.builder().flattener(FLATTENER).build();
|
||||
public static final PlainTextComponentSerializer PLAIN = PlainTextComponentSerializer.builder().flattener(FLATTENER).build();
|
||||
public static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
||||
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index 20444c6887cbdd444b23bf018a6d63f22359e5e7..85329295afacad3edb6865846166aa56ebae0ed2 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -139,7 +139,7 @@ index 130ffb06b12565efb35afb55b6da20b1b16f6f06..bc4646a7a72c33a3671115953a2bbd7c
|
||||
|
||||
// this.popExperience(worldserver, blockposition, i);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 65d6e1b08862d4760d4fdf5838e60f8b9c755de9..d4602c11c149836974bb3722a00547f3908b0529 100644
|
||||
index f32045fa03634879dd88711c1f657a7635ce3011..4019c768748b65a0d039d3ef0a86a01b098e91c0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -116,6 +116,38 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 66906467235aa24a08eeef43bee0cb79c7bddd8f..b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3 100644
|
||||
index 359c70f3618ebd8138daaaadae88db98ee733a30..3417d7aaf858ae4759fd6b2b22f67e951769c33c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4332,5 +4332,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4339,5 +4339,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ index 9a6c67b614944f841813ec2892381c3342bc365c..45d2bf0e22e03db05dd954bf8c9e748b
|
||||
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
|
||||
this.trackedPlayers = trackedPlayers;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index 0ac107d7a360a5812a43488c611498d12546eed9..c2b0add36da8ad1bfb3fbfdd180a8606f66b8478 100644
|
||||
index f09db211f6f789ced85f7bf716428cd04bb41378..67b6803b986236d20b5309cab3c7f9c95ddf5f0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -54,6 +54,12 @@ public class ItemEntity extends Entity {
|
||||
@@ -96,10 +96,10 @@ index 0ac107d7a360a5812a43488c611498d12546eed9..c2b0add36da8ad1bfb3fbfdd180a8606
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
index 342345eb04d00efb58392ccf209e3c51c1064173..5f5c37fb447a4c1790714158f4b41f15793002d1 100644
|
||||
index 8d56f0ab748373e55c0166b92382c126fe8e5381..0637e074dbe4a10bc19e7bf9dd79e2d966b07b1d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
@@ -116,4 +116,46 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
@@ -131,4 +131,46 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
public EntityType getType() {
|
||||
return EntityType.DROPPED_ITEM;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3..857cf10a34fce177816b74bb9c29a7202c5acafd 100644
|
||||
index 3417d7aaf858ae4759fd6b2b22f67e951769c33c..55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3880,6 +3880,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3887,6 +3887,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc8
|
||||
+ // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index aaae42f112940aa85ffd0106d461e291f37f5592..8de98d7c875e8b0e0ba3877a8a0937f97afa77f1 100644
|
||||
index 20847ff868c6efc44c5bd876146060a70982a973..5ddb1cc5807d97841e88f7181a2f3f4d6c66c191 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1310,6 +1310,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 857cf10a34fce177816b74bb9c29a7202c5acafd..4ae2040d17f1a8c413c02996621d41c8641581f3 100644
|
||||
index 55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d..0198b89d3ac768c826d5be22cde88004f3444d48 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2716,7 +2716,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -17,7 +17,7 @@ index 857cf10a34fce177816b74bb9c29a7202c5acafd..4ae2040d17f1a8c413c02996621d41c8
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3369,7 +3369,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3376,7 +3376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
@@ -27,7 +27,7 @@ index 857cf10a34fce177816b74bb9c29a7202c5acafd..4ae2040d17f1a8c413c02996621d41c8
|
||||
|
||||
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 8de98d7c875e8b0e0ba3877a8a0937f97afa77f1..c668ec20aad764a6d09c1bdd578f09dfd94000cb 100644
|
||||
index 5ddb1cc5807d97841e88f7181a2f3f4d6c66c191..1a1d7d7f436381fb61435730469550d2841beeab 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -287,6 +287,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config to disable hostile mob spawn on ice
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Monster.java b/src/main/java/net/minecraft/world/entity/monster/Monster.java
|
||||
index 457880c9e894a83d88505cf0b7235df919eea591..9c38fdb23853ebdca7b8d904760a395869b4dd49 100644
|
||||
index 1d66588cfe94d190a34dc376b4b5bff9461a3529..d2dbb7a6832ffc0c8759f26f685428ce86d6b7c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Monster.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Monster.java
|
||||
@@ -88,6 +88,12 @@ public abstract class Monster extends PathfinderMob implements Enemy {
|
||||
@@ -20,9 +20,9 @@ index 457880c9e894a83d88505cf0b7235df919eea591..9c38fdb23853ebdca7b8d904760a3958
|
||||
+ // Purpur end
|
||||
if (world.getBrightness(LightLayer.SKY, pos) > random.nextInt(32)) {
|
||||
return false;
|
||||
} else if (world.getBrightness(LightLayer.BLOCK, pos) > 0) {
|
||||
} else if (world.getBrightness(LightLayer.BLOCK, pos) > (world.getLevel().paperConfig.maxBlockLightForMonsterSpawning >= 0 ? world.getLevel().paperConfig.maxBlockLightForMonsterSpawning : 0)) { // Paper - configurable max block light level
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index af137c18c47ecea46c9539f4ad186619196ab1d4..78c4717b6ef141f192119265d262669012f4814d 100644
|
||||
index 07dce1b9affedb5ae6888431e713accfe8871c26..5eec80e7266ffe9c5f51eb500c40d680aac53ccc 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -546,8 +546,12 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 549417d7bf6953f668bb8b0ab38f8c8b877b7a90..953506523b7bd5835bd727d9d4e6759f946e2afc 100644
|
||||
index f15cce18d4cfb56d8b54bb8f50af206ad48f8cd1..2673c49e46e0acbac413feec146000d535721404 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4345,5 +4345,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4352,5 +4352,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
@@ -333,7 +333,7 @@ index 493f3fe736cef11531d345b076ca240b5feb6ff2..735ecd9d768b9e579142810d5f03093d
|
||||
// Paper end
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 1f76a89e179b7a4bf28a172b1ece0603f975dbcd..16b4a5a5ae6e44ea63e0882757d0849ea2f74411 100644
|
||||
index f16635e4dde9cabf905d450d39c7f84f338b70ad..1ee78cc1f46d3a3493822b19328610a1e43071cc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -197,6 +197,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
||||
@@ -26,10 +26,10 @@ index 4252ff0201cbfbecc7b95ca86c1763dc5d88a4d7..535bc6d57d153a62f2cbf57747586de3
|
||||
} else {
|
||||
if (fallDistance >= 2.0F) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 6691abc34043b39460eccd98311c9d8efbefa8a0..2622cf83dd501b982fdd20b31d174bb0d63d1218 100644
|
||||
index 8c0eda7a974d99565d7ca55dc8e35c98103ac714..7c971f558c2d47984059e19a5db5297d7e59c2f4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2645,5 +2645,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2660,5 +2660,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
|
||||
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
|
||||
}
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Tue, 17 Aug 2021 17:39:21 -0500
|
||||
Subject: [PATCH] Add component support to resource pack api
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 2622cf83dd501b982fdd20b31d174bb0d63d1218..d6618a4ba0e830449f2cf6e60b1d6ff8747bc373 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1733,24 +1733,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setResourcePack(String url, byte[] hash, String prompt) {
|
||||
+ // Purpur start
|
||||
+ this.setResourcePack(url, hash, io.papermc.paper.adventure.PaperAdventure.LEGACY_SECTION_UXRC.deserialize(prompt), false);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setResourcePack(String url, byte[] hash, net.kyori.adventure.text.Component prompt) {
|
||||
this.setResourcePack(url, hash, prompt, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setResourcePack(String url, byte[] hash, boolean force) {
|
||||
- this.setResourcePack(url, hash, null, force);
|
||||
+ this.setResourcePack(url, hash, (net.kyori.adventure.text.Component) null, force);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setResourcePack(String url, byte[] hash, String prompt, boolean force) {
|
||||
+ this.setResourcePack(url, hash, prompt == null ? null : io.papermc.paper.adventure.PaperAdventure.LEGACY_SECTION_UXRC.deserialize(prompt), force);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setResourcePack(String url, byte[] hash, net.kyori.adventure.text.Component prompt, boolean force) {
|
||||
+ // Purpur end
|
||||
Validate.notNull(url, "Resource pack URL cannot be null");
|
||||
|
||||
if (hash != null) {
|
||||
Validate.isTrue(hash.length == 20, "Resource pack hash should be 20 bytes long but was " + hash.length);
|
||||
|
||||
- this.getHandle().sendTexturePack(url, BaseEncoding.base16().lowerCase().encode(hash), force, CraftChatMessage.fromStringOrNull(prompt, true));
|
||||
+ this.getHandle().sendTexturePack(url, BaseEncoding.base16().lowerCase().encode(hash), force, io.papermc.paper.adventure.PaperAdventure.asVanilla(prompt)); // Purpur
|
||||
} else {
|
||||
- this.getHandle().sendTexturePack(url, "", force, CraftChatMessage.fromStringOrNull(prompt, true));
|
||||
+ this.getHandle().sendTexturePack(url, "", force, io.papermc.paper.adventure.PaperAdventure.asVanilla(prompt)); // Purpur
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index d6618a4ba0e830449f2cf6e60b1d6ff8747bc373..eb3324f9f6ec3c90afe8cec2861feebcf0c27ee7 100644
|
||||
index 7c971f558c2d47984059e19a5db5297d7e59c2f4..f4aa60c4c55a965637cd706125fa55b243ab3ee0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1920,6 +1920,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1923,6 +1923,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
@@ -869,7 +869,7 @@ index 2b77a73c0042a40fcc464dd878a3b9114138b3ff..bb23b232d6b9a950adaf87f83448059d
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
index 2cf7a67e5294099154f8acaa897f12e8d2f46e77..3c5231406ddd0ff5343f3e4da93ecefad614c895 100644
|
||||
index 9350d4dd73db4227ab65452083d1cec73fda9501..6a2340dd54d4a8b688444eb4621c58e0606e5283 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
|
||||
@@ -45,6 +45,11 @@ public class Skeleton extends AbstractSkeleton {
|
||||
Reference in New Issue
Block a user