mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
fix repackage
This commit is contained in:
@@ -20,13 +20,53 @@ 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
|
||||
--- 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
|
||||
*/
|
||||
public boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason);
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ /**
|
||||
+ * Get the riding player
|
||||
+ *
|
||||
+ * @return Riding player
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ Player getRider();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is being ridden
|
||||
+ *
|
||||
+ * @return True if being ridden
|
||||
+ */
|
||||
+ boolean hasRider();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is ridable
|
||||
+ *
|
||||
+ * @return True if ridable
|
||||
+ */
|
||||
+ boolean isRidable();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is ridable in water
|
||||
+ *
|
||||
+ * @return True if ridable in water
|
||||
+ */
|
||||
+ boolean isRidableInWater();
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/RidableMoveEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/RidableMoveEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..48e7ac392fe5efac8a4ce549e31a05ed817417e4
|
||||
index 0000000000000000000000000000000000000000..a037df01b07af9ffb98b67aca412c1d34fade03b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/RidableMoveEvent.java
|
||||
@@ -0,0 +1,103 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import com.google.common.base.Preconditions;
|
||||
+import org.bukkit.Location;
|
||||
@@ -131,11 +171,11 @@ index 0000000000000000000000000000000000000000..48e7ac392fe5efac8a4ce549e31a05ed
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/RidableSpacebarEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/RidableSpacebarEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c0ec5a130985e8da4cc9e596a6b70503d2550f77
|
||||
index 0000000000000000000000000000000000000000..3d3a7d898e3278ce998d713dafbb4b354dad7fc7
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/RidableSpacebarEvent.java
|
||||
@@ -0,0 +1,37 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
@@ -172,43 +212,3 @@ index 0000000000000000000000000000000000000000..c0ec5a130985e8da4cc9e596a6b70503
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index bafad5764cc3933fcd9602d37bd2e68424cbd575..f1740d0d50e251fa029f22eeaacf2a68b3cd2e96 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
|
||||
*/
|
||||
public boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason);
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ /**
|
||||
+ * Get the riding player
|
||||
+ *
|
||||
+ * @return Riding player
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ Player getRider();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is being ridden
|
||||
+ *
|
||||
+ * @return True if being ridden
|
||||
+ */
|
||||
+ boolean hasRider();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is ridable
|
||||
+ *
|
||||
+ * @return True if ridable
|
||||
+ */
|
||||
+ boolean isRidable();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if entity is ridable in water
|
||||
+ *
|
||||
+ * @return True if ridable in water
|
||||
+ */
|
||||
+ boolean isRidableInWater();
|
||||
+ // Purpur end
|
||||
}
|
||||
|
||||
@@ -4,113 +4,6 @@ Date: Fri, 18 Oct 2019 22:50:05 -0500
|
||||
Subject: [PATCH] Llama API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..6e68c1399bf30eeef6ce0385867f0cf258698eae
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java
|
||||
@@ -0,0 +1,61 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Llama;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a Llama tries to join a caravan.
|
||||
+ * <p>
|
||||
+ * Cancelling the event will not let the Llama join. To prevent future attempts
|
||||
+ * at joining a caravan use {@link Llama#setShouldJoinCaravan(boolean)}.
|
||||
+ */
|
||||
+public class LlamaJoinCaravanEvent extends EntityEvent implements Cancellable {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private boolean canceled;
|
||||
+ private final Llama head;
|
||||
+
|
||||
+ public LlamaJoinCaravanEvent(@NotNull Llama llama, @NotNull Llama head) {
|
||||
+ super(llama);
|
||||
+ this.head = head;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public Llama getEntity() {
|
||||
+ return (Llama) entity;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Get the Llama that this Llama is about to follow
|
||||
+ *
|
||||
+ * @return Llama about to be followed
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public Llama getHead() {
|
||||
+ return head;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isCancelled() {
|
||||
+ return canceled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setCancelled(boolean cancel) {
|
||||
+ canceled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..ec8d978c22835e2789ebaaeddf0d13588ed1122a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java
|
||||
@@ -0,0 +1,34 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Llama;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a Llama leaves a caravan
|
||||
+ */
|
||||
+public class LlamaLeaveCaravanEvent extends EntityEvent {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+
|
||||
+ public LlamaLeaveCaravanEvent(@NotNull Llama llama) {
|
||||
+ super(llama);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public Llama getEntity() {
|
||||
+ return (Llama) entity;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Llama.java b/src/main/java/org/bukkit/entity/Llama.java
|
||||
index d23226ccb0f6c25028f000ce31346cd0a8898e6a..1ef9479c962b3f4f6fed46671a1209c34040d16d 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Llama.java
|
||||
@@ -189,3 +82,110 @@ index d23226ccb0f6c25028f000ce31346cd0a8898e6a..1ef9479c962b3f4f6fed46671a1209c3
|
||||
+ Llama getCaravanTail();
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..8849bb0becb16db907fa648cca2e98ab9d957c75
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/LlamaJoinCaravanEvent.java
|
||||
@@ -0,0 +1,61 @@
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Llama;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a Llama tries to join a caravan.
|
||||
+ * <p>
|
||||
+ * Cancelling the event will not let the Llama join. To prevent future attempts
|
||||
+ * at joining a caravan use {@link Llama#setShouldJoinCaravan(boolean)}.
|
||||
+ */
|
||||
+public class LlamaJoinCaravanEvent extends EntityEvent implements Cancellable {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private boolean canceled;
|
||||
+ private final Llama head;
|
||||
+
|
||||
+ public LlamaJoinCaravanEvent(@NotNull Llama llama, @NotNull Llama head) {
|
||||
+ super(llama);
|
||||
+ this.head = head;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public Llama getEntity() {
|
||||
+ return (Llama) entity;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Get the Llama that this Llama is about to follow
|
||||
+ *
|
||||
+ * @return Llama about to be followed
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public Llama getHead() {
|
||||
+ return head;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isCancelled() {
|
||||
+ return canceled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setCancelled(boolean cancel) {
|
||||
+ canceled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c268c35b541a222d50875c29770c846a8ffcc4f8
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/LlamaLeaveCaravanEvent.java
|
||||
@@ -0,0 +1,34 @@
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Llama;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a Llama leaves a caravan
|
||||
+ */
|
||||
+public class LlamaLeaveCaravanEvent extends EntityEvent {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+
|
||||
+ public LlamaLeaveCaravanEvent(@NotNull Llama llama) {
|
||||
+ super(llama);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public Llama getEntity() {
|
||||
+ return (Llama) entity;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ @NotNull
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
|
||||
@@ -4,13 +4,42 @@ Date: Sat, 10 Aug 2019 22:19:56 -0500
|
||||
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 ccd12268d9c1b2c889a68735831a9b26a80dbf53..af0c24d79251ba032b8ca3051fb451b00a5986e4 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2339,5 +2339,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if player is AFK
|
||||
+ *
|
||||
+ * @return True if AFK
|
||||
+ */
|
||||
+ boolean isAfk();
|
||||
+
|
||||
+ /**
|
||||
+ * Set player as AFK
|
||||
+ *
|
||||
+ * @param setAfk Whether to set AFK or not
|
||||
+ */
|
||||
+ void setAfk(boolean setAfk);
|
||||
+
|
||||
+ /**
|
||||
+ * Reset the idle timer back to 0
|
||||
+ */
|
||||
+ void resetIdleTimer();
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/PlayerAFKEvent.java b/src/main/java/org/purpurmc/purpur/event/PlayerAFKEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862bd9fc4be
|
||||
index 0000000000000000000000000000000000000000..25e92af7710316ed2afedf846a59dbd672869b51
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/PlayerAFKEvent.java
|
||||
@@ -0,0 +1,70 @@
|
||||
+package net.pl3x.purpur.event;
|
||||
+package org.purpurmc.purpur.event;
|
||||
+
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
@@ -80,32 +109,3 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index ccd12268d9c1b2c889a68735831a9b26a80dbf53..af0c24d79251ba032b8ca3051fb451b00a5986e4 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2339,5 +2339,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
+
|
||||
+ /**
|
||||
+ * Check if player is AFK
|
||||
+ *
|
||||
+ * @return True if AFK
|
||||
+ */
|
||||
+ boolean isAfk();
|
||||
+
|
||||
+ /**
|
||||
+ * Set player as AFK
|
||||
+ *
|
||||
+ * @param setAfk Whether to set AFK or not
|
||||
+ */
|
||||
+ void setAfk(boolean setAfk);
|
||||
+
|
||||
+ /**
|
||||
+ * Reset the idle timer back to 0
|
||||
+ */
|
||||
+ void resetIdleTimer();
|
||||
// Purpur end
|
||||
}
|
||||
|
||||
@@ -4,13 +4,46 @@ Date: Fri, 31 May 2019 00:08:28 -0500
|
||||
Subject: [PATCH] ExecuteCommandEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index 74252236b138969560e6513f24e7ecc6dc4a4127..9c3d02b949fe806e17200d0ff6127fc367ef2abc 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -147,6 +147,19 @@ public class SimpleCommandMap implements CommandMap {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ String[] parsedArgs = Arrays.copyOfRange(args, 1, args.length);
|
||||
+ org.purpurmc.purpur.event.ExecuteCommandEvent event = new org.purpurmc.purpur.event.ExecuteCommandEvent(sender, target, sentCommandLabel, parsedArgs);
|
||||
+ if (!event.callEvent()) {
|
||||
+ return true; // cancelled
|
||||
+ }
|
||||
+
|
||||
+ sender = event.getSender();
|
||||
+ target = event.getCommand();
|
||||
+ sentCommandLabel = event.getLabel();
|
||||
+ parsedArgs = event.getArgs();
|
||||
+ // Purpur end
|
||||
+
|
||||
// Paper start - Plugins do weird things to workaround normal registration
|
||||
if (target.timings == null) {
|
||||
target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
|
||||
@@ -156,7 +169,7 @@ public class SimpleCommandMap implements CommandMap {
|
||||
try {
|
||||
try (co.aikar.timings.Timing ignored = target.timings.startTiming()) { // Paper - use try with resources
|
||||
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
|
||||
- target.execute(sender, sentCommandLabel, Arrays.copyOfRange(args, 1, args.length));
|
||||
+ target.execute(sender, sentCommandLabel, parsedArgs); // Purpur
|
||||
} // target.timings.stopTiming(); // Spigot // Paper
|
||||
} catch (CommandException ex) {
|
||||
server.getPluginManager().callEvent(new ServerExceptionEvent(new ServerCommandException(ex, target, sender, args))); // Paper
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java b/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..3250bd4dc29a0cf79b08833d95a3321d1a6733f6
|
||||
index 0000000000000000000000000000000000000000..103d5699d0993f358749b3d288b924e48b734693
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java
|
||||
@@ -0,0 +1,130 @@
|
||||
+package net.pl3x.purpur.event;
|
||||
+package org.purpurmc.purpur.event;
|
||||
+
|
||||
+import org.apache.commons.lang.Validate;
|
||||
+import org.bukkit.command.Command;
|
||||
@@ -140,36 +173,3 @@ index 0000000000000000000000000000000000000000..3250bd4dc29a0cf79b08833d95a3321d
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index 74252236b138969560e6513f24e7ecc6dc4a4127..c12de7917ab074083c9758645a403b501455a49d 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -147,6 +147,19 @@ public class SimpleCommandMap implements CommandMap {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ String[] parsedArgs = Arrays.copyOfRange(args, 1, args.length);
|
||||
+ net.pl3x.purpur.event.ExecuteCommandEvent event = new net.pl3x.purpur.event.ExecuteCommandEvent(sender, target, sentCommandLabel, parsedArgs);
|
||||
+ if (!event.callEvent()) {
|
||||
+ return true; // cancelled
|
||||
+ }
|
||||
+
|
||||
+ sender = event.getSender();
|
||||
+ target = event.getCommand();
|
||||
+ sentCommandLabel = event.getLabel();
|
||||
+ parsedArgs = event.getArgs();
|
||||
+ // Purpur end
|
||||
+
|
||||
// Paper start - Plugins do weird things to workaround normal registration
|
||||
if (target.timings == null) {
|
||||
target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
|
||||
@@ -156,7 +169,7 @@ public class SimpleCommandMap implements CommandMap {
|
||||
try {
|
||||
try (co.aikar.timings.Timing ignored = target.timings.startTiming()) { // Paper - use try with resources
|
||||
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
|
||||
- target.execute(sender, sentCommandLabel, Arrays.copyOfRange(args, 1, args.length));
|
||||
+ target.execute(sender, sentCommandLabel, parsedArgs); // Purpur
|
||||
} // target.timings.stopTiming(); // Spigot // Paper
|
||||
} catch (CommandException ex) {
|
||||
server.getPluginManager().callEvent(new ServerExceptionEvent(new ServerCommandException(ex, target, sender, args))); // Paper
|
||||
|
||||
@@ -6,11 +6,11 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/PlayerSetSpawnerTypeWithEggEvent.java b/src/main/java/org/purpurmc/purpur/event/PlayerSetSpawnerTypeWithEggEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c050b75e9a11ac728868fe95e3f89e6b99de6ad2
|
||||
index 0000000000000000000000000000000000000000..519809eab5d926dc7b0a7bad5d446d0defc099dc
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/PlayerSetSpawnerTypeWithEggEvent.java
|
||||
@@ -0,0 +1,85 @@
|
||||
+package net.pl3x.purpur.event;
|
||||
+package org.purpurmc.purpur.event;
|
||||
+
|
||||
+import org.bukkit.block.Block;
|
||||
+import org.bukkit.block.CreatureSpawner;
|
||||
|
||||
@@ -6,11 +6,11 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/MonsterEggSpawnEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/MonsterEggSpawnEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..8f1c9c421aeeb0ddf331f076a9b646c510ea4337
|
||||
index 0000000000000000000000000000000000000000..82f8a0ea22f07954d516935fc9f73f6aa0f65aa6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/MonsterEggSpawnEvent.java
|
||||
@@ -0,0 +1,67 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.entity.HumanEntity;
|
||||
|
||||
@@ -4,13 +4,32 @@ Date: Sun, 19 Apr 2020 00:25:09 -0500
|
||||
Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/inventory/AnvilInventory.java b/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
index b95e563b5454306a9188ae3295309ee86a756477..435026e533ea9edb8c1800d35c63543ca023a904 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
@@ -109,4 +109,14 @@ public interface AnvilInventory extends Inventory {
|
||||
setItem(2, result);
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ boolean canBypassCost();
|
||||
+
|
||||
+ void setBypassCost(boolean bypassCost);
|
||||
+
|
||||
+ boolean canDoUnsafeEnchants();
|
||||
+
|
||||
+ void setDoUnsafeEnchants(boolean canDoUnsafeEnchants);
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/inventory/AnvilTakeResultEvent.java b/src/main/java/org/purpurmc/purpur/event/inventory/AnvilTakeResultEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..85663c0a44695f7b7f01a68693cac3d99f4b56ca
|
||||
index 0000000000000000000000000000000000000000..b363c91a29f826910db22f2643decf996a067ab5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/inventory/AnvilTakeResultEvent.java
|
||||
@@ -0,0 +1,52 @@
|
||||
+package net.pl3x.purpur.event.inventory;
|
||||
+package org.purpurmc.purpur.event.inventory;
|
||||
+
|
||||
+import org.bukkit.entity.HumanEntity;
|
||||
+import org.bukkit.entity.Player;
|
||||
@@ -64,11 +83,11 @@ index 0000000000000000000000000000000000000000..85663c0a44695f7b7f01a68693cac3d9
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/inventory/AnvilUpdateResultEvent.java b/src/main/java/org/purpurmc/purpur/event/inventory/AnvilUpdateResultEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2717ad82ccc0d39c5a69b8890303c245e9a17f83
|
||||
index 0000000000000000000000000000000000000000..fd6a5a3589d436c2aaf988fd305899695799d3bb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/inventory/AnvilUpdateResultEvent.java
|
||||
@@ -0,0 +1,35 @@
|
||||
+package net.pl3x.purpur.event.inventory;
|
||||
+package org.purpurmc.purpur.event.inventory;
|
||||
+
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.inventory.InventoryEvent;
|
||||
@@ -103,22 +122,3 @@ index 0000000000000000000000000000000000000000..2717ad82ccc0d39c5a69b8890303c245
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/AnvilInventory.java b/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
index b95e563b5454306a9188ae3295309ee86a756477..435026e533ea9edb8c1800d35c63543ca023a904 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/AnvilInventory.java
|
||||
@@ -109,4 +109,14 @@ public interface AnvilInventory extends Inventory {
|
||||
setItem(2, result);
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ boolean canBypassCost();
|
||||
+
|
||||
+ void setBypassCost(boolean bypassCost);
|
||||
+
|
||||
+ boolean canDoUnsafeEnchants();
|
||||
+
|
||||
+ void setDoUnsafeEnchants(boolean canDoUnsafeEnchants);
|
||||
+ // Purpur end
|
||||
}
|
||||
|
||||
@@ -6,11 +6,11 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/player/PlayerBookTooLargeEvent.java b/src/main/java/org/purpurmc/purpur/event/player/PlayerBookTooLargeEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..39378ee2bfadf42ff358cc7b42dd75ac61615e15
|
||||
index 0000000000000000000000000000000000000000..c88394336bc9ab0f66a2af24d393f4a176a234d5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/player/PlayerBookTooLargeEvent.java
|
||||
@@ -0,0 +1,65 @@
|
||||
+package net.pl3x.purpur.event.player;
|
||||
+package org.purpurmc.purpur.event.player;
|
||||
+
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.entity.Player;
|
||||
|
||||
@@ -18,11 +18,11 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java b/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..e6fcc4027cb70061b804460b39e00cca273d35ad
|
||||
index 0000000000000000000000000000000000000000..c66eb163877e872f234d86dc244cab7efeb818cd
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/entity/EntityTeleportHinderedEvent.java
|
||||
@@ -0,0 +1,117 @@
|
||||
+package net.pl3x.purpur.event.entity;
|
||||
+package org.purpurmc.purpur.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
|
||||
@@ -158,7 +158,7 @@ index 1d7d3dbf7f6857d9853112844b70692e92e9c89d..77984134e53755caf45b8217a912ef0d
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
index 774556a62eb240da42e84db4502e2ed43495be17..e9aee2d8a929bded46c79c3ea0f1fcfd172af438 100644
|
||||
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 {
|
||||
@@ -166,7 +166,7 @@ index 774556a62eb240da42e84db4502e2ed43495be17..e9aee2d8a929bded46c79c3ea0f1fcfd
|
||||
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/net.pl3x.purpur/purpur-api/pom.properties"); // Purpur
|
||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
||||
Properties properties = new Properties();
|
||||
|
||||
if (stream != null) {
|
||||
|
||||
@@ -65,7 +65,7 @@ index cb0045fc4ddd738c45dee89d57b213a633b9a136..6e8111ef16439d2b3025ebe2a0418b24
|
||||
if (this.source.acceptsSuccess() && !this.silent) {
|
||||
this.source.sendMessage(message, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index fd3d3e22613511a42f7fc343079b081c72ff3f61..fe029ec70afad56bb7a7361f347e9b9aef5e00ba 100644
|
||||
index fd3d3e22613511a42f7fc343079b081c72ff3f61..8bf98d8f8e9f0baaf203a9e8d18683236856eab7 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -228,6 +228,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -74,25 +74,25 @@ index fd3d3e22613511a42f7fc343079b081c72ff3f61..fe029ec70afad56bb7a7361f347e9b9a
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||
+ // Purpur start
|
||||
+ try {
|
||||
+ net.pl3x.purpur.PurpurConfig.init((java.io.File) options.valueOf("purpur-settings"));
|
||||
+ org.purpurmc.purpur.PurpurConfig.init((java.io.File) options.valueOf("purpur-settings"));
|
||||
+ } catch (Exception e) {
|
||||
+ DedicatedServer.LOGGER.error("Unable to load server configuration", e);
|
||||
+ return false;
|
||||
+ }
|
||||
+ net.pl3x.purpur.PurpurConfig.registerCommands();
|
||||
+ org.purpurmc.purpur.PurpurConfig.registerCommands();
|
||||
+ // Purpur end
|
||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index c2220d5157d3065a256cd17410760c6aedf24987..476c60176f10ad656c6c0676f8d43f7ae8104430 100644
|
||||
index c2220d5157d3065a256cd17410760c6aedf24987..729d11569e59e78a0fda67697fe9e27adefff730 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
|
||||
+ public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||
+
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
@@ -101,17 +101,83 @@ index c2220d5157d3065a256cd17410760c6aedf24987..476c60176f10ad656c6c0676f8d43f7a
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, 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.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 77984134e53755caf45b8217a912ef0df645de59..272606ec908ef41e24cf8f43e4df05976597930d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -933,6 +933,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
|
||||
+ org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// 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))
|
||||
@@ -973,6 +974,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
+ world.purpurConfig.init(); // Purpur
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -988,6 +990,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
+ org.purpurmc.purpur.PurpurConfig.registerCommands(); // Purpur
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2549,6 +2552,18 @@ public final class CraftServer implements Server {
|
||||
return com.destroystokyo.paper.PaperConfig.config;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public YamlConfiguration getPurpurConfig() {
|
||||
+ return org.purpurmc.purpur.PurpurConfig.config;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public java.util.Properties getServerProperties() {
|
||||
+ return getProperties().properties;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void 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
|
||||
index 450518903c0a10301b177d8dd7fe05aca3b8b37e..a10cebac752fdf5186eb86bd314f19313864fee0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -153,6 +153,14 @@ public class Main {
|
||||
.describedAs("Jar file");
|
||||
// Paper end
|
||||
|
||||
+ // Purpur Start
|
||||
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")
|
||||
+ .withRequiredArg()
|
||||
+ .ofType(File.class)
|
||||
+ .defaultsTo(new File("purpur.yml"))
|
||||
+ .describedAs("Yml file");
|
||||
+ // Purpur end
|
||||
+
|
||||
// Paper start
|
||||
acceptsAll(asList("server-name"), "Name of the server")
|
||||
.withRequiredArg()
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f589e4376f88c7774a7fe999cad4d11a59379cd9
|
||||
index 0000000000000000000000000000000000000000..45a99a5fc63ee4d4f166cd47b1db4d412170dbe2
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -0,0 +1,159 @@
|
||||
+package net.pl3x.purpur;
|
||||
+package org.purpurmc.purpur;
|
||||
+
|
||||
+import co.aikar.timings.TimingsManager;
|
||||
+import com.google.common.base.Throwables;
|
||||
@@ -120,8 +186,8 @@ index 0000000000000000000000000000000000000000..f589e4376f88c7774a7fe999cad4d11a
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import net.minecraft.world.entity.EntityDimensions;
|
||||
+import net.minecraft.world.entity.EntityType;
|
||||
+import net.pl3x.purpur.command.PurpurCommand;
|
||||
+import net.pl3x.purpur.task.TPSBarTask;
|
||||
+import org.purpurmc.purpur.command.PurpurCommand;
|
||||
+import org.purpurmc.purpur.task.TPSBarTask;
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.command.Command;
|
||||
+import org.bukkit.configuration.ConfigurationSection;
|
||||
@@ -272,11 +338,11 @@ index 0000000000000000000000000000000000000000..f589e4376f88c7774a7fe999cad4d11a
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..8bc89d48695c816a1db77f9cdffd05f35afea92a
|
||||
index 0000000000000000000000000000000000000000..41e1c1c801f7734d123e7e8fb68b84167d49ff6c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -0,0 +1,96 @@
|
||||
+package net.pl3x.purpur;
|
||||
+package org.purpurmc.purpur;
|
||||
+
|
||||
+import net.minecraft.core.Registry;
|
||||
+import net.minecraft.resources.ResourceLocation;
|
||||
@@ -289,10 +355,10 @@ index 0000000000000000000000000000000000000000..8bc89d48695c816a1db77f9cdffd05f3
|
||||
+import net.minecraft.world.level.block.Block;
|
||||
+import net.minecraft.world.level.block.Blocks;
|
||||
+import net.minecraft.world.level.block.state.properties.Tilt;
|
||||
+import net.pl3x.purpur.tool.Strippable;
|
||||
+import net.pl3x.purpur.tool.Tillable;
|
||||
+import net.pl3x.purpur.tool.Waxable;
|
||||
+import net.pl3x.purpur.tool.Weatherable;
|
||||
+import org.purpurmc.purpur.tool.Strippable;
|
||||
+import org.purpurmc.purpur.tool.Tillable;
|
||||
+import org.purpurmc.purpur.tool.Waxable;
|
||||
+import org.purpurmc.purpur.tool.Weatherable;
|
||||
+import org.apache.commons.lang.BooleanUtils;
|
||||
+import org.bukkit.ChatColor;
|
||||
+import org.bukkit.World;
|
||||
@@ -306,7 +372,7 @@ index 0000000000000000000000000000000000000000..8bc89d48695c816a1db77f9cdffd05f3
|
||||
+import java.util.Set;
|
||||
+import java.util.function.Predicate;
|
||||
+import java.util.logging.Level;
|
||||
+import static net.pl3x.purpur.PurpurConfig.log;
|
||||
+import static org.purpurmc.purpur.PurpurConfig.log;
|
||||
+
|
||||
+@SuppressWarnings("unused")
|
||||
+public class PurpurWorldConfig {
|
||||
@@ -374,15 +440,15 @@ index 0000000000000000000000000000000000000000..8bc89d48695c816a1db77f9cdffd05f3
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e
|
||||
index 0000000000000000000000000000000000000000..afdf04f8b22ad0b7c0b41675e44687b49c2f86d6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
@@ -0,0 +1,65 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+import org.bukkit.ChatColor;
|
||||
+import org.bukkit.Location;
|
||||
+import org.bukkit.command.Command;
|
||||
@@ -443,69 +509,3 @@ index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338f
|
||||
+ return true;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 77984134e53755caf45b8217a912ef0df645de59..e08b48b13ee40c701094c897b50c08dd64b6d31a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -933,6 +933,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
|
||||
+ net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// 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))
|
||||
@@ -973,6 +974,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
+ world.purpurConfig.init(); // Purpur
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -988,6 +990,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
+ net.pl3x.purpur.PurpurConfig.registerCommands(); // Purpur
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2549,6 +2552,18 @@ public final class CraftServer implements Server {
|
||||
return com.destroystokyo.paper.PaperConfig.config;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public YamlConfiguration getPurpurConfig() {
|
||||
+ return net.pl3x.purpur.PurpurConfig.config;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public java.util.Properties getServerProperties() {
|
||||
+ return getProperties().properties;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void 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
|
||||
index 450518903c0a10301b177d8dd7fe05aca3b8b37e..a10cebac752fdf5186eb86bd314f19313864fee0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -153,6 +153,14 @@ public class Main {
|
||||
.describedAs("Jar file");
|
||||
// Paper end
|
||||
|
||||
+ // Purpur Start
|
||||
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")
|
||||
+ .withRequiredArg()
|
||||
+ .ofType(File.class)
|
||||
+ .defaultsTo(new File("purpur.yml"))
|
||||
+ .describedAs("Yml file");
|
||||
+ // Purpur end
|
||||
+
|
||||
// Paper start
|
||||
acceptsAll(asList("server-name"), "Name of the server")
|
||||
.withRequiredArg()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
index 20930c864ee1cb39367b5515dc8579f31d40ad21..1582bba7fa315c539cf8b57ae8b760d74091b6ed 100644
|
||||
index 8389be51e564c734b899ee1049eeb811d111d263..0f34da80fe3dabe264c7cbb894f6f732d068a4b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -34,7 +34,7 @@ index 03adc3b746e05bb4b0514ba4a66c101b9742ceed..ec261673ac444fd5de9c8556cde5d788
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0dfd5a179fe3e409c159e2a79be58ad942be06a8..d181752a909305d4fc18c399f831276e8e646ea3 100644
|
||||
index c455a43a87b07ba5f7787bb9f3bbd0caf8095151..8da5c1a3b0dce2952a14242620556ca10d340da8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -55,7 +55,7 @@ index 0dfd5a179fe3e409c159e2a79be58ad942be06a8..d181752a909305d4fc18c399f831276e
|
||||
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
|
||||
index 4a534357889892b57cff818f4dbd000795e74e34..3e957f4f983e337219b4eed31134f08357b4cb05 100644
|
||||
index 45dd82005ff4d03041a9c42e6eacaa2b8a7dc9f8..aaf18021fe4e37d4ff3b04390268c18c47232f06 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -83,6 +83,18 @@ public class Bat extends AmbientCreature {
|
||||
@@ -78,7 +78,7 @@ index 4a534357889892b57cff818f4dbd000795e74e34..3e957f4f983e337219b4eed31134f083
|
||||
|
||||
@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
|
||||
index 1163bb36350097557851eaa95b0cf53da79b6a6d..b29c1c66d4bed98514aa5ae0ba52d83f579fac4a 100644
|
||||
index 0d47db2163ef01365513af2ccec8ea74bfc838c9..64ad501a6bce58f06b38ea2d758664c19b4d7996 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -210,6 +210,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -94,7 +94,7 @@ index 1163bb36350097557851eaa95b0cf53da79b6a6d..b29c1c66d4bed98514aa5ae0ba52d83f
|
||||
|
||||
@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
|
||||
index 88362a02776f481fc8c17cf8a20805e5c28fca5e..5cb689e8a22e8ba58a69acbf717baa51aeb4732c 100644
|
||||
index a63a18eb2c87d01b2fca460f40bc2848f9a4b9cb..da496f1c3728cbe8aa009d2533f166cb6736d1b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -140,6 +140,11 @@ public class Cat extends TamableAnimal {
|
||||
@@ -110,7 +110,7 @@ index 88362a02776f481fc8c17cf8a20805e5c28fca5e..5cb689e8a22e8ba58a69acbf717baa51
|
||||
|
||||
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
|
||||
index cdb6e71f62294e48aa20a1ac0a38e208ce8e7e4c..e549add41f986f9eab68f148865a4170f732c814 100644
|
||||
index a64b7bd9b8a3cf0d79689b71b84ca1cad7bde2f1..419a774733ac3d562e636f2615005c953bbd87df 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -62,6 +62,11 @@ public class Chicken extends Animal {
|
||||
@@ -142,7 +142,7 @@ index ea7227ade90a713242290cadb13692f33effa5c0..f772c60ab5b4ac5468483d9765386b9b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index ec20c082f545f350927d980c7e0b0d0b742ed791..8b9c7c2292afed5928b262dad4d825473d400880 100644
|
||||
index f1f333892fa539ad96b7ecb5b7c4be03c8720f47..d602597132b69c51c6da9115d0a2c9a8a1f39405 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -50,6 +50,11 @@ public class Cow extends Animal {
|
||||
@@ -158,7 +158,7 @@ index ec20c082f545f350927d980c7e0b0d0b742ed791..8b9c7c2292afed5928b262dad4d82547
|
||||
|
||||
@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
|
||||
index 827872f57914b3d8d8b8ba388a05f4c5ea49aa0e..f34e1c342562a509539f2176a91e6132cd6672b2 100644
|
||||
index 9e12331583db172cf54798656bd6a4c0d38fa66c..16f32f0a58b090174f3d8b38c583adbcca58c9e4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -148,6 +148,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -174,7 +174,7 @@ index 827872f57914b3d8d8b8ba388a05f4c5ea49aa0e..f34e1c342562a509539f2176a91e6132
|
||||
|
||||
@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
|
||||
index 61fd332a91625cc1101fde5b66c759f5e44522fc..5665ee66a3b7355a6dc65409afda42ea94449b0b 100644
|
||||
index 49ffee9ce88d2f871b7f179835c7520d1c188070..b07b1302978b2a1212e094652e46ad2754fb1d6c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -170,6 +170,11 @@ public class Fox extends Animal {
|
||||
@@ -190,7 +190,7 @@ index 61fd332a91625cc1101fde5b66c759f5e44522fc..5665ee66a3b7355a6dc65409afda42ea
|
||||
|
||||
@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
|
||||
index 1e8d4985998cfbe862028228bc1f5c411899ff3f..6d1c077066dfe910b56b4882fd0b5005b56b9bd2 100644
|
||||
index 78387bc4020ce06dfbdb0cc4af978b5a4f2645b3..945a07babd8860c912c8aca1555c09922d5feaf3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -80,6 +80,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -222,7 +222,7 @@ index 66e146b92348b48fd53cc2aabd5335da66f50edc..66f628a699e82d2c632dde4185a92f29
|
||||
|
||||
@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
|
||||
index 152cd9e2169d25e475f36a618c63aad10e878ee9..b1fb4f64ea567a96e69aa483fec5f39eecfd9a8d 100644
|
||||
index d3311df20c37517e7c4ae1b8fbee6add6d32332e..ccb18fea0e03d08405b0fff5e9df5025f02cebf7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -79,6 +79,11 @@ public class Ocelot extends Animal {
|
||||
@@ -238,7 +238,7 @@ index 152cd9e2169d25e475f36a618c63aad10e878ee9..b1fb4f64ea567a96e69aa483fec5f39e
|
||||
|
||||
public boolean isTrusting() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index ce63fcbe48d3bab8a8a9e4b283fc561b30399e21..c98a143e525f55606d37e3fa14751c97e37218c0 100644
|
||||
index ed8890d6a5431412248722182c697844f7792c6e..1a4434432516f8b7f2bbbc64f9554c340530ce89 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -126,6 +126,12 @@ public class Panda extends Animal {
|
||||
@@ -267,7 +267,7 @@ index ce63fcbe48d3bab8a8a9e4b283fc561b30399e21..c98a143e525f55606d37e3fa14751c97
|
||||
|
||||
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
|
||||
index 8deca54f90e1ec7baa8caf59cca0c4b3e705e977..d5dfa6b9480c4314eaa53bbd95efd02e0f89a75b 100644
|
||||
index ae436398af6d9b86518d21fca27d2acb6e37dc77..1c3d1ce288d3446291fb729b0c6caeab4202fcb7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -181,6 +181,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
@@ -283,7 +283,7 @@ index 8deca54f90e1ec7baa8caf59cca0c4b3e705e977..d5dfa6b9480c4314eaa53bbd95efd02e
|
||||
|
||||
@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
|
||||
index 0d1cfb973efb3fb472a0c57e75bad00dea769357..e2d4e9f1955fb40b43e82e4876a39560ab2e23d1 100644
|
||||
index 32139ede373d72fd8745827052daf5c9a51cdcb9..7313d6bd41a312a8f9352240f181543d7cccb378 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -74,6 +74,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -299,7 +299,7 @@ index 0d1cfb973efb3fb472a0c57e75bad00dea769357..e2d4e9f1955fb40b43e82e4876a39560
|
||||
|
||||
@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
|
||||
index a2361524dcc9dcffe28a4c30026ac0540146c989..36f6d2b2f074eb49187a2d0badbf2bedde8a6935 100644
|
||||
index 11714497f323350d8244962517d8bb887d35dd0a..69e495a93cd1519297dcd8ef4971cca61b80f201 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -89,6 +89,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -331,7 +331,7 @@ index bc1cf0e63c9a1df534017246687f6a13cf976ff8..654ad8cd11bc11432811ed7408c0ce9b
|
||||
|
||||
@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
|
||||
index 3d8dfab5c7dfa8a506f40379aa36e6963de4e35a..845931a76d3b94ee9a1c0f238c3ea254950700bc 100644
|
||||
index 373bf90cc838fe7317ef8458552eefeeea05b6d6..562262f4811d5748dd04a284f243024c059c8756 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -130,6 +130,11 @@ public class Rabbit extends Animal {
|
||||
@@ -363,7 +363,7 @@ index cf88c1d95a866853568d4fa5f67850bc54127d11..e42bdde7947e532a3a5517c874411a39
|
||||
|
||||
@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
|
||||
index 8922ce00b1a4acd42434fa4681c8d56a39cf9348..cfad0b694c50b3dd2b91570717992b670d18479f 100644
|
||||
index b0fb05dcb63d132071274ae2de0c105dc55420d0..fbab9473e4ccce29ed55ebf707a5aacd128820cb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -126,6 +126,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -379,7 +379,7 @@ index 8922ce00b1a4acd42434fa4681c8d56a39cf9348..cfad0b694c50b3dd2b91570717992b67
|
||||
|
||||
@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
|
||||
index 2ec2d957d5db56ea0067e917e5b445d8619bb87b..5cbb66da8aacbdcec3c22610708d91af4dd87cd3 100644
|
||||
index e091170d1ed24ab1bee4fc17337643ddc2bf5685..e194774b2ba7976565642534ceeca2079e23945e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -64,6 +64,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -395,7 +395,7 @@ index 2ec2d957d5db56ea0067e917e5b445d8619bb87b..5cbb66da8aacbdcec3c22610708d91af
|
||||
|
||||
@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
|
||||
index 998f659aeff304dd481fa5e9c4b7e925d3cc019d..bb3792988864bb5fe7841c2cbdb583cb8e6fa489 100644
|
||||
index 6045c6e6388a0ad2aceabe6586abc85326807524..501b082e36b30140eef9540b8b217b9d45309dff 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -71,6 +71,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -427,7 +427,7 @@ index d78947aa30e4eebca67b94614ec0e2ac9afca36d..2de2dc96b7f5960d4cef3184c14409e0
|
||||
|
||||
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
|
||||
index 320f02f310fc1da2e5f41d0febd1ccfb48e0c4ea..730f0fdf968554e9e306ad984d6bd01861402705 100644
|
||||
index 43dea015a6a9093c98e8ff5a18e6a8360c30d59a..3d30ea6f2392e6ed2c7294a9194daee31dadc7d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -96,6 +96,11 @@ public class Turtle extends Animal {
|
||||
@@ -443,7 +443,7 @@ index 320f02f310fc1da2e5f41d0febd1ccfb48e0c4ea..730f0fdf968554e9e306ad984d6bd018
|
||||
|
||||
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
|
||||
index 3240a1b0759e4d1f189ff769519b4496af0657be..da7b3b5d683a3d48bb1726981a63999724032f44 100644
|
||||
index 4187d8fdb950781de8b414ed6928a3df4a89ba67..277637692e504cca04bfca7683c052295c2c5a86 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -114,6 +114,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -459,12 +459,12 @@ index 3240a1b0759e4d1f189ff769519b4496af0657be..da7b3b5d683a3d48bb1726981a639997
|
||||
|
||||
@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
|
||||
index 0667003613d3205eab3e729a297ba14d37ba3d22..f88f979cc66bf85ad3f1458581a82b0ed91c3f16 100644
|
||||
index 09a3ed5cd02e38eab3a66ada03b2651b8cbe1751..a2b2d3f670cd200d7fba40f8227964ef95c5b455 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -106,6 +106,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -491,7 +491,7 @@ index 563ead054aa41c8420d9b3f8c335dce20c229ac6..21aca411c458a1e80cdd6e97961f9a5c
|
||||
|
||||
@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
|
||||
index 5b797d33252488bd242913b862eb599f7c8e7edc..8a34dd179eecb84ca3975fa8a0ae2e7bc2d57cee 100644
|
||||
index e73045a7046850f10d79809c53b6cdd9ceb8775a..c6ee03e25adac9ecebd1e1718588b84f57184ce9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -125,6 +125,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -589,7 +589,7 @@ index a91152df3d443d70b1aa9aff97b3746e0331c0a6..9f7203608e15fdce1bfbaf4198387687
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index b9a7f5e536afe6409f517133db7f0d6f3b481640..a077a0ac66f7244ca895835f97edbe4c65fc5553 100644
|
||||
index fb4af69075323a1d6c5e252115d5973dbdcadcd2..7a2a8365a8bb5b0f497b7f10d351f535a683cd96 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -108,6 +108,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -719,7 +719,7 @@ index 77d05979331af91a1fbe619d1c26fa883146add8..48b72eb4051d612648a1978b38299c0c
|
||||
|
||||
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
|
||||
index 6a39bd861f27d517f8de9fc3f589c7e20b43d706..89680ef19b511ffbc241279647412f754085db4c 100644
|
||||
index 5e81df114108fa3f8ad8dc5e211737ee9f73290c..73506ce90426bdfb8fbc08687c6e21de637fbd77 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -154,6 +154,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -735,7 +735,7 @@ index 6a39bd861f27d517f8de9fc3f589c7e20b43d706..89680ef19b511ffbc241279647412f75
|
||||
|
||||
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
|
||||
index 318bf2a0feea7b5eb15b56565d4aecc4cd2eb2b4..8aa986e4fff1b74b95e59b9b2cbee1356411df7c 100644
|
||||
index 5d7623a5ef12ec3151cbc4ac0a59959d8976b9ea..19f48278c5c8f9640683d61b9555074e140fa2ab 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -208,6 +208,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -760,7 +760,7 @@ index 318bf2a0feea7b5eb15b56565d4aecc4cd2eb2b4..8aa986e4fff1b74b95e59b9b2cbee135
|
||||
|
||||
} 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
|
||||
index 5b49aed3f4998d7f02303da49ec3b960b6b00bd8..b1f82e0ce34081ac9d928f42d9ffbbfd507b4ca9 100644
|
||||
index 96912be8e98abf7b09b85a0830cd3e10c9225a0e..0075e2dd67c58bed30bfec1707291a1d92b13537 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
|
||||
@@ -67,6 +67,11 @@ public class Blaze extends Monster {
|
||||
@@ -792,7 +792,7 @@ index dd05c5f35d78d1385f793f4e34333ff242d136e1..45b53f11b52cc161775fcaa18567e4a7
|
||||
|
||||
@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
|
||||
index 65844015acca05df42396822446e8105b4a01287..b149deea5f9151d5d310e0b933d355e1e77ada1d 100644
|
||||
index aa92e5a46078b10da6d51d65434d6163428583bb..cee9afa518547afab1f2772b0352dcf05752df44 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -133,6 +133,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -808,7 +808,7 @@ index 65844015acca05df42396822446e8105b4a01287..b149deea5f9151d5d310e0b933d355e1
|
||||
|
||||
@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
|
||||
index af235aefbcff818d39297c3fb0a90a8e8f5a5d4b..c0e1ed8c536a848c99d1a96038f627cc99c627e7 100644
|
||||
index 6f8a1b1ec0de5c61a9fcadf4b6eb47a1bb2846c2..42ce331da58b749c17ece22c2ca9986a96c59438 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -79,6 +79,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -845,7 +845,7 @@ index 1f789b1d481234cafaa6e75c36a272bbd064482e..e25374b06e3babd93cd5bbdd58ea401a
|
||||
|
||||
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
|
||||
index 841d6846a7607c787f3ea12bc438023a832e0886..66ff0e3aa1a7dfb233a459516c4c596c1bbe033e 100644
|
||||
index 3ab601ded08c435825202b295bbdb06eb26ce730..357a7cdcd98cc2c840ca3f9c164d66cfd7565138 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -98,6 +98,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -861,7 +861,7 @@ index 841d6846a7607c787f3ea12bc438023a832e0886..66ff0e3aa1a7dfb233a459516c4c596c
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index a7eb3bdb45cfefbe290fdb26bc1444eb46ee8ae6..d5c8cba1c443681e8bf81db1298ea24c954b1136 100644
|
||||
index 1cb9d71c89f36b0c01d3e44388794d9ff745ba2c..16755569f1f2ea7cf6bfe52c279d8e192b9d0098 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -46,6 +46,11 @@ public class Endermite extends Monster {
|
||||
@@ -877,7 +877,7 @@ index a7eb3bdb45cfefbe290fdb26bc1444eb46ee8ae6..d5c8cba1c443681e8bf81db1298ea24c
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 01c8ca72ff84f2beab0822247b0c44dc06b45ea0..f879bfa65b266728b570725e1ff9403f1732244d 100644
|
||||
index 42da0e32be040bce2fd712b31aff1fe74d7de8e9..eb794368625d96aef6883f2c45c6a21e06e33d0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -57,6 +57,11 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -893,7 +893,7 @@ index 01c8ca72ff84f2beab0822247b0c44dc06b45ea0..f879bfa65b266728b570725e1ff9403f
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
index 31c3ad9c9fa42be535fd80b696c781f961e83ee1..93bd5c9fa3356d8d8575e109130fffb2fa4334c5 100644
|
||||
index 3429e259f7bd25a3032822b52bf2c4d9d3342f22..bfb413af45d30d99c762f9b0c52f60c3ef000106 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
@@ -71,6 +71,11 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
@@ -909,12 +909,12 @@ index 31c3ad9c9fa42be535fd80b696c781f961e83ee1..93bd5c9fa3356d8d8575e109130fffb2
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
index d95b110a025d48e7ab18f172e455593740e45252..c67f33f2e2e0ff5c2a85782185103325a6bf4535 100644
|
||||
index 6350749549298df1f4abf5a4ac62f254729c5917..a6f3cac3c6ee6129f61ab43e9afd82cc7b83e058 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
@@ -30,6 +30,13 @@ public class Giant extends Monster {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -927,7 +927,7 @@ index d95b110a025d48e7ab18f172e455593740e45252..c67f33f2e2e0ff5c2a85782185103325
|
||||
|
||||
@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
|
||||
index 5023a117483de9c95c861bb075f0d2e689bf6289..170b5b4e3d023950c1c0a8e5d383ab5e5e888424 100644
|
||||
index 8571da53ae382d418608d1beb722a0d1b5606ed6..7747493846e7d9c5c65d5976519144a6db9bd3e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -87,6 +87,11 @@ public class Guardian extends Monster {
|
||||
@@ -964,7 +964,7 @@ index 82a14d717e8f2ee005c2c410625b811cd016cdc3..81a3f6c1774b187be96b412dae44be62
|
||||
|
||||
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random 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
|
||||
index d879310fddd27374c18dd77dee5b594c1939fce8..dfcaad2d90abd2ce6f4a3a340ac205ce70c061e1 100644
|
||||
index 647796e6f3352582c49c780a860a617ce7b44ddd..4ed0fb155dfae60cee24dc0752fa525c90f2f442 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
|
||||
@@ -69,6 +69,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
|
||||
@@ -1003,7 +1003,7 @@ index 95741b63d68bdf815212d718c3cc0fc689c0e4de..68abf045f0510abc45bdc2fd8c147f27
|
||||
|
||||
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
|
||||
index 81104c73dfb9d0a2dd962c5f450e732f27a583d8..7e0affe953585b19686bb21b31a6a2b9534aba10 100644
|
||||
index e4401125da58e0a82a30f9b4a137f5804ae2a8dc..f4da51e75b3f8772f0d3de17ef4699845a08fdd1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -111,6 +111,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -1019,7 +1019,7 @@ index 81104c73dfb9d0a2dd962c5f450e732f27a583d8..7e0affe953585b19686bb21b31a6a2b9
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
index 472ca632d9d2c9b8d58925792ee99a7dccc1ab4d..466c3e33d48223f6a94c018036b992d7aa57dc6c 100644
|
||||
index 1457c0eda11000a0513e601ea60b6ca4a5b463b6..2c7155f2b3c29ff1f777ff6b6d0b19ef922614ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
|
||||
@@ -73,6 +73,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
||||
@@ -1035,7 +1035,7 @@ index 472ca632d9d2c9b8d58925792ee99a7dccc1ab4d..466c3e33d48223f6a94c018036b992d7
|
||||
|
||||
@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
|
||||
index 73a13cc8fe730ff88583d9af61ca581bd8aab99b..c1eea7e71aa364789a544e6491b2201bcb6a37c8 100644
|
||||
index ef09b5c6f52f342801213c701d8dbe68063129b9..b289e0fa4324f012464c655d82ccf59469ae6466 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -85,6 +85,11 @@ public class Ravager extends Raider {
|
||||
@@ -1051,7 +1051,7 @@ index 73a13cc8fe730ff88583d9af61ca581bd8aab99b..c1eea7e71aa364789a544e6491b2201b
|
||||
|
||||
@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
|
||||
index 65dd85729822e3bfa2344b2d4a37e9de2913ed85..30eafae391ff5447cd9f61212798a54b026956c4 100644
|
||||
index d61488d80c10c75698424698c8c6a08315e948bc..db381e7fd6f4fb8d4b30800821a8fdf9c6dba63c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -102,6 +102,11 @@ public class Shulker extends AbstractGolem implements Enemy {
|
||||
@@ -1067,7 +1067,7 @@ index 65dd85729822e3bfa2344b2d4a37e9de2913ed85..30eafae391ff5447cd9f61212798a54b
|
||||
|
||||
@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
|
||||
index e597b85a6dee0671c00d7481558cdb8419531682..3481a2e178e5c101b6038e6506933d50861c3f9d 100644
|
||||
index b72866283e92433e95f0140037a1fd3182b0577a..cd26c22664fb23457f99fe04607146c8c6545307 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -51,6 +51,11 @@ public class Silverfish extends Monster {
|
||||
@@ -1099,7 +1099,7 @@ index 909a7bffcd0d7432f0714417c286fb75b6b951b9..f3d73b9cf3d3cd0d69ea2f8152a1ced4
|
||||
|
||||
@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
|
||||
index 76546a356d34546099180a9c825d38c7297dec07..f8e25df1b84296962b85b09e94bc42b57588607a 100644
|
||||
index 8a3fcf98e4cb0a7473b198102c334e08696ab05c..92a5dc8a26bb6177634e5f1afb37f12828c70ace 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -101,6 +101,30 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -1143,7 +1143,7 @@ index 76546a356d34546099180a9c825d38c7297dec07..f8e25df1b84296962b85b09e94bc42b5
|
||||
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue((double) j);
|
||||
if (heal) {
|
||||
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 50c4fc838eba31e5f34e71a6fbafbb366ec17d06..3f61e97cadd1c94d55093a7771b241029aee99f3 100644
|
||||
index a31a5186a48e6ba90c2a87bec104d10bdc3c50d5..d095df11ffc34dd641bc2795365a4d1dda8cbc88 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -61,6 +61,11 @@ public class Spider extends Monster {
|
||||
@@ -1175,7 +1175,7 @@ index 8480687e452b7cad0d3e434cebe17e15c59bdc40..86b1c7a1ddd33249ce3d1ff25030d421
|
||||
|
||||
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random 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
|
||||
index f6dd5e7710ad26d843c986ce068d4b30d5586ce4..ff76fbb1618edc1aa6a58e9649e99291c90beffb 100644
|
||||
index 07c3191f72520086dcf7ed7a00005003b773e08d..e65eaf393b118e38fde8f525ac9b1d6e6f98e729 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -107,6 +107,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -1191,7 +1191,7 @@ index f6dd5e7710ad26d843c986ce068d4b30d5586ce4..ff76fbb1618edc1aa6a58e9649e99291
|
||||
|
||||
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random 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
|
||||
index 90963e11e1c75e17a38ef0b3c4918c306b0ed448..08f744680a07a877d6e235c0d9e4f108ddc46b78 100644
|
||||
index 660b12722adbad6d80ed447b23e4718a1a21d706..8747ebbc637ceb1c61a38baf063a3352aa093a1f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -95,6 +95,11 @@ public class Vex extends Monster {
|
||||
@@ -1207,7 +1207,7 @@ index 90963e11e1c75e17a38ef0b3c4918c306b0ed448..08f744680a07a877d6e235c0d9e4f108
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index 6419deb7a712c1b2562259bc2e8e188170afac84..730fd18cd9dc334fe527283a2ba5e5259fbfead5 100644
|
||||
index 84af15aae78f9f50f358a3aee43eba683bd418dd..780172760fbfe60216ac624598403c22a2fe30df 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -67,6 +67,11 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -1223,7 +1223,7 @@ index 6419deb7a712c1b2562259bc2e8e188170afac84..730fd18cd9dc334fe527283a2ba5e525
|
||||
|
||||
@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
|
||||
index 32c64dc093f6dcebcb903295fc71a8f95ed752b7..2eac41d27610a33adc6c2ef442cc687f0ddbdc5b 100644
|
||||
index 75bc4ade487e92aa939b7a04bf3d22170bc6ea9e..3bc25acc139b5d2b9fb20a491649ff613d5adc82 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -69,6 +69,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1271,7 +1271,7 @@ index 54a545836f3c318e7f90d43aca7fea8a6a56851d..fe315ebb69773d243feb2fbda369fc6f
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index a110b65e0bf1f2e1b69343a6ac6bbfabeab22bb4..e1e669bd992f105ba7f42312ba70a39f6d044500 100644
|
||||
index d6ae8468f5d507b8278fa887d1d1770db212da0c..b8be8cf1b9052c770abef02e3f16c48b676851e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -114,6 +114,11 @@ public class Zombie extends Monster {
|
||||
@@ -1390,12 +1390,12 @@ index 5025d4571a34fe9e0e58ada6b81b064716b8f672..f6734f2eb44af7b2389de5079831e0e4
|
||||
|
||||
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
|
||||
index 787d4def6227fa64a8938e5cc291d60eeef7a3bb..0a2131d7455d7de7c9a3f9d50710da870062e714 100644
|
||||
index 033c64fb98e08a67636c1c5e3d67b15ba0c0098b..b0fe7478f3dd5bacdef040caf9bbc75974303d89 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -166,6 +166,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
@@ -1422,7 +1422,7 @@ index ab648e7dafd78f414646cef96b422e87da5c1982..0bcfece84ac11f04671ed38a99b31da9
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index defc41f65e0899c2ae0984b55aeebcb8f606f040..20215510857b8e49ea0c93d35eddfbad7cd355b0 100644
|
||||
index 08180dd66c3ab3e96437013b27b0224ab4241187..aa9a7f5cbc5d20192455d0f241a0703f46404ed8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -104,257 +104,573 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -40,7 +40,7 @@ index e9d9245f7efaaeefc8f107b8016a462ce173816a..56dcc1b6ceaad998be62e3b8c125e8f5
|
||||
return new ChestMenu(MenuType.GENERIC_9x6, syncId, playerInventory, inventory, 6);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java b/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..a26cb4e4e4e23a06c970ea3c42c1060108708568 100644
|
||||
index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..6675f9fa1767389a1166302e27427f5e54330552 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
@@ -29,11 +29,34 @@ public class PlayerEnderChestContainer extends SimpleContainer {
|
||||
@@ -48,7 +48,7 @@ index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..a26cb4e4e4e23a06c970ea3c42c10601
|
||||
|
||||
public PlayerEnderChestContainer(Player owner) {
|
||||
- super(27);
|
||||
+ super(net.pl3x.purpur.PurpurConfig.enderChestSixRows ? 54 : 27); // Purpur
|
||||
+ super(org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? 54 : 27); // Purpur
|
||||
this.owner = owner;
|
||||
// CraftBukkit end
|
||||
}
|
||||
@@ -56,7 +56,7 @@ index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..a26cb4e4e4e23a06c970ea3c42c10601
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public int getContainerSize() {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows && net.pl3x.purpur.PurpurConfig.enderChestPermissionRows && owner != null && owner.getGameProfile() != null) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.enderChestSixRows && org.purpurmc.purpur.PurpurConfig.enderChestPermissionRows && owner != null && owner.getGameProfile() != null) {
|
||||
+ org.bukkit.craftbukkit.entity.CraftHumanEntity bukkit = owner.getBukkitEntity();
|
||||
+ if (bukkit.hasPermission("purpur.enderchest.rows.six")) {
|
||||
+ return 54;
|
||||
@@ -80,7 +80,7 @@ index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..a26cb4e4e4e23a06c970ea3c42c10601
|
||||
this.activeChest = blockEntity;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
index 16d677234616daec24e7250ff3e93aa3a83e9715..4e50f404baab0ae03f79de3b424c6a1765927f84 100644
|
||||
index 16d677234616daec24e7250ff3e93aa3a83e9715..51ef849b2a3af0276ed28dd3b27437d08b0387ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
|
||||
@@ -86,6 +86,27 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
|
||||
@@ -88,8 +88,8 @@ index 16d677234616daec24e7250ff3e93aa3a83e9715..4e50f404baab0ae03f79de3b424c6a17
|
||||
playerEnderChestContainer.setActiveChest(enderChestBlockEntity);
|
||||
player.openMenu(new SimpleMenuProvider((syncId, inventory, playerx) -> {
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestPermissionRows) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.enderChestSixRows) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.enderChestPermissionRows) {
|
||||
+ org.bukkit.craftbukkit.entity.CraftHumanEntity bukkitPlayer = player.getBukkitEntity();
|
||||
+ if (bukkitPlayer.hasPermission("purpur.enderchest.rows.six")) {
|
||||
+ return ChestMenu.sixRows(syncId, inventory, playerEnderChestContainer);
|
||||
@@ -112,7 +112,7 @@ index 16d677234616daec24e7250ff3e93aa3a83e9715..4e50f404baab0ae03f79de3b424c6a17
|
||||
}, CONTAINER_TITLE));
|
||||
player.awardStat(Stats.OPEN_ENDERCHEST);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835fbd7048d 100644
|
||||
index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..673052e683520976399f38569e35faad83af9fe0 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
|
||||
@@ -68,7 +68,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
|
||||
@@ -121,7 +121,7 @@ index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835
|
||||
super(BlockEntityType.BARREL, pos, state);
|
||||
- this.items = NonNullList.withSize(27, ItemStack.EMPTY);
|
||||
+ // Purpur start
|
||||
+ this.items = NonNullList.withSize(switch (net.pl3x.purpur.PurpurConfig.barrelRows) {
|
||||
+ this.items = NonNullList.withSize(switch (org.purpurmc.purpur.PurpurConfig.barrelRows) {
|
||||
+ case 6 -> 54;
|
||||
+ case 5 -> 45;
|
||||
+ case 4 -> 36;
|
||||
@@ -139,7 +139,7 @@ index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835
|
||||
public int getContainerSize() {
|
||||
- return 27;
|
||||
+ // Purpur start
|
||||
+ return switch (net.pl3x.purpur.PurpurConfig.barrelRows) {
|
||||
+ return switch (org.purpurmc.purpur.PurpurConfig.barrelRows) {
|
||||
+ case 6 -> 54;
|
||||
+ case 5 -> 45;
|
||||
+ case 4 -> 36;
|
||||
@@ -157,7 +157,7 @@ index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835
|
||||
protected AbstractContainerMenu createMenu(int syncId, Inventory playerInventory) {
|
||||
- return ChestMenu.threeRows(syncId, playerInventory, this);
|
||||
+ // Purpur start
|
||||
+ return switch (net.pl3x.purpur.PurpurConfig.barrelRows) {
|
||||
+ return switch (org.purpurmc.purpur.PurpurConfig.barrelRows) {
|
||||
+ case 6 -> ChestMenu.sixRows(syncId, playerInventory, this);
|
||||
+ case 5 -> ChestMenu.fiveRows(syncId, playerInventory, this);
|
||||
+ case 4 -> ChestMenu.fourRows(syncId, playerInventory, this);
|
||||
@@ -169,8 +169,46 @@ index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
index 60fa587ce17e138d2baf8959c26e25ed1db17a4a..c6792356261cf95d838be9bcf9ea2d2f9f182bed 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
@@ -165,8 +165,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
case PLAYER:
|
||||
case CHEST:
|
||||
case ENDER_CHEST:
|
||||
+ // Purpur start
|
||||
+ this.delegate = new ChestMenu(org.purpurmc.purpur.PurpurConfig.enderChestSixRows ? MenuType.GENERIC_9x6 : MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ break;
|
||||
case BARREL:
|
||||
- this.delegate = new ChestMenu(MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ this.delegate = new ChestMenu(switch (org.purpurmc.purpur.PurpurConfig.barrelRows) {
|
||||
+ case 6 -> MenuType.GENERIC_9x6;
|
||||
+ case 5 -> MenuType.GENERIC_9x5;
|
||||
+ case 4 -> MenuType.GENERIC_9x4;
|
||||
+ case 2 -> MenuType.GENERIC_9x2;
|
||||
+ case 1 -> MenuType.GENERIC_9x1;
|
||||
+ default -> MenuType.GENERIC_9x3;
|
||||
+ }, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ // Purpur end
|
||||
break;
|
||||
case DISPENSER:
|
||||
case DROPPER:
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
index 396a4ae3d5a829eda78ef98561333aea300aa722..91478d614a56d1ac371187515d4c92b2a373b65c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory {
|
||||
|
||||
@Override
|
||||
public void setContents(ItemStack[] items) {
|
||||
- if (this.getSize() < items.length) {
|
||||
+ if (false && this.getSize() < items.length) { // Purpur
|
||||
throw new IllegalArgumentException("Invalid inventory size; expected " + this.getSize() + " or less");
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 8747593597ed270400ef3d3f6b141a0fb370f1b4..eaff201b75f74a41e14c43d522d7b87faf9296b3 100644
|
||||
index dac7a163df51604c522614c28a2d4d2c6ecd0eba..c961e81a0e8bc7360f8ef7235c576e6629b67b49 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -174,4 +174,39 @@ public class PurpurConfig {
|
||||
@@ -213,41 +251,3 @@ index 8747593597ed270400ef3d3f6b141a0fb370f1b4..eaff201b75f74a41e14c43d522d7b87f
|
||||
+ enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
index 60fa587ce17e138d2baf8959c26e25ed1db17a4a..72d656dfbdf21849f0c7a41de2f1dcf963623bec 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
@@ -165,8 +165,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
case PLAYER:
|
||||
case CHEST:
|
||||
case ENDER_CHEST:
|
||||
+ // Purpur start
|
||||
+ this.delegate = new ChestMenu(net.pl3x.purpur.PurpurConfig.enderChestSixRows ? MenuType.GENERIC_9x6 : MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ break;
|
||||
case BARREL:
|
||||
- this.delegate = new ChestMenu(MenuType.GENERIC_9x3, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ this.delegate = new ChestMenu(switch (net.pl3x.purpur.PurpurConfig.barrelRows) {
|
||||
+ case 6 -> MenuType.GENERIC_9x6;
|
||||
+ case 5 -> MenuType.GENERIC_9x5;
|
||||
+ case 4 -> MenuType.GENERIC_9x4;
|
||||
+ case 2 -> MenuType.GENERIC_9x2;
|
||||
+ case 1 -> MenuType.GENERIC_9x1;
|
||||
+ default -> MenuType.GENERIC_9x3;
|
||||
+ }, windowId, bottom, top, top.getContainerSize() / 9);
|
||||
+ // Purpur end
|
||||
break;
|
||||
case DISPENSER:
|
||||
case DROPPER:
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
index 396a4ae3d5a829eda78ef98561333aea300aa722..91478d614a56d1ac371187515d4c92b2a373b65c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory {
|
||||
|
||||
@Override
|
||||
public void setContents(ItemStack[] items) {
|
||||
- if (this.getSize() < items.length) {
|
||||
+ if (false && this.getSize() < items.length) { // Purpur
|
||||
throw new IllegalArgumentException("Invalid inventory size; expected " + this.getSize() + " or less");
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ index 721971f7618751a2e95f1c49fdc48a9c0c672cab..7b141c495095afcd9c8b04c059d692e8
|
||||
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
|
||||
if (d > 676.0D) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index a077a0ac66f7244ca895835f97edbe4c65fc5553..e2271a52448583cdbda844bc55b42dd3665a2a26 100644
|
||||
index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e4cb4f75e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -66,6 +66,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -62,7 +62,7 @@ index a077a0ac66f7244ca895835f97edbe4c65fc5553..e2271a52448583cdbda844bc55b42dd3
|
||||
|
||||
public void leaveCaravan() {
|
||||
if (this.caravanHead != null) {
|
||||
+ new net.pl3x.purpur.event.entity.LlamaLeaveCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity()).callEvent(); // Purpur
|
||||
+ new org.purpurmc.purpur.event.entity.LlamaLeaveCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity()).callEvent(); // Purpur
|
||||
this.caravanHead.caravanTail = null;
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ index a077a0ac66f7244ca895835f97edbe4c65fc5553..e2271a52448583cdbda844bc55b42dd3
|
||||
}
|
||||
|
||||
public void joinCaravan(Llama llama) {
|
||||
+ if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
+ if (!shouldJoinCaravan || !new org.purpurmc.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
this.caravanHead = llama;
|
||||
this.caravanHead.caravanTail = this;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..e29c9e10e98f2333ad38fd7d957d8a36304f3cba 100644
|
||||
index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..8b904d31dda1bfe1b396126376e2f2020b1b0ab1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player {
|
||||
@@ -24,9 +24,9 @@ index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..e29c9e10e98f2333ad38fd7d957d8a36
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ String msg = afk ? net.pl3x.purpur.PurpurConfig.afkBroadcastAway : net.pl3x.purpur.PurpurConfig.afkBroadcastBack;
|
||||
+ String msg = afk ? org.purpurmc.purpur.PurpurConfig.afkBroadcastAway : org.purpurmc.purpur.PurpurConfig.afkBroadcastBack;
|
||||
+
|
||||
+ net.pl3x.purpur.event.PlayerAFKEvent event = new net.pl3x.purpur.event.PlayerAFKEvent(this.getBukkitEntity(), afk, level.purpurConfig.idleTimeoutKick, msg, !Bukkit.isPrimaryThread());
|
||||
+ org.purpurmc.purpur.event.PlayerAFKEvent event = new org.purpurmc.purpur.event.PlayerAFKEvent(this.getBukkitEntity(), afk, level.purpurConfig.idleTimeoutKick, msg, !Bukkit.isPrimaryThread());
|
||||
+ if (!event.callEvent() || event.shouldKick()) {
|
||||
+ return;
|
||||
+ }
|
||||
@@ -44,7 +44,7 @@ index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..e29c9e10e98f2333ad38fd7d957d8a36
|
||||
+
|
||||
+ if (level.purpurConfig.idleTimeoutUpdateTabList) {
|
||||
+ if (afk) {
|
||||
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getScoreboardName() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix, true);
|
||||
+ getBukkitEntity().setPlayerListName(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix + getScoreboardName() + org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, true);
|
||||
+ } else {
|
||||
+ getBukkitEntity().setPlayerListName(getScoreboardName());
|
||||
+ }
|
||||
@@ -212,56 +212,6 @@ index 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2
|
||||
double d = player.distanceToSqr(x, y, z);
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index eaff201b75f74a41e14c43d522d7b87faf9296b3..7f572658706fdc3009490bd54c2393f7685c7de7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -158,8 +158,16 @@ public class PurpurConfig {
|
||||
}
|
||||
|
||||
public static String cannotRideMob = "<red>You cannot mount that mob";
|
||||
+ public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
+ public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
+ public static String afkTabListPrefix = "[AFK] ";
|
||||
+ public static String afkTabListSuffix = "";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
+ afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
+ afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
}
|
||||
|
||||
private static void timingsSettings() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 20215510857b8e49ea0c93d35eddfbad7cd355b0..996171e7271e62e72c0b2b213c21caf53c815e97 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -94,6 +94,24 @@ public class PurpurWorldConfig {
|
||||
return value.isEmpty() ? fallback : value;
|
||||
}
|
||||
|
||||
+ public boolean idleTimeoutKick = true;
|
||||
+ public boolean idleTimeoutTickNearbyEntities = true;
|
||||
+ public boolean idleTimeoutCountAsSleeping = false;
|
||||
+ public boolean idleTimeoutUpdateTabList = false;
|
||||
+ public boolean idleTimeoutTargetPlayer = true;
|
||||
+ private void playerSettings() {
|
||||
+ if (PurpurConfig.version < 19) {
|
||||
+ boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
+ set("gameplay-mechanics.player.idle-timeout.mods-target", null);
|
||||
+ set("gameplay-mechanics.player.idle-timeout.mobs-target", oldVal);
|
||||
+ }
|
||||
+ idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
|
||||
+ idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
|
||||
+ idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
+ idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
+ idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
+ }
|
||||
+
|
||||
public boolean babiesAreRidable = true;
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b14d0dca91 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -304,6 +254,56 @@ index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b1
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index c961e81a0e8bc7360f8ef7235c576e6629b67b49..fde15dee7633bad9582fe5d26eee0badf17477cd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -158,8 +158,16 @@ public class PurpurConfig {
|
||||
}
|
||||
|
||||
public static String cannotRideMob = "<red>You cannot mount that mob";
|
||||
+ public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
+ public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
+ public static String afkTabListPrefix = "[AFK] ";
|
||||
+ public static String afkTabListSuffix = "";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
+ afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
+ afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
}
|
||||
|
||||
private static void timingsSettings() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index aa9a7f5cbc5d20192455d0f241a0703f46404ed8..95fd221fab18105fdf3082b48b9cbcc947089a03 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -94,6 +94,24 @@ public class PurpurWorldConfig {
|
||||
return value.isEmpty() ? fallback : value;
|
||||
}
|
||||
|
||||
+ public boolean idleTimeoutKick = true;
|
||||
+ public boolean idleTimeoutTickNearbyEntities = true;
|
||||
+ public boolean idleTimeoutCountAsSleeping = false;
|
||||
+ public boolean idleTimeoutUpdateTabList = false;
|
||||
+ public boolean idleTimeoutTargetPlayer = true;
|
||||
+ private void playerSettings() {
|
||||
+ if (PurpurConfig.version < 19) {
|
||||
+ boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
+ set("gameplay-mechanics.player.idle-timeout.mods-target", null);
|
||||
+ set("gameplay-mechanics.player.idle-timeout.mobs-target", oldVal);
|
||||
+ }
|
||||
+ idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
|
||||
+ idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
|
||||
+ idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
+ idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
+ idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
+ }
|
||||
+
|
||||
public boolean babiesAreRidable = true;
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 72400204fbeea41e4af8d3a0d5eef6f2e75e7518..7e1bc869299cd2f382f05bb814946e6841cc845e 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 5072cb76e0793ee6c47800628daa65906bde8577..e140e58b9444573089cda145c7957a2df0b2bd75 100644
|
||||
index 433953fb505b1bfaf18e9afdcfa9577a6f18655c..a6b5a8ff4f72404b69cf08a485632db23967e801 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1709,7 +1709,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -13,12 +13,12 @@ index 5072cb76e0793ee6c47800628daa65906bde8577..e140e58b9444573089cda145c7957a2d
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return net.pl3x.purpur.PurpurConfig.serverModName; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return org.purpurmc.purpur.PurpurConfig.serverModName; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7f572658706fdc3009490bd54c2393f7685c7de7..bc5f937e7480d954680c7b9f1d698aff3e28665d 100644
|
||||
index fde15dee7633bad9582fe5d26eee0badf17477cd..c428c332cbb9f632b36bc4b6bf7d0767a16e350a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -170,6 +170,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index b5a307f00f92a640b13c60f6ebee204223c0d9e2..0471827e17e93f3e579290a0100d3236d95fe7f1 100644
|
||||
index a6b5a8ff4f72404b69cf08a485632db23967e801..358dcf61cd5f27c77709d175b15e84338858c739 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -303,6 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -20,12 +20,27 @@ index b5a307f00f92a640b13c60f6ebee204223c0d9e2..0471827e17e93f3e579290a0100d3236
|
||||
this.recentTps[1] = tps5.getAverage();
|
||||
this.recentTps[2] = tps15.getAverage();
|
||||
// Paper end
|
||||
+ lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
+ lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 372f1603b99e06a26b574454493a0ded7134a7f9..6fd8eae4b5a01545bda4624860112ce8b7ef18b9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2724,5 +2724,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isLagging() {
|
||||
+ return getServer().lagging;
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index bc5f937e7480d954680c7b9f1d698aff3e28665d..c0e7027ad804d7b801ef8cb94963c113c95735d1 100644
|
||||
index c428c332cbb9f632b36bc4b6bf7d0767a16e350a..d2b9245a27f62987eb3c073300218020c58361d3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -188,6 +188,11 @@ public class PurpurConfig {
|
||||
@@ -40,18 +55,3 @@ index bc5f937e7480d954680c7b9f1d698aff3e28665d..c0e7027ad804d7b801ef8cb94963c113
|
||||
public static int barrelRows = 3;
|
||||
public static boolean enderChestSixRows = false;
|
||||
public static boolean enderChestPermissionRows = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index fcfaa50e482ff1a5cc521e68dcfd3631fa87b274..8a15ed616f10d822dd6c0a144fad084df21c14d1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2724,5 +2724,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isLagging() {
|
||||
+ return getServer().lagging;
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ index 419a7e9614af2328ed401fc954196056243a984c..3177e4f0af6ec4dd22c7e809d23f3711
|
||||
if (this.descriptionId == null) {
|
||||
this.descriptionId = Util.makeDescriptionId("entity", Registry.ENTITY_TYPE.getKey(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
index 3d9daa9e2c35d7fd277bde37cd5d1bfc9362d2ee..f67c4a4e4ea5eab54b2fb7740711f158adddf63a 100644
|
||||
index 3d9daa9e2c35d7fd277bde37cd5d1bfc9362d2ee..738120a3ec05cfa927b2a9d5d51b98b98ba42a0d 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
@@ -68,6 +68,15 @@ public class SpawnEggItem extends Item {
|
||||
@@ -52,7 +52,7 @@ index 3d9daa9e2c35d7fd277bde37cd5d1bfc9362d2ee..f67c4a4e4ea5eab54b2fb7740711f158
|
||||
|
||||
+ // Purpur start
|
||||
+ org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
||||
+ net.pl3x.purpur.event.PlayerSetSpawnerTypeWithEggEvent event = new net.pl3x.purpur.event.PlayerSetSpawnerTypeWithEggEvent((org.bukkit.entity.Player) context.getPlayer().getBukkitEntity(), bukkitBlock, (org.bukkit.block.CreatureSpawner) bukkitBlock.getState(), org.bukkit.entity.EntityType.fromName(entitytypes.getName()));
|
||||
+ org.purpurmc.purpur.event.PlayerSetSpawnerTypeWithEggEvent event = new org.purpurmc.purpur.event.PlayerSetSpawnerTypeWithEggEvent((org.bukkit.entity.Player) context.getPlayer().getBukkitEntity(), bukkitBlock, (org.bukkit.block.CreatureSpawner) bukkitBlock.getState(), org.bukkit.entity.EntityType.fromName(entitytypes.getName()));
|
||||
+ if (!event.callEvent()) {
|
||||
+ return InteractionResult.FAIL;
|
||||
+ }
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..d143282263dd371cc3128a42da8a43ffab7d3f40 100644
|
||||
index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..4236c9dfa0be6fa8ad2f3e32d7f65f1b722c4e60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -333,13 +333,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -47,7 +47,7 @@ index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..d143282263dd371cc3128a42da8a43ff
|
||||
|
||||
+ // Purpur start
|
||||
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && stack != null && t0 != null) {
|
||||
+ final net.pl3x.purpur.event.entity.MonsterEggSpawnEvent event = new net.pl3x.purpur.event.entity.MonsterEggSpawnEvent(entityhuman != null ? entityhuman.getBukkitEntity() : null, t0.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack));
|
||||
+ final org.purpurmc.purpur.event.entity.MonsterEggSpawnEvent event = new org.purpurmc.purpur.event.entity.MonsterEggSpawnEvent(entityhuman != null ? entityhuman.getBukkitEntity() : null, t0.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack));
|
||||
+ if (!event.callEvent()) {
|
||||
+ t0.setRemoved(Entity.RemovalReason.DISCARDED);
|
||||
+ return null;
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index e29c9e10e98f2333ad38fd7d957d8a36304f3cba..52fd2d08783bbba4c262bb297a31b373b3bcfacc 100644
|
||||
index 8b904d31dda1bfe1b396126376e2f2020b1b0ab1..2fa918425d007252b3409732ef5868eea8eae4d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -255,6 +255,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -120,28 +120,6 @@ index 48e78e76d23cc6aff00a1526d53581deebec4c1d..fe1ad78a41d01feaf64b64d0b8585e23
|
||||
// CraftBukkit end
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 996171e7271e62e72c0b2b213c21caf53c815e97..8e9ba3a8582c8e5d1e14bf3bfa8ecfce5ccf7b0c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,6 +99,8 @@ public class PurpurWorldConfig {
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
public boolean idleTimeoutUpdateTabList = false;
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
+ public int playerSpawnInvulnerableTicks = 60;
|
||||
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -110,6 +112,8 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
|
||||
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||
}
|
||||
|
||||
public boolean babiesAreRidable = true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3e898377b259eb9176772b70a4f3a1b14d0dca91..2069a834aaab46486025285b97dbb56d30e506a8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -167,3 +145,25 @@ index 3e898377b259eb9176772b70a4f3a1b14d0dca91..2069a834aaab46486025285b97dbb56d
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 95fd221fab18105fdf3082b48b9cbcc947089a03..c97b56182233da2e366d092ae60c6a56e09e6e6d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,6 +99,8 @@ public class PurpurWorldConfig {
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
public boolean idleTimeoutUpdateTabList = false;
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
+ public int playerSpawnInvulnerableTicks = 60;
|
||||
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -110,6 +112,8 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
|
||||
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||
}
|
||||
|
||||
public boolean babiesAreRidable = true;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index 073cec4838b88bf4e7444321a74ab73fff732486..3751ce065a38cb55b0800f000e33b2b32c7e0f5d 100644
|
||||
index 073cec4838b88bf4e7444321a74ab73fff732486..3314cb81d4d5ce9c1d5472e1213b6bcc1c688b9c 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -2,7 +2,11 @@ package net.minecraft.world.inventory;
|
||||
@@ -39,7 +39,7 @@ index 073cec4838b88bf4e7444321a74ab73fff732486..3751ce065a38cb55b0800f000e33b2b3
|
||||
|
||||
@Override
|
||||
protected void onTake(Player player, ItemStack stack) {
|
||||
+ if (net.pl3x.purpur.event.inventory.AnvilTakeResultEvent.getHandlerList().getRegisteredListeners().length > 0) new net.pl3x.purpur.event.inventory.AnvilTakeResultEvent(player.getBukkitEntity(), getBukkitView(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack)).callEvent(); // Purpur
|
||||
+ if (org.purpurmc.purpur.event.inventory.AnvilTakeResultEvent.getHandlerList().getRegisteredListeners().length > 0) new org.purpurmc.purpur.event.inventory.AnvilTakeResultEvent(player.getBukkitEntity(), getBukkitView(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack)).callEvent(); // Purpur
|
||||
if (!player.getAbilities().instabuild) {
|
||||
+ if (bypassCost) ((ServerPlayer) player).lastSentExp = -1; else // Purpur
|
||||
player.giveExperienceLevels(-this.cost.get());
|
||||
@@ -52,7 +52,7 @@ index 073cec4838b88bf4e7444321a74ab73fff732486..3751ce065a38cb55b0800f000e33b2b3
|
||||
+ // Purpur start
|
||||
+ bypassCost = false;
|
||||
+ canDoUnsafeEnchants = false;
|
||||
+ if (net.pl3x.purpur.event.inventory.AnvilUpdateResultEvent.getHandlerList().getRegisteredListeners().length > 0) new net.pl3x.purpur.event.inventory.AnvilUpdateResultEvent(getBukkitView()).callEvent();
|
||||
+ if (org.purpurmc.purpur.event.inventory.AnvilUpdateResultEvent.getHandlerList().getRegisteredListeners().length > 0) new org.purpurmc.purpur.event.inventory.AnvilUpdateResultEvent(getBukkitView()).callEvent();
|
||||
+ // Purpur end
|
||||
+
|
||||
ItemStack itemstack = this.inputSlots.getItem(0);
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 621f0f75096c89bd050f7e0ede8abcb15536ce70..bb0f8dbc0746283ff7670dee24dd932254aeec0d 100644
|
||||
index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11ccc37803 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -21,7 +21,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..bb0f8dbc0746283ff7670dee24dd9322
|
||||
long elapsedTime = currentTime - this.keepAliveTime;
|
||||
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ if (elapsedTime >= 1000L) { // 1 second
|
||||
+ if (!processedDisconnect && keepAlives.size() > KEEPALIVE_LIMIT) {
|
||||
+ LOGGER.warn("{} was kicked due to keepalive timeout!", player.getName());
|
||||
@@ -43,7 +43,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..bb0f8dbc0746283ff7670dee24dd9322
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ long id = packet.getId();
|
||||
+ if (keepAlives.size() > 0 && keepAlives.contains(id)) {
|
||||
+ int ping = (int) (Util.getMillis() - id);
|
||||
@@ -56,7 +56,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..bb0f8dbc0746283ff7670dee24dd9322
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
int i = (int) (Util.getMillis() - this.keepAliveTime);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index c0e7027ad804d7b801ef8cb94963c113c95735d1..4b6bb477db0af506508e73dd42155429777b49d0 100644
|
||||
index d2b9245a27f62987eb3c073300218020c58361d3..c8e5db9086c618b97e1712777dcbb7f2e798ca2d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -193,6 +193,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -17,7 +17,7 @@ index f763a3ea5796737304e0c1f41349622e1d7adadf..26c5c3c6e7c51ad6ccc9bac05e2af497
|
||||
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..68321b5e425c0500a5691f80203176122cc1bff4 100644
|
||||
index 20444c6887cbdd444b23bf018a6d63f22359e5e7..85329295afacad3edb6865846166aa56ebae0ed2 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -258,7 +258,7 @@ public class Items {
|
||||
@@ -25,7 +25,7 @@ index 20444c6887cbdd444b23bf018a6d63f22359e5e7..68321b5e425c0500a5691f8020317612
|
||||
public static final Item PURPUR_PILLAR = registerBlock(Blocks.PURPUR_PILLAR, CreativeModeTab.TAB_BUILDING_BLOCKS);
|
||||
public static final Item PURPUR_STAIRS = registerBlock(Blocks.PURPUR_STAIRS, CreativeModeTab.TAB_BUILDING_BLOCKS);
|
||||
- public static final Item SPAWNER = registerBlock(new BlockItem(Blocks.SPAWNER, (new Item.Properties()).rarity(Rarity.EPIC)));
|
||||
+ public static final Item SPAWNER = registerBlock(Blocks.SPAWNER, new net.pl3x.purpur.item.SpawnerItem(Blocks.SPAWNER, new Item.Properties().rarity(Rarity.EPIC))); // Purpur
|
||||
+ public static final Item SPAWNER = registerBlock(Blocks.SPAWNER, new org.purpurmc.purpur.item.SpawnerItem(Blocks.SPAWNER, new Item.Properties().rarity(Rarity.EPIC))); // Purpur
|
||||
public static final Item OAK_STAIRS = registerBlock(Blocks.OAK_STAIRS, CreativeModeTab.TAB_BUILDING_BLOCKS);
|
||||
public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS);
|
||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS);
|
||||
@@ -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 6df320ab8214669517d5de30a28f044a5a6b4a33..8920b47610a323ceb6b19a05b7592d8acf809bc4 100644
|
||||
index 65d6e1b08862d4760d4fdf5838e60f8b9c755de9..d4602c11c149836974bb3722a00547f3908b0529 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 {
|
||||
@@ -183,11 +183,11 @@ index 6df320ab8214669517d5de30a28f044a5a6b4a33..8920b47610a323ceb6b19a05b7592d8a
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java b/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..728da3d75ec957ee789f9625483565e38649acd5
|
||||
index 0000000000000000000000000000000000000000..ede5c1855e799d250ed47eabff36291a636aa729
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java
|
||||
@@ -0,0 +1,36 @@
|
||||
+package net.pl3x.purpur.item;
|
||||
+package org.purpurmc.purpur.item;
|
||||
+
|
||||
+import net.minecraft.core.BlockPos;
|
||||
+import net.minecraft.nbt.CompoundTag;
|
||||
|
||||
@@ -5,31 +5,43 @@ 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
|
||||
index f7959fe8d5247504dd79a18010470d98781c7cfe..945fb3200d52b83eaee2e62d6db5c43e088218eb 100644
|
||||
index f7959fe8d5247504dd79a18010470d98781c7cfe..6f5b7650d45958284f7b5c675c1e32d4b7738494 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
@@ -186,6 +186,7 @@ public class PlayerAdvancements {
|
||||
if (advancement == null) {
|
||||
// CraftBukkit start
|
||||
if (entry.getKey().getNamespace().equals("minecraft")) {
|
||||
+ if (!net.pl3x.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);
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/stats/ServerRecipeBook.java b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
index ecdac349efbea9e05ac66200c5d0f0385ad1349b..749f3cda15d1f9a0b0c73fa9eda9e58fb285de73 100644
|
||||
index ecdac349efbea9e05ac66200c5d0f0385ad1349b..17c18d90f23477e31f98edf889b8b64b4b066fbf 100644
|
||||
--- a/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
+++ b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
@@ -122,6 +122,7 @@ public class ServerRecipeBook extends RecipeBook {
|
||||
Optional<? extends Recipe<?>> optional = recipeManager.byKey(minecraftkey);
|
||||
|
||||
if (!optional.isPresent()) {
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.loggerSuppressUnrecognizedRecipeErrors) // Purpur
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressUnrecognizedRecipeErrors) // Purpur
|
||||
ServerRecipeBook.LOGGER.error("Tried to load unrecognized recipe: {} removed now.", minecraftkey);
|
||||
} else {
|
||||
handler.accept((Recipe) optional.get());
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..14600a7bc01bf61e8ffb736816d23df6aa794a16 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
@@ -255,6 +255,7 @@ public final class CraftLegacy {
|
||||
}
|
||||
|
||||
static {
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressInitLegacyMaterialError) // Purpur
|
||||
System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!");
|
||||
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
|
||||
new Exception().printStackTrace();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 4b6bb477db0af506508e73dd42155429777b49d0..7f08a6a0e92300825ca90aeb55379a07474b76e5 100644
|
||||
index c8e5db9086c618b97e1712777dcbb7f2e798ca2d..cb3772bf3ccf33b1111aac18d82194f04a767dfd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -232,4 +232,13 @@ public class PurpurConfig {
|
||||
@@ -46,15 +58,3 @@ index 4b6bb477db0af506508e73dd42155429777b49d0..7f08a6a0e92300825ca90aeb55379a07
|
||||
+ loggerSuppressUnrecognizedRecipeErrors = getBoolean("settings.logger.suppress-unrecognized-recipe-errors", loggerSuppressUnrecognizedRecipeErrors);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
index b2a15c986c7500a0ce227a54cb61ec3f5378f6f3..6d5f030b678dbc86dceddcbb050b4aaed4102c50 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
@@ -255,6 +255,7 @@ public final class CraftLegacy {
|
||||
}
|
||||
|
||||
static {
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.loggerSuppressInitLegacyMaterialError) // Purpur
|
||||
System.err.println("Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!");
|
||||
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
|
||||
new Exception().printStackTrace();
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f683e8b04ec 100644
|
||||
index d1756353b9fc22f6e9b957a708073545ab3c941a..de7c2064b2c3876eebdee01908b39b1beb9701b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
@@ -1,13 +1,36 @@
|
||||
@@ -51,8 +51,8 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68
|
||||
|
||||
- @Override
|
||||
- protected void registerGoals() {
|
||||
- this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
- this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
- this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
- this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
@@ -66,14 +66,14 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68
|
||||
+ protected void registerGoals() {
|
||||
+ if (level.purpurConfig.giantHaveAI) {
|
||||
+ this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
+ this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
+ this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 16.0F));
|
||||
+ this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
+ this.goalSelector.addGoal(5, new MoveTowardsRestrictionGoal(this, 1.0D));
|
||||
+ if (level.purpurConfig.giantHaveHostileAI) {
|
||||
+ this.goalSelector.addGoal(2, new MeleeAttackGoal(this, 1.0D, false));
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
+ this.targetSelector.addGoal(1, new HurtByTargetGoal(this).setAlertOthers(ZombifiedPiglin.class));
|
||||
+ this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
+ this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Villager.class, false));
|
||||
@@ -120,7 +120,7 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5b82c82da88f95190f8d7dc1f635fd27c8b513df..01c33f5021905736b05fc33c268e42e4e82c2863 100644
|
||||
index 1c59c85b700fd2fd69e0c225b517836f771c6ec7..9fa6291c047f3a460f6b04244eccb21481f36ee5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -468,6 +468,10 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 36f6d2b2f074eb49187a2d0badbf2bedde8a6935..5dc981130464027f9af02f1d10ec80441c4cc050 100644
|
||||
index 69e495a93cd1519297dcd8ef4971cca61b80f201..0b5d4416ad4dc0a90cbd1826c45c47412d2e85ed 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -94,6 +94,27 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -46,7 +46,7 @@ index 36f6d2b2f074eb49187a2d0badbf2bedde8a6935..5dc981130464027f9af02f1d10ec8044
|
||||
|
||||
@Override
|
||||
@@ -113,6 +134,12 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal());
|
||||
this.goalSelector.addGoal(1, new PolarBear.PolarBearPanicGoal());
|
||||
+ // Purpur start
|
||||
@@ -59,7 +59,7 @@ index 36f6d2b2f074eb49187a2d0badbf2bedde8a6935..5dc981130464027f9af02f1d10ec8044
|
||||
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
||||
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
|
||||
index b14853de709d9d083e2c349f398d81f629ebf6eb..241ba6a10eda5bf97adb09cc2ae423da6036d55f 100644
|
||||
index 6b73704baec9d8c56d18dd4864811c9baaf655a3..8e630772adf6753371134bee1edf78770ce1af89 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -820,6 +820,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index e549add41f986f9eab68f148865a4170f732c814..7fd330c77159dc21d5170b386d27128fe03eea1e 100644
|
||||
index 419a774733ac3d562e636f2615005c953bbd87df..ca584a5a801d0909f4bdbaa8a635608ee49d096e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -66,6 +66,9 @@ public class Chicken extends Animal {
|
||||
@@ -21,7 +21,7 @@ index e549add41f986f9eab68f148865a4170f732c814..7fd330c77159dc21d5170b386d27128f
|
||||
@@ -73,13 +76,21 @@ public class Chicken extends Animal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
- this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D));
|
||||
+ // this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D)); // Purpur - moved down
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
@@ -51,7 +51,7 @@ index e549add41f986f9eab68f148865a4170f732c814..7fd330c77159dc21d5170b386d27128f
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 241ba6a10eda5bf97adb09cc2ae423da6036d55f..8692ca2751ba6ed6ad989843261b13d2eeba669e 100644
|
||||
index 8e630772adf6753371134bee1edf78770ce1af89..8f0c44bf14aa73816825bbfac698406745b747d8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -250,6 +250,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 8b9c7c2292afed5928b262dad4d825473d400880..d2d971f3a135c9bebbda618eb5a0d4a4f81ca221 100644
|
||||
index d602597132b69c51c6da9115d0a2c9a8a1f39405..0db4dd5423508acb5214ed3205bb5632cd337e05 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -1,6 +1,7 @@
|
||||
@@ -25,7 +25,7 @@ index 8b9c7c2292afed5928b262dad4d825473d400880..d2d971f3a135c9bebbda618eb5a0d4a4
|
||||
// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
@@ -63,6 +65,7 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
+ if (level.purpurConfig.cowFeedMushrooms > 0) this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT, Blocks.RED_MUSHROOM.asItem(), Blocks.BROWN_MUSHROOM.asItem()), false)); else // Purpur
|
||||
@@ -114,7 +114,7 @@ index 8b9c7c2292afed5928b262dad4d825473d400880..d2d971f3a135c9bebbda618eb5a0d4a4
|
||||
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
return (Cow) EntityType.COW.create(world);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 8f7e7007633ee30f3f943d583623c122d5bc7de3..c5124c7beff61ea1a60db0b0e14f99f3302831b9 100644
|
||||
index 2074ab8e186b3b534ee0d073f3d12a50626ac76b..68a5373dab6edce4104be6c141ad4c1095823255 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -289,6 +289,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable TPS Catchup
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 0471827e17e93f3e579290a0100d3236d95fe7f1..fd32c276207100c1c52677a109764037e277316a 100644
|
||||
index 358dcf61cd5f27c77709d175b15e84338858c739..f8668a3664d8feb7cae7c037e0f265253ed76313 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1265,7 +1265,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -14,7 +14,7 @@ index 0471827e17e93f3e579290a0100d3236d95fe7f1..fd32c276207100c1c52677a109764037
|
||||
this.mayHaveDelayedTasks = true;
|
||||
- this.delayedTasksMaxNextTickTime = Math.max(Util.getMillis() + 50L, this.nextTickTime);
|
||||
+ // Purpur start - tps catchup
|
||||
+ if (net.pl3x.purpur.PurpurConfig.tpsCatchup) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.tpsCatchup) {
|
||||
+ this.delayedTasksMaxNextTickTime = Math.max(Util.getMillis() + 50L, this.nextTickTime);
|
||||
+ } else {
|
||||
+ this.delayedTasksMaxNextTickTime = this.nextTickTime = curTime / 1000000L + 50L;
|
||||
@@ -24,7 +24,7 @@ index 0471827e17e93f3e579290a0100d3236d95fe7f1..fd32c276207100c1c52677a109764037
|
||||
this.profiler.pop();
|
||||
this.endMetricsRecordingTick();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7f08a6a0e92300825ca90aeb55379a07474b76e5..ae15754986ea4367ccc5853cc10b1c8040bda1fb 100644
|
||||
index cb3772bf3ccf33b1111aac18d82194f04a767dfd..a4c61fe79d3d94d8659c9861a7788d962f743bb2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -241,4 +241,9 @@ public class PurpurConfig {
|
||||
|
||||
@@ -30,13 +30,13 @@ index ce0364b98204b64d43751fed260dcc1d9fe60649..8139fe28b5c178635ab405def3229060
|
||||
// CraftBukkit start
|
||||
private CraftMerchant craftMerchant;
|
||||
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 4c20685b3d8735272f9f97a75485a6438cef6501..4849d347677a689de1da276c604daeece78a437d 100644
|
||||
index 5d0ea8b69c0f66a826d584ee3b4cc97dc63c42d6..0773d2c1c06f08f196bc727d9b94549cdd9bac63 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -167,6 +167,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
+ if (level.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, TEMPT_ITEMS, false));
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ index 0bcfece84ac11f04671ed38a99b31da9f8b03858..2f0bcf917af26fb7628bda134b650a8b
|
||||
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ea072b32e1c92424d6e1cee5a92c86e460e11c5d..eeb678ce1922d5e8fe8745ffcbfaefd82b93eeaa 100644
|
||||
index a794258e058c2678da5f208ca0ca99f58193bb90..b8d5aca82ab89e39d6e9028f700d483af0b4aff5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1246,6 +1246,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
||||
setListData(vector);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index fd32c276207100c1c52677a109764037e277316a..947f27ba75b3a139f6e493f24a10483f40f3a6b9 100644
|
||||
index f8668a3664d8feb7cae7c037e0f265253ed76313..bacc37f3478ea45f840fffcb72284c2908b8dcf7 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -66,10 +66,10 @@ index fd32c276207100c1c52677a109764037e277316a..947f27ba75b3a139f6e493f24a10483f
|
||||
+ this.recentTps[3] = tps15.getAverage();
|
||||
+ // Purpur end
|
||||
// Paper end
|
||||
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 8a15ed616f10d822dd6c0a144fad084df21c14d1..0229efbb9b8838fc1228d171b19fa057aec27c2c 100644
|
||||
index 6fd8eae4b5a01545bda4624860112ce8b7ef18b9..2462f582bc539162e594ac66be1bae83c8436197 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2506,6 +2506,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -93,10 +93,61 @@ 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
|
||||
--- 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 {
|
||||
public EntityType getType() {
|
||||
return EntityType.DROPPED_ITEM;
|
||||
}
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public void setImmuneToCactus(boolean immuneToCactus) {
|
||||
+ item.immuneToCactus = immuneToCactus;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToCactus() {
|
||||
+ return item.immuneToCactus;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToExplosion(boolean immuneToExplosion) {
|
||||
+ item.immuneToExplosion = immuneToExplosion;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToExplosion() {
|
||||
+ return item.immuneToExplosion;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToFire(boolean immuneToFire) {
|
||||
+ item.immuneToFire = immuneToFire;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToFire() {
|
||||
+ return item.immuneToFire;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToLightning(boolean immuneToLightning) {
|
||||
+ item.immuneToLightning = immuneToLightning;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToLightning() {
|
||||
+ return item.immuneToLightning;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3163d930237291d4a80e5b36e15b4880e3933a4e..1e0896ed38cf0d861f25d23c6ebe6a0be4742132 100644
|
||||
index 95b42ca5b54a45715f19e36492c9f86cf30ff8eb..f17126997ff22261e10d8ad3b2adc0451658e432 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -112,6 +112,49 @@ public class PurpurWorldConfig {
|
||||
@@ -149,54 +200,3 @@ index 3163d930237291d4a80e5b36e15b4880e3933a4e..1e0896ed38cf0d861f25d23c6ebe6a0b
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
public boolean minecartPlaceAnywhere = false;
|
||||
public boolean minecartControllable = false;
|
||||
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
|
||||
--- 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 {
|
||||
public EntityType getType() {
|
||||
return EntityType.DROPPED_ITEM;
|
||||
}
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public void setImmuneToCactus(boolean immuneToCactus) {
|
||||
+ item.immuneToCactus = immuneToCactus;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToCactus() {
|
||||
+ return item.immuneToCactus;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToExplosion(boolean immuneToExplosion) {
|
||||
+ item.immuneToExplosion = immuneToExplosion;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToExplosion() {
|
||||
+ return item.immuneToExplosion;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToFire(boolean immuneToFire) {
|
||||
+ item.immuneToFire = immuneToFire;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToFire() {
|
||||
+ return item.immuneToFire;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setImmuneToLightning(boolean immuneToLightning) {
|
||||
+ item.immuneToLightning = immuneToLightning;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isImmuneToLightning() {
|
||||
+ return item.immuneToLightning;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Add ping command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 2474594f165aff55d4a08ccf0a602203cc908f65..2778f58a9b506247cbf9abe2b5fe9ab0f84502de 100644
|
||||
index 2474594f165aff55d4a08ccf0a602203cc908f65..ae0fe6f7ed45f38fab0fe427d7a65173a825b465 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -205,6 +205,7 @@ public class Commands {
|
||||
SetPlayerIdleTimeoutCommand.register(this.dispatcher);
|
||||
StopCommand.register(this.dispatcher);
|
||||
WhitelistCommand.register(this.dispatcher);
|
||||
+ net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index ae15754986ea4367ccc5853cc10b1c8040bda1fb..b1ff36e0e39ff3e44ae7d71bbea10defd0ee4435 100644
|
||||
index a4c61fe79d3d94d8659c9861a7788d962f743bb2..c866bce11114b98429f663d9bafa1522ed7ed7e3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -162,12 +162,14 @@ public class PurpurConfig {
|
||||
@@ -37,18 +37,18 @@ index ae15754986ea4367ccc5853cc10b1c8040bda1fb..b1ff36e0e39ff3e44ae7d71bbea10def
|
||||
public static String serverModName = "Purpur";
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/PingCommand.java b/src/main/java/org/purpurmc/purpur/command/PingCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..6de4f71aa5d501f3f5da93cd631da654a6e264e0
|
||||
index 0000000000000000000000000000000000000000..b7c57e812451320da5c97008dd36f74856fec7c8
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/PingCommand.java
|
||||
@@ -0,0 +1,32 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
+import net.minecraft.commands.Commands;
|
||||
+import net.minecraft.commands.arguments.EntityArgument;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
||||
+
|
||||
+import java.util.Collection;
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Add demo command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 2778f58a9b506247cbf9abe2b5fe9ab0f84502de..eaa24bd6147f161e0a00df91a2375d7f259ce0d2 100644
|
||||
index ae0fe6f7ed45f38fab0fe427d7a65173a825b465..1c46781ad2ce2042ded7dc69806d65cc0d0a2047 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -205,6 +205,7 @@ public class Commands {
|
||||
SetPlayerIdleTimeoutCommand.register(this.dispatcher);
|
||||
StopCommand.register(this.dispatcher);
|
||||
WhitelistCommand.register(this.dispatcher);
|
||||
+ net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index b1ff36e0e39ff3e44ae7d71bbea10defd0ee4435..1e1784d181d07fe4927817dcee71970141b436be 100644
|
||||
index c866bce11114b98429f663d9bafa1522ed7ed7e3..46ac9fd96ab11a6f1ed0af97beded2eb0e2feab9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -162,6 +162,7 @@ public class PurpurConfig {
|
||||
@@ -38,11 +38,11 @@ index b1ff36e0e39ff3e44ae7d71bbea10defd0ee4435..1e1784d181d07fe4927817dcee719701
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/DemoCommand.java b/src/main/java/org/purpurmc/purpur/command/DemoCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..63686e55d169a81c0c225f8dfb47973075c1e491
|
||||
index 0000000000000000000000000000000000000000..83b3d1fb934d417702fc280e679f88d80f63cff2
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/DemoCommand.java
|
||||
@@ -0,0 +1,34 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
@@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..63686e55d169a81c0c225f8dfb479730
|
||||
+import net.minecraft.commands.arguments.EntityArgument;
|
||||
+import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+
|
||||
+import java.util.Collection;
|
||||
+import java.util.Collections;
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Add credits command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index eaa24bd6147f161e0a00df91a2375d7f259ce0d2..d054bee8c7c6f6bf608252f21b2f5192b59c086c 100644
|
||||
index 1c46781ad2ce2042ded7dc69806d65cc0d0a2047..be6009edf26ee468980e7d0f33b989f0121f3011 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -205,6 +205,7 @@ public class Commands {
|
||||
SetPlayerIdleTimeoutCommand.register(this.dispatcher);
|
||||
StopCommand.register(this.dispatcher);
|
||||
WhitelistCommand.register(this.dispatcher);
|
||||
+ net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 1e1784d181d07fe4927817dcee71970141b436be..e236b8b64c867dab2b3d45df129df0260af4fccc 100644
|
||||
index 46ac9fd96ab11a6f1ed0af97beded2eb0e2feab9..facf2b59f7f9a81b34ed736aca2e7494ef37a47a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -162,6 +162,7 @@ public class PurpurConfig {
|
||||
@@ -38,11 +38,11 @@ index 1e1784d181d07fe4927817dcee71970141b436be..e236b8b64c867dab2b3d45df129df026
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java b/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..282be3e0e0cb3137829a88bd40fa18772dc344c2
|
||||
index 0000000000000000000000000000000000000000..d7e8ee9f575b002a333afbd3c675be4694bec2c7
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java
|
||||
@@ -0,0 +1,35 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
@@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..282be3e0e0cb3137829a88bd40fa1877
|
||||
+import net.minecraft.commands.arguments.EntityArgument;
|
||||
+import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+
|
||||
+import java.util.Collection;
|
||||
+import java.util.Collections;
|
||||
|
||||
@@ -73,7 +73,7 @@ index d8c4f36ae0e65c6d0398fac80c93b78646bdf6a4..f8863cabad1bd0c3c2c62b8e17612d95
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag nbt) {
|
||||
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 7e0affe953585b19686bb21b31a6a2b9534aba10..b651ff470853c1c6af2f2c56848a002b066802f5 100644
|
||||
index f4da51e75b3f8772f0d3de17ef4699845a08fdd1..5dc5bddfce5b46fd065fd14112febc415e19860c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -113,13 +113,13 @@ index 7e0affe953585b19686bb21b31a6a2b9534aba10..b651ff470853c1c6af2f2c56848a002b
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
- this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
- this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
- this.goalSelector.addGoal(1, new Phantom.PhantomAttackStrategyGoal());
|
||||
- this.goalSelector.addGoal(2, new Phantom.PhantomSweepAttackGoal());
|
||||
- this.goalSelector.addGoal(3, new Phantom.PhantomCircleAroundAnchorGoal());
|
||||
- this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
- this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ // Purpur start
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
+ if (level.purpurConfig.phantomOrbitCrystalRadius > 0) {
|
||||
+ this.goalSelector.addGoal(1, new FindCrystalGoal(this));
|
||||
+ this.goalSelector.addGoal(2, new OrbitCrystalGoal(this));
|
||||
@@ -127,7 +127,7 @@ index 7e0affe953585b19686bb21b31a6a2b9534aba10..b651ff470853c1c6af2f2c56848a002b
|
||||
+ this.goalSelector.addGoal(3, new Phantom.PhantomAttackStrategyGoal());
|
||||
+ this.goalSelector.addGoal(4, new Phantom.PhantomSweepAttackGoal());
|
||||
+ this.goalSelector.addGoal(5, new Phantom.PhantomCircleAroundAnchorGoal());
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
|
||||
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
+ // Purpur end
|
||||
this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal());
|
||||
}
|
||||
@@ -254,11 +254,11 @@ index 7e0affe953585b19686bb21b31a6a2b9534aba10..b651ff470853c1c6af2f2c56848a002b
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
private class PhantomMoveControl extends net.pl3x.purpur.controller.FlyingMoveControllerWASD { // Purpur
|
||||
private class PhantomMoveControl extends org.purpurmc.purpur.controller.FlyingMoveControllerWASD { // Purpur
|
||||
|
||||
private float speed = 0.1F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ccf64226afaf2242be106935ae57ab88450ae0ec..3e5bfd0acdc99c6fcf929d3b244080a4c9df99d4 100644
|
||||
index f36ca8f93e32465e71ea00279822e3bedd1d83b9..573618eb60041dd65aae55fea8f20ced109ba9ad 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -951,6 +951,9 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add allow water in end world option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java
|
||||
index b5a5c56fbb66c17dd2e2d1f4d69d2b1826cd4951..c6a141f220ac2405a3f93ba6100b4bf3d9e46482 100644
|
||||
index b5a5c56fbb66c17dd2e2d1f4d69d2b1826cd4951..9805132a1b11d62c3491c178fbed8b6ac38a2d1f 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BucketItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BucketItem.java
|
||||
@@ -168,7 +168,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
|
||||
@@ -13,7 +13,7 @@ index b5a5c56fbb66c17dd2e2d1f4d69d2b1826cd4951..c6a141f220ac2405a3f93ba6100b4bf3
|
||||
if (!flag1) {
|
||||
return movingobjectpositionblock != null && this.emptyContents(entityhuman, world, movingobjectpositionblock.getBlockPos().relative(movingobjectpositionblock.getDirection()), (BlockHitResult) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper
|
||||
- } else if (world.dimensionType().ultraWarm() && this.content.is(FluidTags.WATER)) {
|
||||
+ } else if ((world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) && this.content.is(FluidTags.WATER)) { // Purpur
|
||||
+ } else if ((world.isNether() || (world.isTheEnd() && !org.purpurmc.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) && this.content.is(FluidTags.WATER)) { // Purpur
|
||||
int i = blockposition.getX();
|
||||
int j = blockposition.getY();
|
||||
int k = blockposition.getZ();
|
||||
@@ -27,7 +27,7 @@ index b5a5c56fbb66c17dd2e2d1f4d69d2b1826cd4951..c6a141f220ac2405a3f93ba6100b4bf3
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 476c60176f10ad656c6c0676f8d43f7ae8104430..468a2cc47734bf7a406ab833ce145a35194f67ec 100644
|
||||
index 729d11569e59e78a0fda67697fe9e27adefff730..244f7dd3f2cdb70a471b2a547aa407ac0f258ef9 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1496,4 +1496,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -46,7 +46,7 @@ index 476c60176f10ad656c6c0676f8d43f7ae8104430..468a2cc47734bf7a406ab833ce145a35
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/IceBlock.java b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||
index 2676cddca511ea775766cec0001269407599df6e..096d6a07cd44cc674b53e5d3759e44f26b654bf1 100644
|
||||
index 2676cddca511ea775766cec0001269407599df6e..1dacd2e3a9340420c9b4443cc2f8a3c6e889e18e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||
@@ -26,7 +26,7 @@ public class IceBlock extends HalfTransparentBlock {
|
||||
@@ -54,7 +54,7 @@ index 2676cddca511ea775766cec0001269407599df6e..096d6a07cd44cc674b53e5d3759e44f2
|
||||
super.playerDestroy(world, player, pos, state, blockEntity, stack);
|
||||
if (EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, stack) == 0) {
|
||||
- if (world.dimensionType().ultraWarm()) {
|
||||
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||
+ if (world.isNether() || (world.isTheEnd() && !org.purpurmc.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||
world.removeBlock(pos, false);
|
||||
return;
|
||||
}
|
||||
@@ -63,12 +63,12 @@ index 2676cddca511ea775766cec0001269407599df6e..096d6a07cd44cc674b53e5d3759e44f2
|
||||
}
|
||||
// CraftBukkit end
|
||||
- if (world.dimensionType().ultraWarm()) {
|
||||
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||
+ if (world.isNether() || (world.isTheEnd() && !org.purpurmc.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||
world.removeBlock(pos, false);
|
||||
} else {
|
||||
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index e236b8b64c867dab2b3d45df129df0260af4fccc..5252ce6eb6bd9b7383bef17ec5a3087db43dbeef 100644
|
||||
index facf2b59f7f9a81b34ed736aca2e7494ef37a47a..c2da5339ef01410d218bf48c919700939910d5d0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -239,6 +239,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Add option to disable certain block updates
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java b/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java
|
||||
index 2c29c125edac43cdf13da8eababe60fb7a87df15..8646d36b0a48b0d0cdfeab8e52a567b70aa0eff3 100644
|
||||
index 2c29c125edac43cdf13da8eababe60fb7a87df15..28c84432d0125dad414e623a317f665bdf7f438f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java
|
||||
@@ -21,6 +21,7 @@ public class ChorusPlantBlock extends PipeBlock {
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableChorusPlantUpdates) return this.defaultBlockState(); // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableChorusPlantUpdates) return this.defaultBlockState(); // Purpur
|
||||
return this.getStateForPlacement(ctx.getLevel(), ctx.getClickedPos());
|
||||
}
|
||||
|
||||
@@ -20,12 +20,12 @@ index 2c29c125edac43cdf13da8eababe60fb7a87df15..8646d36b0a48b0d0cdfeab8e52a567b7
|
||||
|
||||
@Override
|
||||
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableChorusPlantUpdates) return state; // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableChorusPlantUpdates) return state; // Purpur
|
||||
if (!state.canSurvive(world, pos)) {
|
||||
world.scheduleTick(pos, this, 1);
|
||||
return super.updateShape(state, direction, neighborState, world, pos, neighborPos);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
|
||||
index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121bef38d9cc 100644
|
||||
index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..f96fe5197d1af10fd98e6c8403e25da248e4ba1e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
|
||||
@@ -22,29 +22,65 @@ public class HugeMushroomBlock extends Block {
|
||||
@@ -46,7 +46,7 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121b
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
BlockGetter blockGetter = ctx.getLevel();
|
||||
BlockPos blockPos = ctx.getClickedPos();
|
||||
- return this.defaultBlockState().setValue(DOWN, Boolean.valueOf(!blockGetter.getBlockState(blockPos.below()).is(this))).setValue(UP, Boolean.valueOf(!blockGetter.getBlockState(blockPos.above()).is(this))).setValue(NORTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.north()).is(this))).setValue(EAST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.east()).is(this))).setValue(SOUTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.south()).is(this))).setValue(WEST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.west()).is(this)));
|
||||
@@ -63,7 +63,7 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121b
|
||||
|
||||
@Override
|
||||
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return state; // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state; // Purpur
|
||||
return neighborState.is(this) ? state.setValue(PROPERTY_BY_DIRECTION.get(direction), Boolean.valueOf(false)) : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121b
|
||||
public BlockState rotate(BlockState state, Rotation rotation) {
|
||||
- return state.setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.NORTH)), state.getValue(NORTH)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.SOUTH)), state.getValue(SOUTH)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.EAST)), state.getValue(EAST)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.WEST)), state.getValue(WEST)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.UP)), state.getValue(UP)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.DOWN)), state.getValue(DOWN));
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return state;
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state;
|
||||
+ return state
|
||||
+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.NORTH)), state.getValue(NORTH))
|
||||
+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.SOUTH)), state.getValue(SOUTH))
|
||||
@@ -86,7 +86,7 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121b
|
||||
public BlockState mirror(BlockState state, Mirror mirror) {
|
||||
- return state.setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.NORTH)), state.getValue(NORTH)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.SOUTH)), state.getValue(SOUTH)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.EAST)), state.getValue(EAST)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.WEST)), state.getValue(WEST)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.UP)), state.getValue(UP)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.DOWN)), state.getValue(DOWN));
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return state;
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state;
|
||||
+ return state
|
||||
+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.NORTH)), state.getValue(NORTH))
|
||||
+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.SOUTH)), state.getValue(SOUTH))
|
||||
@@ -99,20 +99,20 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..174d16ae5c45dd3a4c9b4cc58b36121b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
index 16e11e31077f160198e0b04abdfeabb97ed20c6f..0512b3701a3bf33891ab6281355c07af6be5b9c1 100644
|
||||
index 16e11e31077f160198e0b04abdfeabb97ed20c6f..7dd423f6b92b7f27dd43e5ef3f4029a100a8cfa6 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
|
||||
@@ -34,11 +34,13 @@ public class NoteBlock extends Block {
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableNoteBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
return (BlockState) this.defaultBlockState().setValue(NoteBlock.INSTRUMENT, NoteBlockInstrument.byState(ctx.getLevel().getBlockState(ctx.getClickedPos().below())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableNoteBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) return this.defaultBlockState(); // Purpur
|
||||
return direction == Direction.DOWN ? (BlockState) state.setValue(NoteBlock.INSTRUMENT, NoteBlockInstrument.byState(neighborState)) : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
|
||||
}
|
||||
|
||||
@@ -120,12 +120,12 @@ index 16e11e31077f160198e0b04abdfeabb97ed20c6f..0512b3701a3bf33891ab6281355c07af
|
||||
state = world.getBlockState(pos); // CraftBukkit - SPIGOT-5617: update in case changed in event
|
||||
}
|
||||
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.disableNoteBlockUpdates) // Purpur
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) // Purpur
|
||||
world.setBlock(pos, (BlockState) state.setValue(NoteBlock.POWERED, flag1), 3);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 5252ce6eb6bd9b7383bef17ec5a3087db43dbeef..01872f312cbbfc6ffd2fc2a8dff208bd026fe97f 100644
|
||||
index c2da5339ef01410d218bf48c919700939910d5d0..4f8a4b053a996589bf6c9f9107da3cabc8c791da 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -244,6 +244,15 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index d143282263dd371cc3128a42da8a43ffab7d3f40..ff41e900df2fda703ad48acf0b989c3647801240 100644
|
||||
index 4236c9dfa0be6fa8ad2f3e32d7f65f1b722c4e60..7307b3208f1b4ffe31fc4e6f73ac7264eb95849a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -279,7 +279,8 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -19,19 +19,19 @@ index d143282263dd371cc3128a42da8a43ffab7d3f40..ff41e900df2fda703ad48acf0b989c36
|
||||
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
|
||||
return (EntityType) Registry.register(Registry.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
|
||||
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 71b472e3fefe549fe959fda1702213bac3c3e7d4..490b8d674a0f1ae75de89fcadb2894da55c32d4e 100644
|
||||
index cff1fc69f75c923ecb162b22dc0ec5bb5c2fbfe0..37e71377ead8d3fd98ff6f6d643d31042944b43f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -399,6 +399,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
+ } else if (net.pl3x.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
+ } else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
} else if (source instanceof IndirectEntityDamageSource) {
|
||||
Entity entity = source.getDirectEntity();
|
||||
boolean flag;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 01872f312cbbfc6ffd2fc2a8dff208bd026fe97f..f9f0fe89bba6279b4038fbf214b158774cea3032 100644
|
||||
index 4f8a4b053a996589bf6c9f9107da3cabc8c791da..f600030f2225abc6e21a0e8a33300c27863112d1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -239,6 +239,12 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Crying obsidian valid for portal frames
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/portal/PortalShape.java b/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
index 5d76674d5e181f012c0686e9915556bc93087706..4a7626819fe7c3cad694072b9ae5737175550ed4 100644
|
||||
index 5d76674d5e181f012c0686e9915556bc93087706..3f3a8b577f707ad0a80d27fca2d61b0929206d65 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
@@ -31,7 +31,7 @@ public class PortalShape {
|
||||
@@ -13,12 +13,12 @@ index 5d76674d5e181f012c0686e9915556bc93087706..4a7626819fe7c3cad694072b9ae57371
|
||||
public static final int MAX_HEIGHT = 21;
|
||||
private static final BlockBehaviour.StatePredicate FRAME = (iblockdata, iblockaccess, blockposition) -> {
|
||||
- return iblockdata.is(Blocks.OBSIDIAN);
|
||||
+ return iblockdata.is(Blocks.OBSIDIAN) || (net.pl3x.purpur.PurpurConfig.cryingObsidianValidForPortalFrame && iblockdata.is(Blocks.CRYING_OBSIDIAN)); // Purpur
|
||||
+ return iblockdata.is(Blocks.OBSIDIAN) || (org.purpurmc.purpur.PurpurConfig.cryingObsidianValidForPortalFrame && iblockdata.is(Blocks.CRYING_OBSIDIAN)); // Purpur
|
||||
};
|
||||
private final LevelAccessor level;
|
||||
private final Direction.Axis axis;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index f9f0fe89bba6279b4038fbf214b158774cea3032..2494c566ac34914f38484dafe1197dab0285515a 100644
|
||||
index f600030f2225abc6e21a0e8a33300c27863112d1..908137ec6461f1ae11ad49e9d8a4ca2fe584e0ce 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -207,6 +207,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinite and mending enchantments together
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c30cf705f 100644
|
||||
index 3aece8245060dd1ba269c08d226c84247a6f0a83..5cebd7c16b82eea9dbf39c51c671bacb7a974d5c 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
@@ -24,6 +24,6 @@ public class ArrowInfiniteEnchantment extends Enchantment {
|
||||
@@ -13,11 +13,11 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c
|
||||
@Override
|
||||
public boolean checkCompatibility(Enchantment other) {
|
||||
- return other instanceof MendingEnchantment ? false : super.checkCompatibility(other);
|
||||
+ return other instanceof MendingEnchantment ? net.pl3x.purpur.PurpurConfig.allowInfinityMending : super.checkCompatibility(other);
|
||||
+ return other instanceof MendingEnchantment ? org.purpurmc.purpur.PurpurConfig.allowInfinityMending : super.checkCompatibility(other);
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 2494c566ac34914f38484dafe1197dab0285515a..2f367f1e7ed64264577403a2c309ec426fcb7bbf 100644
|
||||
index 908137ec6461f1ae11ad49e9d8a4ca2fe584e0ce..8ec92ddf6373638ec2af2b8361e97ecb8b56993a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -241,6 +241,16 @@ public class PurpurConfig {
|
||||
|
||||
@@ -33,7 +33,7 @@ index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a5
|
||||
entityageable.setBaby(true);
|
||||
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 468a2cc47734bf7a406ab833ce145a35194f67ec..409baf096e9a9cfecc6159313d4f91b174577be3 100644
|
||||
index 244f7dd3f2cdb70a471b2a547aa407ac0f258ef9..b86789d46a19a75fcb858a9f962ba54977de65f7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -188,6 +188,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -89,13 +89,13 @@ index 468a2cc47734bf7a406ab833ce145a35194f67ec..409baf096e9a9cfecc6159313d4f91b1
|
||||
@@ -314,6 +357,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 287942965fa805cbbbdb2752d5f6fe4b8e1862d5..96229ee36ff6d6f18d371095baaa9e2833c88ae0 100644
|
||||
index 422e1f5011a0ab85fcb22765b5bc737318b36e71..93204be8d3a45f0447155c31f9c3823a57882e5b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -361,6 +361,7 @@ public class PurpurWorldConfig {
|
||||
@@ -115,7 +115,7 @@ index 287942965fa805cbbbdb2752d5f6fe4b8e1862d5..96229ee36ff6d6f18d371095baaa9e28
|
||||
|
||||
public boolean anvilAllowColors = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
index 6e7f56fe2b78d7a09d5d130f2c88338fb8ae628e..cd63e9e556fa4931ab33c63931cf916757c51a62 100644
|
||||
index afdf04f8b22ad0b7c0b41675e44687b49c2f86d6..2621e54879e9ab0029a875f1d09eee67878b90d5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
@@ -49,6 +49,7 @@ public class PurpurCommand extends Command {
|
||||
|
||||
@@ -10,20 +10,20 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to
|
||||
0, snow golems won't shoot any snowballs.
|
||||
|
||||
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 dbd005660d70918fe5a9d0f5c74f6b7d7fb03c3f..093211be0d86cc114cbb109d7ba01f491d7954b1 100644
|
||||
index a9c1b07f23c604d9364ccdee9478baf137af0816..10d68856c98b705158fe90623ef2b9ad41bef2f2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -74,7 +74,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
- this.goalSelector.addGoal(1, new RangedAttackGoal(this, 1.25D, 20, 10.0F));
|
||||
+ this.goalSelector.addGoal(1, new RangedAttackGoal(this, level.purpurConfig.snowGolemAttackDistance, level.purpurConfig.snowGolemSnowBallMin, level.purpurConfig.snowGolemSnowBallMax, level.purpurConfig.snowGolemSnowBallModifier)); // Purpur
|
||||
this.goalSelector.addGoal(2, new WaterAvoidingRandomStrollGoal(this, 1.0D, 1.0000001E-5F));
|
||||
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ff2ad3f56afa0828037adc27c5f36c555269fc67..f7d9795f163d44c95a2ff6c883c3b1f7f1a34bcf 100644
|
||||
index 5b6cb4c752a332a33e8cefa2c46a7ef76fea01c2..372c04499fb4adfd99560f8e227ef0b139643a0e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1468,6 +1468,10 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -8,19 +8,19 @@ purpur.yml to disable the /give command from dropping items on the
|
||||
floor when a player's inventory is full.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/commands/GiveCommand.java b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||
index a0dc380e90415de9068ea408d62a1605c82631df..60fd566f7e1499ecf2ad91216a667f12cb0e05de 100644
|
||||
index a0dc380e90415de9068ea408d62a1605c82631df..fcd65feb5182b806b9aa8ecdcf11b386f7bf029b 100644
|
||||
--- a/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||
+++ b/src/main/java/net/minecraft/server/commands/GiveCommand.java
|
||||
@@ -45,6 +45,7 @@ public class GiveCommand {
|
||||
k -= l;
|
||||
ItemStack itemStack = item.createItemStack(l, false);
|
||||
boolean bl = serverPlayer.getInventory().add(itemStack);
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableGiveCommandDrops) continue; // Purpur - add config option for toggling give command dropping
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.disableGiveCommandDrops) continue; // Purpur - add config option for toggling give command dropping
|
||||
if (bl && itemStack.isEmpty()) {
|
||||
itemStack.setCount(1);
|
||||
ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 2f367f1e7ed64264577403a2c309ec426fcb7bbf..192e272a33925b7a1f1937d2348f874857eb25ed 100644
|
||||
index 8ec92ddf6373638ec2af2b8361e97ecb8b56993a..d892734595f70f446919d89de967a10c87c687d6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -204,6 +204,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
|
||||
Rabid wolves attack all players, mobs, and animals.
|
||||
|
||||
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 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de107a4a46 100644
|
||||
index 9f23279f7e3aedb758082c672656d5e4b160c074..38c69ddde8a54482a1de60387bace297869c47f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -11,6 +11,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
@@ -132,7 +132,7 @@ index 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de
|
||||
|
||||
@Override
|
||||
@@ -132,6 +201,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.goalSelector.addGoal(1, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
|
||||
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
|
||||
+ this.goalSelector.addGoal(3, new AvoidRabidWolfGoal(this, 24.0F, 1.5D, 1.5D)); // Purpur
|
||||
@@ -200,28 +200,6 @@ index 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de
|
||||
|
||||
return super.mobInteract(player, hand);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 18bb80875573b5bb35ab9ec448dcb3992407a56d..da0849e6e38a2c54410bd158b16f8f3e79e60066 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1753,6 +1753,8 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidable = false;
|
||||
public boolean wolfRidableInWater = false;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
+ public boolean wolfMilkCuresRabies = true;
|
||||
+ public double wolfNaturalRabid = 0.0D;
|
||||
public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
@@ -1763,6 +1765,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wolf.attributes.max_health", oldValue);
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
+ wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
|
||||
+ wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
|
||||
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
|
||||
index f856b42201c17f8da21251e54fcf052336916e70..ac0803d42be2f36a2f40487ee31413d059d2f0e2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
|
||||
@@ -243,3 +221,25 @@ index f856b42201c17f8da21251e54fcf052336916e70..ac0803d42be2f36a2f40487ee31413d0
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a830b43904f5c7165be7b55c9177bdf4e15aff88..30151fb7e8f3c871f73362d42061ed7a72f07165 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1753,6 +1753,8 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfRidable = false;
|
||||
public boolean wolfRidableInWater = false;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
+ public boolean wolfMilkCuresRabies = true;
|
||||
+ public double wolfNaturalRabid = 0.0D;
|
||||
public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
@@ -1763,6 +1765,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wolf.attributes.max_health", oldValue);
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
+ wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
|
||||
+ wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
|
||||
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,44 +5,44 @@ Subject: [PATCH] Implement TPSBar
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index d054bee8c7c6f6bf608252f21b2f5192b59c086c..12f5e8b11fad04a1fec717b68fbbf80efa3705bc 100644
|
||||
index be6009edf26ee468980e7d0f33b989f0121f3011..6914b9a27798ee1f4f4169ff70b9cc4e2b61d9b4 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -208,6 +208,7 @@ public class Commands {
|
||||
net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ net.pl3x.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 947f27ba75b3a139f6e493f24a10483f40f3a6b9..5846b246019e1a161c658240d772d635dffe45ef 100644
|
||||
index bacc37f3478ea45f840fffcb72284c2908b8dcf7..8634c7ca5db006ef0f27a455f30e15e1d64fdaa6 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1123,6 +1123,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.safeShutdown(flag, false);
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
+ net.pl3x.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||
+ org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||
this.isRestarting = isRestarting;
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index fe029ec70afad56bb7a7361f347e9b9aef5e00ba..2c37694a6055513803708c9fb40fb0c475da8e52 100644
|
||||
index 8bf98d8f8e9f0baaf203a9e8d18683236856eab7..455776981274e64724376a3182b60784b56db9cf 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -355,6 +355,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.info("JMX monitoring enabled");
|
||||
}
|
||||
|
||||
+ net.pl3x.purpur.task.BossBarTask.startAll(); // Purpur
|
||||
+ org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur
|
||||
+
|
||||
return true;
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index e07095a3ed1af5a8bb7715c264535ae952e264d9..dd186ad2080d358ee1ed5c8ac6725a9e3dcaeb39 100644
|
||||
index 0232c6eb5eece33aa264bf6232b53342041310cc..67a9f4d394372b229a42f54344590b02439bb260 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -256,6 +256,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -84,14 +84,14 @@ index e07095a3ed1af5a8bb7715c264535ae952e264d9..dd186ad2080d358ee1ed5c8ac6725a9e
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index f50f884430781ddf58bb2db13bf3982c8ec0a817..8fb52533367cab298c9a0b2ef2f4712308b5547b 100644
|
||||
index 84e5e35b002fc15a863a0969608d983165e95e65..cf5916a1fe4fcf5353f5c7a00074b668469038ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -482,6 +482,7 @@ public abstract class PlayerList {
|
||||
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
|
||||
}
|
||||
// Paper end
|
||||
+ net.pl3x.purpur.task.BossBarTask.addToAll(player); // Purpur
|
||||
+ org.purpurmc.purpur.task.BossBarTask.addToAll(player); // Purpur
|
||||
// CraftBukkit - Moved from above, added world
|
||||
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
|
||||
}
|
||||
@@ -99,13 +99,13 @@ index f50f884430781ddf58bb2db13bf3982c8ec0a817..8fb52533367cab298c9a0b2ef2f47123
|
||||
}
|
||||
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
|
||||
// Paper end
|
||||
+ net.pl3x.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
|
||||
+ org.purpurmc.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
|
||||
+
|
||||
ServerLevel worldserver = entityplayer.getLevel();
|
||||
|
||||
entityplayer.awardStat(Stats.LEAVE_GAME);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 192e272a33925b7a1f1937d2348f874857eb25ed..294be16a809f4fe7f62de51648b25f26e2a5b82a 100644
|
||||
index d892734595f70f446919d89de967a10c87c687d6..79bcb015a7a29b41552e5173ec4b38bfa44fa6ff 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -209,6 +209,29 @@ public class PurpurConfig {
|
||||
@@ -140,17 +140,17 @@ index 192e272a33925b7a1f1937d2348f874857eb25ed..294be16a809f4fe7f62de51648b25f26
|
||||
public static boolean enderChestPermissionRows = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/TPSBarCommand.java b/src/main/java/org/purpurmc/purpur/command/TPSBarCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2eca7b78907007be9683d87bf2346c87816ec3f0
|
||||
index 0000000000000000000000000000000000000000..2547eb09f34410ae5e6b3dcfd1706ca5f05ff896
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/TPSBarCommand.java
|
||||
@@ -0,0 +1,21 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
+import net.minecraft.commands.Commands;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.task.TPSBarTask;
|
||||
+import org.purpurmc.purpur.task.TPSBarTask;
|
||||
+
|
||||
+public class TPSBarCommand {
|
||||
+ public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
||||
@@ -167,11 +167,11 @@ index 0000000000000000000000000000000000000000..2eca7b78907007be9683d87bf2346c87
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/BossBarTask.java b/src/main/java/org/purpurmc/purpur/task/BossBarTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..89122d7bcfd037a22d277e562f5300f2f3eab2db
|
||||
index 0000000000000000000000000000000000000000..d38b3c4a722396cc3b61a9a8ed7e39cea4ae65cb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/BossBarTask.java
|
||||
@@ -0,0 +1,109 @@
|
||||
+package net.pl3x.purpur.task;
|
||||
+package org.purpurmc.purpur.task;
|
||||
+
|
||||
+import net.kyori.adventure.bossbar.BossBar;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
@@ -282,17 +282,17 @@ index 0000000000000000000000000000000000000000..89122d7bcfd037a22d277e562f5300f2
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/TPSBarTask.java b/src/main/java/org/purpurmc/purpur/task/TPSBarTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..cafb140ff57e5697d7c3705ff9be6411c0ad82d9
|
||||
index 0000000000000000000000000000000000000000..6c4d5167a9d965edbb25f4c24e6bb885afe281ca
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/TPSBarTask.java
|
||||
@@ -0,0 +1,142 @@
|
||||
+package net.pl3x.purpur.task;
|
||||
+package org.purpurmc.purpur.task;
|
||||
+
|
||||
+import net.kyori.adventure.bossbar.BossBar;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
+import net.kyori.adventure.text.minimessage.Template;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.entity.Player;
|
||||
+
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 6627214ddab3a8b7080ead964a44a367b0c34a05..cbd434897155095b3689d0adc274df7749a83192 100644
|
||||
index 00666db1dc09f3c2df475de8c8c43e7d2c30127c..b36c984e1c38c5f8ca644e51157e82452612ebcf 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1107,10 +1107,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -17,7 +17,7 @@ index 6627214ddab3a8b7080ead964a44a367b0c34a05..cbd434897155095b3689d0adc274df77
|
||||
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
if (byteLength > 256 * 4) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!");
|
||||
+ net.pl3x.purpur.event.player.PlayerBookTooLargeEvent event = new net.pl3x.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), itemstack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
||||
+ org.purpurmc.purpur.event.player.PlayerBookTooLargeEvent event = new org.purpurmc.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), itemstack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -25,7 +25,7 @@ index 6627214ddab3a8b7080ead964a44a367b0c34a05..cbd434897155095b3689d0adc274df77
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
+ net.pl3x.purpur.event.player.PlayerBookTooLargeEvent event = new net.pl3x.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), itemstack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
||||
+ org.purpurmc.purpur.event.player.PlayerBookTooLargeEvent event = new org.purpurmc.purpur.event.player.PlayerBookTooLargeEvent(player.getBukkitEntity(), itemstack.asBukkitCopy()); if (event.shouldKickPlayer()) // Purpur
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
index 19892cb3cb290add4f094dc87bb22106e4f07a24..46fdaf744080ac01498ca693068616659a79b9ea 100644
|
||||
index 19892cb3cb290add4f094dc87bb22106e4f07a24..bd4f980f68330fc46a02a6f4bb4403fac3a91919 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
|
||||
@@ -45,7 +45,15 @@ public class EndPortalBlock extends BaseEntityBlock {
|
||||
@@ -28,7 +28,7 @@ index 19892cb3cb290add4f094dc87bb22106e4f07a24..46fdaf744080ac01498ca69306861665
|
||||
+ // Purpur start
|
||||
+ if (world instanceof ServerLevel && /*!entity.isPassenger() && !entity.isVehicle() &&*/ entity.canChangeDimensions() && Shapes.joinIsNotEmpty(Shapes.create(entity.getBoundingBox().move((double) (-pos.getX()), (double) (-pos.getY()), (double) (-pos.getZ()))), state.getShape(world, pos), BooleanOp.AND)) {
|
||||
+ if (entity.isPassenger() || entity.isVehicle()) {
|
||||
+ if (new net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, PlayerTeleportEvent.TeleportCause.END_PORTAL).callEvent()) {
|
||||
+ if (new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, PlayerTeleportEvent.TeleportCause.END_PORTAL).callEvent()) {
|
||||
+ this.entityInside(state, world, pos, entity);
|
||||
+ }
|
||||
+ return;
|
||||
@@ -38,7 +38,7 @@ index 19892cb3cb290add4f094dc87bb22106e4f07a24..46fdaf744080ac01498ca69306861665
|
||||
ServerLevel worldserver = ((ServerLevel) world).getServer().getLevel(resourcekey);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
index 82c132bc90381aab6a29d50319ff40e7383eb7f2..b99a9f76d6e400a053c57a96c9586fe09a4a5a26 100644
|
||||
index 82c132bc90381aab6a29d50319ff40e7383eb7f2..13a367d2b5f245f4dd92df03288dc40b81e19603 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
|
||||
@@ -86,7 +86,15 @@ public class NetherPortalBlock extends Block {
|
||||
@@ -49,7 +49,7 @@ index 82c132bc90381aab6a29d50319ff40e7383eb7f2..b99a9f76d6e400a053c57a96c9586fe0
|
||||
+ // Purpur start
|
||||
+ if (/*!entity.isPassenger() && !entity.isVehicle() &&*/ entity.canChangeDimensions()) {
|
||||
+ if (entity.isPassenger() || entity.isVehicle()) {
|
||||
+ if (new net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.NETHER_PORTAL).callEvent()) {
|
||||
+ if (new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.NETHER_PORTAL).callEvent()) {
|
||||
+ this.entityInside(state, world, pos, entity);
|
||||
+ }
|
||||
+ return;
|
||||
@@ -59,7 +59,7 @@ index 82c132bc90381aab6a29d50319ff40e7383eb7f2..b99a9f76d6e400a053c57a96c9586fe0
|
||||
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
|
||||
world.getCraftServer().getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..e0beee6bd772792fbd3bc6a856230311e9ed6c42 100644
|
||||
index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..74de26d72e705041318beee0ebef59d61fb5278e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -177,6 +177,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -68,7 +68,7 @@ index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..e0beee6bd772792fbd3bc6a856230311
|
||||
if (!entity.canChangeDimensions()) return; // Purpur
|
||||
+ // Purpur start
|
||||
+ if (world.purpurConfig.imposeTeleportRestrictionsOnGateways && (entity.isVehicle() || entity.isPassenger())) {
|
||||
+ if (new net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, PlayerTeleportEvent.TeleportCause.END_GATEWAY).callEvent()) {
|
||||
+ if (new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, PlayerTeleportEvent.TeleportCause.END_GATEWAY).callEvent()) {
|
||||
+ teleportEntity(world, pos, state, entity, blockEntity);
|
||||
+ }
|
||||
+ return;
|
||||
@@ -77,8 +77,38 @@ index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..e0beee6bd772792fbd3bc6a856230311
|
||||
ServerLevel worldserver = (ServerLevel) world;
|
||||
|
||||
blockEntity.teleportCooldown = 100;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 1ba59900ddf403453aeb4f82b097feaab3dae3ff..1f76a89e179b7a4bf28a172b1ece0603f975dbcd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
location.checkFinite();
|
||||
|
||||
if (this.entity.isVehicle() || this.entity.isRemoved()) {
|
||||
+ // Purpur start
|
||||
+ if (!entity.isRemoved() && new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent())
|
||||
+ return teleport(location, cause);
|
||||
+ // Purpur end
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c..235dbac7c3c28e5c2fb2aa3bfbafc7ff008e00ff 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -966,6 +966,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle()) {
|
||||
+ // Purpur start
|
||||
+ if (new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent())
|
||||
+ return teleport(location, cause);
|
||||
+ // Purpur end
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e2239c1a5ea8d8c91d0cd247fa0b4dbc255eeab5..1719201a0da3d0da8500a2e138bd0a6234502b9b 100644
|
||||
index 38467b91b7550a6c1c28a65dfbde9cbbf63915e9..fb27a33232a30706d4075ca204ca9b20c0505613 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -383,6 +383,7 @@ public class PurpurWorldConfig {
|
||||
@@ -97,33 +127,3 @@ index e2239c1a5ea8d8c91d0cd247fa0b4dbc255eeab5..1719201a0da3d0da8500a2e138bd0a62
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 1ba59900ddf403453aeb4f82b097feaab3dae3ff..30302c1cfdff65a5f1d0adde4c831f0a74f15851 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
location.checkFinite();
|
||||
|
||||
if (this.entity.isVehicle() || this.entity.isRemoved()) {
|
||||
+ // Purpur start
|
||||
+ if (!entity.isRemoved() && new net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent())
|
||||
+ return teleport(location, cause);
|
||||
+ // Purpur end
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 5a0d709231ab7fffad60b8fba7f2f490535c8423..f223685ecb4e8dfb9b97a97ed106b052953be89f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -966,6 +966,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle()) {
|
||||
+ // Purpur start
|
||||
+ if (new net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), net.pl3x.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent())
|
||||
+ return teleport(location, cause);
|
||||
+ // Purpur end
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index cbd434897155095b3689d0adc274df7749a83192..a196c669891b09c42751004bd76d9c40ed6924ee 100644
|
||||
index b36c984e1c38c5f8ca644e51157e82452612ebcf..982e04ba9f2b0cd2640a639052e871d0c41ef058 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1528,6 +1528,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -15,7 +15,7 @@ index cbd434897155095b3689d0adc274df7749a83192..a196c669891b09c42751004bd76d9c40
|
||||
+ // Purpur Start
|
||||
+ if (this.player.level.purpurConfig.dontRunWithScissors && this.player.isSprinting() && (isScissor(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissor(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) {
|
||||
+ this.player.hurt(net.minecraft.world.damagesource.DamageSource.MAGIC, (float) this.player.level.purpurConfig.scissorsRunningDamage);
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(net.pl3x.purpur.PurpurConfig.dontRunWithScissors);
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(org.purpurmc.purpur.PurpurConfig.dontRunWithScissors);
|
||||
+ }
|
||||
+ // Purpur End
|
||||
+
|
||||
@@ -36,7 +36,7 @@ index cbd434897155095b3689d0adc274df7749a83192..a196c669891b09c42751004bd76d9c40
|
||||
Iterable<VoxelShape> iterable = world.getCollisions(this.player, this.player.getBoundingBox().deflate(9.999999747378752E-6D));
|
||||
VoxelShape voxelshape = Shapes.create(box.deflate(9.999999747378752E-6D));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 294be16a809f4fe7f62de51648b25f26e2a5b82a..dcb9394208df25e1d6fcf9bafa31864b37b5db51 100644
|
||||
index 79bcb015a7a29b41552e5173ec4b38bfa44fa6ff..931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -165,6 +165,7 @@ public class PurpurConfig {
|
||||
@@ -56,7 +56,7 @@ index 294be16a809f4fe7f62de51648b25f26e2a5b82a..dcb9394208df25e1d6fcf9bafa31864b
|
||||
|
||||
public static String serverModName = "Purpur";
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b8dfe1a519a1777b3e0c5644dc82ef89edbb034b..38fefd5ff631df27ee05b5f8776f1466d15022bd 100644
|
||||
index b55e4e43554ef1e4afcc25101cfa82f0dd95db11..37e7ff9b3da306ff091e430e6091d69c6384289f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -157,6 +157,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
|
||||
|
||||
|
||||
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 a0b347f9daf5e8cf28ec3e308b639d5200c276dd..75d0998d7e6109592400c14c4aee063f7942961d 100644
|
||||
index b050f2d16a6aed98654f51fa4ede496a0be07b45..c7216abec9b93cce9198568470ebe21f40d6423b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -119,7 +119,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
|
||||
- this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Endermite.class, true, false));
|
||||
@@ -18,7 +18,7 @@ index a0b347f9daf5e8cf28ec3e308b639d5200c276dd..75d0998d7e6109592400c14c4aee063f
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ff2cdbdb785628e564de0fefaef68b408c5e3e8a..83534bbdad44c682cf5fdf8a94390f224c5906f1 100644
|
||||
index 1e6bf257d8f587af6397c39ff8d5107120313107..7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -945,6 +945,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -19,20 +19,20 @@ index 7b141c495095afcd9c8b04c059d692e829259e7a..ad30f2d678cfc4b0d693e84e6e152c63
|
||||
List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||
EntityType<?> entityType = entity.getType();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index d0016761c124a4d593b18006efa18757ad385ab0..13fd55f198f36ed6b5d3b242e07535c5dfe797b1 100644
|
||||
index 81957c9daa27682ee701092e207d72166e159382..e09e44f15b6802261f83795bf5162686942bcdf5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -509,7 +509,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
}
|
||||
|
||||
public void joinCaravan(Llama llama) {
|
||||
- if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
+ if (!this.level.purpurConfig.llamaJoinCaravans || !shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
- if (!shouldJoinCaravan || !new org.purpurmc.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
+ if (!this.level.purpurConfig.llamaJoinCaravans || !shouldJoinCaravan || !new org.purpurmc.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) llama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
this.caravanHead = llama;
|
||||
this.caravanHead.caravanTail = this;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 241383f4edf4a1ec8d6b92400a6055527a49758c..e068b364782311c24790e23ecfd67e571d75d3a2 100644
|
||||
index 0f6065ca8d952c0ae12dcf9ccb6baea3f386808e..94bc54757899557a5f3fd5a6fa426823c846981f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinity on crossbows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
index 288776d2c6e4d3f214152910e6c1ccdafa2c3fbd..78f6d335dedd933ff225e2c63b879626b6b76ee7 100644
|
||||
index 288776d2c6e4d3f214152910e6c1ccdafa2c3fbd..e39f1241b19d3ce8b847c880a414bca89ec80356 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
@@ -111,7 +111,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
|
||||
@@ -13,7 +13,7 @@ index 288776d2c6e4d3f214152910e6c1ccdafa2c3fbd..78f6d335dedd933ff225e2c63b879626
|
||||
int i = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.MULTISHOT, projectile);
|
||||
int j = i == 0 ? 1 : 3;
|
||||
- boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild; // Paper - add consume
|
||||
+ boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild || (net.pl3x.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, projectile) > 0); // Paper - add consume // Purpur
|
||||
+ boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild || (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, projectile) > 0); // Paper - add consume // Purpur
|
||||
ItemStack itemstack1 = shooter.getProjectile(projectile);
|
||||
ItemStack itemstack2 = itemstack1.copy();
|
||||
|
||||
@@ -22,12 +22,12 @@ index 288776d2c6e4d3f214152910e6c1ccdafa2c3fbd..78f6d335dedd933ff225e2c63b879626
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
ItemStack itemstack1 = (ItemStack) list.get(i);
|
||||
- boolean flag = entity instanceof Player && ((Player) entity).getAbilities().instabuild;
|
||||
+ boolean flag = entity instanceof Player && ((Player) entity).getAbilities().instabuild || (net.pl3x.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, stack) > 0); // Purpur
|
||||
+ boolean flag = entity instanceof Player && ((Player) entity).getAbilities().instabuild || (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, stack) > 0); // Purpur
|
||||
|
||||
if (!itemstack1.isEmpty()) {
|
||||
if (i == 0) {
|
||||
diff --git a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
index 6763d0b96c83d1b462999f525bf1f31c30cf705f..893bfd35298acbdb8a6d6c4cac9ae14f156c44c5 100644
|
||||
index 5cebd7c16b82eea9dbf39c51c671bacb7a974d5c..38703baaef5f04a53081620ce1bf29b45e4d62d1 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
|
||||
@@ -7,6 +7,14 @@ public class ArrowInfiniteEnchantment extends Enchantment {
|
||||
@@ -38,7 +38,7 @@ index 6763d0b96c83d1b462999f525bf1f31c30cf705f..893bfd35298acbdb8a6d6c4cac9ae14f
|
||||
+ @Override
|
||||
+ public boolean canEnchant(net.minecraft.world.item.ItemStack stack) {
|
||||
+ // we have to cheat the system because this class is loaded before purpur's config is loaded
|
||||
+ return (net.pl3x.purpur.PurpurConfig.allowCrossbowInfinity ? EnchantmentCategory.BOW_AND_CROSSBOW : EnchantmentCategory.BOW).canEnchant(stack.getItem());
|
||||
+ return (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity ? EnchantmentCategory.BOW_AND_CROSSBOW : EnchantmentCategory.BOW).canEnchant(stack.getItem());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -64,8 +64,20 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757
|
||||
};
|
||||
|
||||
public abstract boolean canEnchant(Item item);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc8584487e46e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
@@ -59,6 +59,7 @@ public class CraftEnchantment extends Enchantment {
|
||||
return EnchantmentTarget.CROSSBOW;
|
||||
case VANISHABLE:
|
||||
return EnchantmentTarget.VANISHABLE;
|
||||
+ case BOW_AND_CROSSBOW: return EnchantmentTarget.BOW_AND_CROSSBOW; // Purpur
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index dcb9394208df25e1d6fcf9bafa31864b37b5db51..5421be4de201bb09a66bf5e1c4ed537838a8f686 100644
|
||||
index 931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd..b91b1c4d65f32b82bc08489779e3d12f3b16d1e7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -272,6 +272,7 @@ public class PurpurConfig {
|
||||
@@ -84,15 +96,3 @@ index dcb9394208df25e1d6fcf9bafa31864b37b5db51..5421be4de201bb09a66bf5e1c4ed5378
|
||||
}
|
||||
|
||||
public static boolean endermanShortHeight = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc8584487e46e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
@@ -59,6 +59,7 @@ public class CraftEnchantment extends Enchantment {
|
||||
return EnchantmentTarget.CROSSBOW;
|
||||
case VANISHABLE:
|
||||
return EnchantmentTarget.VANISHABLE;
|
||||
+ case BOW_AND_CROSSBOW: return EnchantmentTarget.BOW_AND_CROSSBOW; // Purpur
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config to allow for unsafe enchants
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
index 514cc0e8805045549eacde6c280859aa2dc4a91d..a3ac6bebcef7b1e1f9c3ebe525656a15e13f9be8 100644
|
||||
index 514cc0e8805045549eacde6c280859aa2dc4a91d..4c8eeb66a9368597330957dd3c1486344b53b863 100644
|
||||
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
@@ -44,7 +44,7 @@ public class EnchantCommand {
|
||||
@@ -13,7 +13,7 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..a3ac6bebcef7b1e1f9c3ebe525656a15
|
||||
|
||||
private static int enchant(CommandSourceStack source, Collection<? extends Entity> targets, Enchantment enchantment, int level) throws CommandSyntaxException {
|
||||
- if (level > enchantment.getMaxLevel()) {
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants && level > enchantment.getMaxLevel()) { // Purpur
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && level > enchantment.getMaxLevel()) { // Purpur
|
||||
throw ERROR_LEVEL_TOO_HIGH.create(level, enchantment.getMaxLevel());
|
||||
} else {
|
||||
int i = 0;
|
||||
@@ -22,12 +22,12 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..a3ac6bebcef7b1e1f9c3ebe525656a15
|
||||
ItemStack itemStack = livingEntity.getMainHandItem();
|
||||
if (!itemStack.isEmpty()) {
|
||||
- if (enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) {
|
||||
+ if ((enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) || (net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants && !itemStack.hasEnchantment(enchantment))) { // Purpur
|
||||
+ if ((enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && !itemStack.hasEnchantment(enchantment))) { // Purpur
|
||||
itemStack.enchant(enchantment, level);
|
||||
++i;
|
||||
} else if (targets.size() == 1) {
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index c8b6c5c65a4cd3a53b300358513f96acdaaba449..ae7ff760a84620562b2b6b0d1d0fd2f94a09024a 100644
|
||||
index 69d996fead45bcf9fe5a29727f7f0a7a162cdabe..3f786be9c9efc069a3a1bc457f02421310941800 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -208,7 +208,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -35,7 +35,7 @@ index c8b6c5c65a4cd3a53b300358513f96acdaaba449..ae7ff760a84620562b2b6b0d1d0fd2f9
|
||||
|
||||
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
||||
- boolean flag3 = canDoUnsafeEnchants || enchantment.canEnchant(itemstack); // Purpur
|
||||
+ boolean flag3 = canDoUnsafeEnchants || net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants || enchantment.canEnchant(itemstack); // Purpur
|
||||
+ boolean flag3 = canDoUnsafeEnchants || org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants || enchantment.canEnchant(itemstack); // Purpur
|
||||
|
||||
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
|
||||
flag3 = true;
|
||||
@@ -44,7 +44,7 @@ index c8b6c5c65a4cd3a53b300358513f96acdaaba449..ae7ff760a84620562b2b6b0d1d0fd2f9
|
||||
|
||||
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
|
||||
- flag3 = canDoUnsafeEnchants; // Purpur
|
||||
+ flag3 = canDoUnsafeEnchants || net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants; // Purpur
|
||||
+ flag3 = canDoUnsafeEnchants || org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants; // Purpur
|
||||
++i;
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,7 @@ index c8b6c5c65a4cd3a53b300358513f96acdaaba449..ae7ff760a84620562b2b6b0d1d0fd2f9
|
||||
this.broadcastChanges();
|
||||
// Purpur start
|
||||
- if (canDoUnsafeEnchants && itemstack1 != ItemStack.EMPTY) {
|
||||
+ if ((canDoUnsafeEnchants || net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants) && itemstack1 != ItemStack.EMPTY) {
|
||||
+ if ((canDoUnsafeEnchants || org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants) && itemstack1 != ItemStack.EMPTY) {
|
||||
((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, incrementStateId(), 2, itemstack1));
|
||||
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
|
||||
}
|
||||
@@ -75,7 +75,7 @@ index 7ed8ae3a92d631dcfc155790dbc2fdd4a3e39d1c..03271cdffd99ab443904a5d1da05d79c
|
||||
this.getOrCreateTag().put(key, element);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 5421be4de201bb09a66bf5e1c4ed537838a8f686..966c699c377f722e4dfb5da3d19831f99563644c 100644
|
||||
index b91b1c4d65f32b82bc08489779e3d12f3b16d1e7..b314889c0a739b220e634e09e4d630616d6397df 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -273,6 +273,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config to change max number of bees
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
index 9fcd835d219aafbe113ebb1b796052e07bf2b046..87ee1d0d51fb54702ae5763c01dba8632b2234e3 100644
|
||||
index 9fcd835d219aafbe113ebb1b796052e07bf2b046..2f8e6fb9f811fcfa6b6ed4dd15fcb38f061c8491 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
@@ -43,7 +43,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
@@ -13,12 +13,12 @@ index 9fcd835d219aafbe113ebb1b796052e07bf2b046..87ee1d0d51fb54702ae5763c01dba863
|
||||
@Nullable
|
||||
public BlockPos savedFlowerPos;
|
||||
- public int maxBees = 3; // CraftBukkit - allow setting max amount of bees a hive can hold
|
||||
+ public int maxBees = net.pl3x.purpur.PurpurConfig.beeInsideBeeHive; // CraftBukkit - allow setting max amount of bees a hive can hold // Purpur
|
||||
+ public int maxBees = org.purpurmc.purpur.PurpurConfig.beeInsideBeeHive; // CraftBukkit - allow setting max amount of bees a hive can hold // Purpur
|
||||
|
||||
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
|
||||
super(BlockEntityType.BEEHIVE, pos, state);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 966c699c377f722e4dfb5da3d19831f99563644c..8d207a228855b2a6c0af2e54d815bf17b9217950 100644
|
||||
index b314889c0a739b220e634e09e4d630616d6397df..9dce5a66f8b89dbf1456263ce5366337955ee5e7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -238,6 +238,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -31,7 +31,7 @@ index 6e8111ef16439d2b3025ebe2a0418b245420bd88..c20c7c9a6eb299e1a8d3d3e9bdf986ea
|
||||
return this.worldPosition;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/commands/GameModeCommand.java b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
|
||||
index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c290023d31ce95 100644
|
||||
index 79f6089b934124c3309c6bee2e48b36b937252e0..d1e6ac2dcff3f058dc147c8ed4d16d273b7c40a9 100644
|
||||
--- a/src/main/java/net/minecraft/server/commands/GameModeCommand.java
|
||||
+++ b/src/main/java/net/minecraft/server/commands/GameModeCommand.java
|
||||
@@ -49,6 +49,18 @@ public class GameModeCommand {
|
||||
@@ -39,7 +39,7 @@ index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c29002
|
||||
|
||||
private static int setMode(CommandContext<CommandSourceStack> context, Collection<ServerPlayer> targets, GameType gameMode) {
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.commandGamemodeRequiresPermission) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.commandGamemodeRequiresPermission) {
|
||||
+ String gamemode = gameMode.getName();
|
||||
+ CommandSourceStack sender = context.getSource();
|
||||
+ if (!sender.testPermission(2, "minecraft.command.gamemode." + gamemode)) {
|
||||
@@ -53,26 +53,6 @@ index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c29002
|
||||
int i = 0;
|
||||
|
||||
for(ServerPlayer serverPlayer : targets) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 8d207a228855b2a6c0af2e54d815bf17b9217950..3ad1bb745def01b18c14ce8c7d399cf20a8a1a08 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -221,6 +221,7 @@ public class PurpurConfig {
|
||||
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
|
||||
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
|
||||
public static int commandTPSBarTickInterval = 20;
|
||||
+ public static boolean commandGamemodeRequiresPermission = false;
|
||||
private static void commandSettings() {
|
||||
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
|
||||
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
|
||||
@@ -232,6 +233,7 @@ public class PurpurConfig {
|
||||
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
|
||||
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
|
||||
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
|
||||
+ commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
|
||||
}
|
||||
|
||||
public static int barrelRows = 3;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
|
||||
index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5cd3112ab 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
|
||||
@@ -94,3 +74,23 @@ index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5
|
||||
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "xp", "Allows the user to give themselves or others arbitrary values of experience", PermissionDefault.OP, commands);
|
||||
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands);
|
||||
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 9dce5a66f8b89dbf1456263ce5366337955ee5e7..a09151e1c7383cf286e66a4499341cd85ca25709 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -221,6 +221,7 @@ public class PurpurConfig {
|
||||
public static String commandTPSBarTextColorMedium = "<gradient:#ffff55:#ffaa00><text></gradient>";
|
||||
public static String commandTPSBarTextColorLow = "<gradient:#ff5555:#aa0000><text></gradient>";
|
||||
public static int commandTPSBarTickInterval = 20;
|
||||
+ public static boolean commandGamemodeRequiresPermission = false;
|
||||
private static void commandSettings() {
|
||||
commandTPSBarTitle = getString("settings.command.tpsbar.title", commandTPSBarTitle);
|
||||
commandTPSBarProgressOverlay = BossBar.Overlay.valueOf(getString("settings.command.tpsbar.overlay", commandTPSBarProgressOverlay.name()));
|
||||
@@ -232,6 +233,7 @@ public class PurpurConfig {
|
||||
commandTPSBarTextColorMedium = getString("settings.command.tpsbar.text-color.medium", commandTPSBarTextColorMedium);
|
||||
commandTPSBarTextColorLow = getString("settings.command.tpsbar.text-color.low", commandTPSBarTextColorLow);
|
||||
commandTPSBarTickInterval = getInt("settings.command.tpsbar.tick-interval", commandTPSBarTickInterval);
|
||||
+ commandGamemodeRequiresPermission = getBoolean("settings.command.gamemode.requires-specific-permission", commandGamemodeRequiresPermission);
|
||||
}
|
||||
|
||||
public static int barrelRows = 3;
|
||||
|
||||
@@ -5,31 +5,31 @@ Subject: [PATCH] Configurable broadcast settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
index 945fb3200d52b83eaee2e62d6db5c43e088218eb..a87a532ce9e69bf4a90aac73ad51e4a88b8e141e 100644
|
||||
index 6f5b7650d45958284f7b5c675c1e32d4b7738494..842acb66c58a1ee66c595bd56afc1f94602f0193 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
@@ -301,6 +301,7 @@ public class PlayerAdvancements {
|
||||
advancement.getRewards().grant(this.player);
|
||||
// Paper start - Add Adventure message to PlayerAdvancementDoneEvent
|
||||
if (message != null && this.player.level.getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
|
||||
+ if (net.pl3x.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur
|
||||
this.playerList.broadcastMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), ChatType.SYSTEM, Util.NIL_UUID);
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0294e31bb7a4346fd9a3b45ef0bed5582b8abfcc..3ad8167804f38262e1e7ecd878fce76573568ab8 100644
|
||||
index 04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8..b609213894c5c9c34188e0667e34b61876ea92ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -910,6 +910,7 @@ public class ServerPlayer extends Player {
|
||||
});
|
||||
Team scoreboardteambase = this.getTeam();
|
||||
|
||||
+ if (net.pl3x.purpur.PurpurConfig.deathMessageOnlyBroadcastToAffectedPlayer) this.sendMessage(ichatbasecomponent); else // Purpur
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.deathMessageOnlyBroadcastToAffectedPlayer) this.sendMessage(ichatbasecomponent); else // Purpur
|
||||
if (scoreboardteambase != null && scoreboardteambase.getDeathMessageVisibility() != Team.Visibility.ALWAYS) {
|
||||
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
||||
this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 3ad1bb745def01b18c14ce8c7d399cf20a8a1a08..f315a6db0c1d2000aa7a506134564b37ff6d2e06 100644
|
||||
index a09151e1c7383cf286e66a4499341cd85ca25709..5be7eade117e2e0dcde688cb7a512eeefac6851d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -178,6 +178,18 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Hide hidden players from entity selector
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..39c8cb9494aa516a3d828010a8e3329db9d25707 100644
|
||||
index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..2cba35dcc479ed9ad3e698aa2e02b4aa408c84c4 100644
|
||||
--- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
@@ -184,10 +184,10 @@ public class EntitySelector {
|
||||
@@ -54,12 +54,12 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..39c8cb9494aa516a3d828010a8e3329d
|
||||
+
|
||||
+ // Purpur start
|
||||
+ private boolean canSee(CommandSourceStack sender, ServerPlayer target) {
|
||||
+ return !net.pl3x.purpur.PurpurConfig.hideHiddenPlayersFromEntitySelector || !(sender.getEntity() instanceof ServerPlayer player) || player.getBukkitEntity().canSee(target.getBukkitEntity());
|
||||
+ return !org.purpurmc.purpur.PurpurConfig.hideHiddenPlayersFromEntitySelector || !(sender.getEntity() instanceof ServerPlayer player) || player.getBukkitEntity().canSee(target.getBukkitEntity());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index f315a6db0c1d2000aa7a506134564b37ff6d2e06..64c85ed460687ccf455e7ac4332e38ec524bd53c 100644
|
||||
index 5be7eade117e2e0dcde688cb7a512eeefac6851d..1a3618597bf2ad131152379ddeb54f4a3b11b052 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -234,6 +234,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Iron golem poppy calms anger
|
||||
|
||||
|
||||
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 c96289cc4bf5731862849f491a2049a41c768eed..efe3839f893eefe241dac14b7796baa2aaa22aad 100644
|
||||
index 52cc0df083d5a4685fd00f7db0d92b277fb0c994..ff5d6f437b880ab0aa5897089694a620be7eacca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -96,6 +96,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
protected void registerGoals() {
|
||||
if (level.purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ if (this.level.purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.ReceiveFlower(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ if (this.level.purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, true));
|
||||
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
|
||||
this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 775831d7852bd688a613aa9c54988b51b36985e3..424fa41a8db31cc40dd17a21539587773d4fc542 100644
|
||||
index d33884c6d97c4caec65efe3e18ce6473a62ccfd1..1aa0932807e66f94588a453268fd06fbf38ef853 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1316,6 +1316,7 @@ public class PurpurWorldConfig {
|
||||
@@ -38,11 +38,11 @@ index 775831d7852bd688a613aa9c54988b51b36985e3..424fa41a8db31cc40dd17a2153958777
|
||||
public boolean llamaRidable = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java b/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..efbf2775558e61310dff900a0321964c63f4551d
|
||||
index 0000000000000000000000000000000000000000..115a3b36cbb7716b28ef940a29ca97ac42a8a521
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java
|
||||
@@ -0,0 +1,91 @@
|
||||
+package net.pl3x.purpur.entity.ai;
|
||||
+package org.purpurmc.purpur.entity.ai;
|
||||
+
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Breedable parrots
|
||||
|
||||
|
||||
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 953db16af175e14e1a47487659a0346216d8cdbc..5c906b380ad3caceb29fdd5a221cf5ce97910025 100644
|
||||
index de702ce3e2dffc44e380b8470aa540a3226a54cb..bb9717d1b2039469aae26e0eb9a4304bff4ae7af 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -220,6 +220,7 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); // Purpur
|
||||
+ if (this.level.purpurConfig.parrotBreedable) this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.BreedGoal(this, 1.0D)); // Purpur
|
||||
this.goalSelector.addGoal(1, new LookAtPlayerGoal(this, Player.class, 8.0F));
|
||||
@@ -50,7 +50,7 @@ index 953db16af175e14e1a47487659a0346216d8cdbc..5c906b380ad3caceb29fdd5a221cf5ce
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 424fa41a8db31cc40dd17a21539587773d4fc542..564a2009f21e7caf36130e29bab28a27fd012ebf 100644
|
||||
index 1aa0932807e66f94588a453268fd06fbf38ef853..2191f82f4cf6e47b0b9f32afc7d74838a05d5e57 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1466,6 +1466,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config for unverified username message
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
index 33a29890435d6065a2cc4f8e8bf8209c01d5d114..09f2eb149e23b271bab879b84c7910d76f79fec9 100644
|
||||
index 33a29890435d6065a2cc4f8e8bf8209c01d5d114..b86d5e736d786ac3c74fec3ad1285400f6f4e583 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
@@ -310,7 +310,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener
|
||||
@@ -13,12 +13,12 @@ index 33a29890435d6065a2cc4f8e8bf8209c01d5d114..09f2eb149e23b271bab879b84c7910d7
|
||||
ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT;
|
||||
} else {
|
||||
- ServerLoginPacketListenerImpl.this.disconnect(new TranslatableComponent("multiplayer.disconnect.unverified_username"));
|
||||
+ ServerLoginPacketListenerImpl.this.disconnect(net.pl3x.purpur.PurpurConfig.unverifiedUsername.equals("default") ? new TranslatableComponent("multiplayer.disconnect.unverified_username") : PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(net.pl3x.purpur.PurpurConfig.unverifiedUsername))); // Purpur
|
||||
+ ServerLoginPacketListenerImpl.this.disconnect(org.purpurmc.purpur.PurpurConfig.unverifiedUsername.equals("default") ? new TranslatableComponent("multiplayer.disconnect.unverified_username") : PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(org.purpurmc.purpur.PurpurConfig.unverifiedUsername))); // Purpur
|
||||
ServerLoginPacketListenerImpl.LOGGER.error("Username '{}' tried to join with an invalid session", gameprofile.getName());
|
||||
}
|
||||
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 64c85ed460687ccf455e7ac4332e38ec524bd53c..aed55fe54e153b3c8f5181e39e712a457a00c37b 100644
|
||||
index 1a3618597bf2ad131152379ddeb54f4a3b11b052..5028f8556cba1df1e776c305ca58c37e0d1194e7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -166,6 +166,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Make anvil cumulative cost configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index ae7ff760a84620562b2b6b0d1d0fd2f94a09024a..ca0ac66e79a8236fce84a448e6e24a1d8bba7ac8 100644
|
||||
index 3f786be9c9efc069a3a1bc457f02421310941800..669093b7f531b4ff9d8348d0a08c8690f984218c 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -341,7 +341,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -13,12 +13,12 @@ index ae7ff760a84620562b2b6b0d1d0fd2f94a09024a..ca0ac66e79a8236fce84a448e6e24a1d
|
||||
|
||||
public static int calculateIncreasedRepairCost(int cost) {
|
||||
- return cost * 2 + 1;
|
||||
+ return net.pl3x.purpur.PurpurConfig.anvilCumulativeCost ? cost * 2 + 1 : 0;
|
||||
+ return org.purpurmc.purpur.PurpurConfig.anvilCumulativeCost ? cost * 2 + 1 : 0;
|
||||
}
|
||||
|
||||
public void setItemName(String newItemName) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index aed55fe54e153b3c8f5181e39e712a457a00c37b..370c1ae524fab837ddcef2419064c5a042a0892a 100644
|
||||
index 5028f8556cba1df1e776c305ca58c37e0d1194e7..841e858c68a4079be1d81d51638ebd107c724bf3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -257,6 +257,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Make lightning rod range configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 359ba71b137eac65a8ba6c1e5eda70412eb3550f..a77f715b395c782095df711f22e47f9d07f844af 100644
|
||||
index 62d6764b5477e77b34a96e816be74050eede6b4b..38cec56f2e399176be6fdc0db1da687d74d12215 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -13,12 +13,12 @@ index 359ba71b137eac65a8ba6c1e5eda70412eb3550f..a77f715b395c782095df711f22e47f9d
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
- }, pos, 128, PoiManager.Occupancy.ANY);
|
||||
+ }, pos, net.pl3x.purpur.PurpurConfig.lightningRodRange, PoiManager.Occupancy.ANY);
|
||||
+ }, pos, org.purpurmc.purpur.PurpurConfig.lightningRodRange, PoiManager.Occupancy.ANY);
|
||||
|
||||
return optional.map((blockposition1) -> {
|
||||
return blockposition1.above(1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 370c1ae524fab837ddcef2419064c5a042a0892a..18b56ce771b5a32364adffed172a12f68790c475 100644
|
||||
index 841e858c68a4079be1d81d51638ebd107c724bf3..643a19ef33b317df30b7bd3bd3420b90bea31179 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -258,6 +258,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Eating glow berries adds glow effect
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index 68321b5e425c0500a5691f80203176122cc1bff4..e42f48112725729a9f0c135d2879cfaa37a3e3a8 100644
|
||||
index 85329295afacad3edb6865846166aa56ebae0ed2..513343d225a71e242b0f237eefcd25147709d9d1 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -1070,7 +1070,7 @@ public class Items {
|
||||
@@ -13,12 +13,12 @@ index 68321b5e425c0500a5691f80203176122cc1bff4..e42f48112725729a9f0c135d2879cfaa
|
||||
public static final Item SOUL_LANTERN = registerBlock(Blocks.SOUL_LANTERN, CreativeModeTab.TAB_DECORATIONS);
|
||||
public static final Item SWEET_BERRIES = registerItem("sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, (new Item.Properties()).tab(CreativeModeTab.TAB_FOOD).food(Foods.SWEET_BERRIES)));
|
||||
- public static final Item GLOW_BERRIES = registerItem("glow_berries", new ItemNameBlockItem(Blocks.CAVE_VINES, (new Item.Properties()).food(Foods.GLOW_BERRIES).tab(CreativeModeTab.TAB_FOOD)));
|
||||
+ public static final Item GLOW_BERRIES = registerItem("glow_berries", new net.pl3x.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, (new Item.Properties()).food(Foods.GLOW_BERRIES).tab(CreativeModeTab.TAB_FOOD))); // Purpur
|
||||
+ public static final Item GLOW_BERRIES = registerItem("glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, (new Item.Properties()).food(Foods.GLOW_BERRIES).tab(CreativeModeTab.TAB_FOOD))); // Purpur
|
||||
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, CreativeModeTab.TAB_DECORATIONS);
|
||||
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS);
|
||||
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3312036449d0c28b5ee04abce13f8db2576cd017..fb13ffdb5d8bfb296fd10a5bc8e84bbbb309e4bb 100644
|
||||
index ab1d8798c092683b862a0c74dd9751395e3da1ae..e7514438274af2e71c1323f75e21ccf1e0303814 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -174,6 +174,7 @@ public class PurpurWorldConfig {
|
||||
@@ -39,11 +39,11 @@ index 3312036449d0c28b5ee04abce13f8db2576cd017..fb13ffdb5d8bfb296fd10a5bc8e84bbb
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java b/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..d45a39afbef10ae6888e2941faa4b9769ab4a832
|
||||
index 0000000000000000000000000000000000000000..7f526883495b3222746de3d0442e9e4fb5107036
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/item/GlowBerryItem.java
|
||||
@@ -0,0 +1,26 @@
|
||||
+package net.pl3x.purpur.item;
|
||||
+package org.purpurmc.purpur.item;
|
||||
+
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.minecraft.world.effect.MobEffectInstance;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Redirect System.out calls to plugin loggers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 2c37694a6055513803708c9fb40fb0c475da8e52..c8e6c5bef67c16cf1bef42fe890bf984f0fbafa1 100644
|
||||
index 455776981274e64724376a3182b60784b56db9cf..cd859eec6b0bee44bce83614e55709381baf5e6b 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -176,8 +176,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -14,14 +14,27 @@ index 2c37694a6055513803708c9fb40fb0c475da8e52..c8e6c5bef67c16cf1bef42fe890bf984
|
||||
|
||||
- System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream());
|
||||
- System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream());
|
||||
+ System.setOut(new net.pl3x.purpur.PurpurPrintStream(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream(), java.util.logging.Logger::info)); // Purpur
|
||||
+ System.setErr(new net.pl3x.purpur.PurpurPrintStream(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream(), java.util.logging.Logger::severe)); // Purpur
|
||||
+ System.setOut(new org.purpurmc.purpur.PurpurPrintStream(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream(), java.util.logging.Logger::info)); // Purpur
|
||||
+ System.setErr(new org.purpurmc.purpur.PurpurPrintStream(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream(), java.util.logging.Logger::severe)); // Purpur
|
||||
// CraftBukkit end
|
||||
|
||||
thread.setDaemon(true);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 2462f582bc539162e594ac66be1bae83c8436197..c3c6dc82565b5edcc975bc5d951a8b20767bc346 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -295,7 +295,7 @@ public final class CraftServer implements Server {
|
||||
public int reloadCount;
|
||||
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
|
||||
public static Exception excessiveVelEx; // Paper - Velocity warnings
|
||||
- private final SysoutCatcher sysoutCatcher = new SysoutCatcher(); // Paper
|
||||
+ //private final SysoutCatcher sysoutCatcher = new SysoutCatcher(); // Paper // Purpur - we have our own implementation that doesnt nag or prefix output
|
||||
|
||||
static {
|
||||
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurPrintStream.java b/src/main/java/org/purpurmc/purpur/PurpurPrintStream.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f88da0b86a683b25d429ceea4a36d6dde12b2b56
|
||||
index 0000000000000000000000000000000000000000..f39c451f8877c7cb66fd4761006176107eceeac6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurPrintStream.java
|
||||
@@ -0,0 +1,65 @@
|
||||
@@ -48,7 +61,7 @@ index 0000000000000000000000000000000000000000..f88da0b86a683b25d429ceea4a36d6dd
|
||||
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
+ * SOFTWARE.
|
||||
+ */
|
||||
+package net.pl3x.purpur;
|
||||
+package org.purpurmc.purpur;
|
||||
+
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.plugin.java.JavaPlugin;
|
||||
@@ -90,16 +103,3 @@ index 0000000000000000000000000000000000000000..f88da0b86a683b25d429ceea4a36d6dd
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0229efbb9b8838fc1228d171b19fa057aec27c2c..78c8b7684ff18c00e27d27c31226b8daaf5cd17b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -295,7 +295,7 @@ public final class CraftServer implements Server {
|
||||
public int reloadCount;
|
||||
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
|
||||
public static Exception excessiveVelEx; // Paper - Velocity warnings
|
||||
- private final SysoutCatcher sysoutCatcher = new SysoutCatcher(); // Paper
|
||||
+ //private final SysoutCatcher sysoutCatcher = new SysoutCatcher(); // Paper // Purpur - we have our own implementation that doesnt nag or prefix output
|
||||
|
||||
static {
|
||||
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Add uptime command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 12f5e8b11fad04a1fec717b68fbbf80efa3705bc..2be6bbe31c61a9b66c685cca79407c26dd99cf1b 100644
|
||||
index 6914b9a27798ee1f4f4169ff70b9cc4e2b61d9b4..99e94cbb4696164fc686cea739594eecc345e616 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -208,6 +208,7 @@ public class Commands {
|
||||
net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ net.pl3x.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index e35b469133dc8bdac02e97f8d0792690e568e31c..cfb6a133d8edda91d97eeba0ce911c58d1ac5753 100644
|
||||
index 8634c7ca5db006ef0f27a455f30e15e1d64fdaa6..8506e7e38959a6ae02777bb32268e6ba69143e83 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -293,6 +293,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -29,7 +29,7 @@ index e35b469133dc8bdac02e97f8d0792690e568e31c..cfb6a133d8edda91d97eeba0ce911c58
|
||||
public int autosavePeriod;
|
||||
public Commands vanillaCommandDispatcher;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 18b56ce771b5a32364adffed172a12f68790c475..c419af801e31bec057b04131ca5634aad19b343e 100644
|
||||
index 643a19ef33b317df30b7bd3bd3420b90bea31179..4081c96a44aba871c51ab9ae246bbb2b55ae7b09 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -166,6 +166,7 @@ public class PurpurConfig {
|
||||
@@ -82,11 +82,11 @@ index 18b56ce771b5a32364adffed172a12f68790c475..c419af801e31bec057b04131ca5634aa
|
||||
public static int barrelRows = 3;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/UptimeCommand.java b/src/main/java/org/purpurmc/purpur/command/UptimeCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c63ad24ca4ea4c2bd6239c7fe9beb64e78332e77
|
||||
index 0000000000000000000000000000000000000000..177a03c07c331a505d2b0ccfeb5509058e5449a1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/UptimeCommand.java
|
||||
@@ -0,0 +1,55 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
@@ -95,7 +95,7 @@ index 0000000000000000000000000000000000000000..c63ad24ca4ea4c2bd6239c7fe9beb64e
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
+import net.minecraft.commands.Commands;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+
|
||||
+import java.util.concurrent.TimeUnit;
|
||||
+import java.util.function.Function;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Structure seed options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
index f8a2aa31e38f64f88a82d5a388b58f1962d5fda0..9d22417b254dca722ea287a7d64b76efe1b851f8 100644
|
||||
index e4591c0b3c8547cc6f4e2a0891fc378ee4334d9e..fe0f14b363f4e6b583cd079f2cf627605731f764 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
@@ -580,6 +580,23 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource {
|
||||
@@ -14,18 +14,18 @@ index f8a2aa31e38f64f88a82d5a388b58f1962d5fda0..9d22417b254dca722ea287a7d64b76ef
|
||||
break;
|
||||
+ // Purpur start
|
||||
+ case "stronghold":
|
||||
+ if (net.pl3x.purpur.PurpurConfig.seedStructureStronghold != -1) {
|
||||
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureStronghold;
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureStronghold != -1) {
|
||||
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureStronghold;
|
||||
+ }
|
||||
+ break;
|
||||
+ case "mineshaft":
|
||||
+ if (net.pl3x.purpur.PurpurConfig.seedStructureMineshaft != -1) {
|
||||
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureMineshaft;
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureMineshaft != -1) {
|
||||
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureMineshaft;
|
||||
+ }
|
||||
+ break;
|
||||
+ case "buried_treasure":
|
||||
+ if (net.pl3x.purpur.PurpurConfig.seedStructureBuriedTreasure != -1) {
|
||||
+ seed = net.pl3x.purpur.PurpurConfig.seedStructureBuriedTreasure;
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.seedStructureBuriedTreasure != -1) {
|
||||
+ seed = org.purpurmc.purpur.PurpurConfig.seedStructureBuriedTreasure;
|
||||
+ }
|
||||
+ break;
|
||||
+ // Purpur end
|
||||
@@ -33,7 +33,7 @@ index f8a2aa31e38f64f88a82d5a388b58f1962d5fda0..9d22417b254dca722ea287a7d64b76ef
|
||||
|
||||
updated.put(entry.getKey(), new StructureFeatureConfiguration(feature.spacing(), feature.separation(), seed));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index c419af801e31bec057b04131ca5634aad19b343e..51283ec0bd1903c0eb3c04c7ed90785795c39311 100644
|
||||
index 4081c96a44aba871c51ab9ae246bbb2b55ae7b09..34096550efcdf11d3bba577d6c693d8c349ca43b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -194,6 +194,17 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Tool actionable options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
index 734276a74ad11f117a816b214c62415818c27dcc..b2fdfc62f1f273fd6f78ae6153444e9c1a863b00 100644
|
||||
index 734276a74ad11f117a816b214c62415818c27dcc..a8984ee74b82477e9f4fd70d31c5c622b32fface 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
@@ -32,22 +32,22 @@ public class AxeItem extends DiggerItem {
|
||||
@@ -18,13 +18,13 @@ index 734276a74ad11f117a816b214c62415818c27dcc..b2fdfc62f1f273fd6f78ae6153444e9c
|
||||
- return block.withPropertiesOf(blockState);
|
||||
- });
|
||||
+ // Purpur start
|
||||
+ Optional<net.pl3x.purpur.tool.Actionable> optional = Optional.ofNullable(level.purpurConfig.axeStrippables.get(blockState.getBlock()));
|
||||
+ Optional<net.pl3x.purpur.tool.Actionable> optional2 = Optional.ofNullable(level.purpurConfig.axeWeatherables.get(blockState.getBlock()));
|
||||
+ Optional<net.pl3x.purpur.tool.Actionable> optional3 = Optional.ofNullable(level.purpurConfig.axeWaxables.get(blockState.getBlock()));
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional = Optional.ofNullable(level.purpurConfig.axeStrippables.get(blockState.getBlock()));
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional2 = Optional.ofNullable(level.purpurConfig.axeWeatherables.get(blockState.getBlock()));
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional3 = Optional.ofNullable(level.purpurConfig.axeWaxables.get(blockState.getBlock()));
|
||||
+ // Purpur end
|
||||
ItemStack itemStack = context.getItemInHand();
|
||||
- Optional<BlockState> optional4 = Optional.empty();
|
||||
+ Optional<net.pl3x.purpur.tool.Actionable> optional4 = Optional.empty(); // Purpur
|
||||
+ Optional<org.purpurmc.purpur.tool.Actionable> optional4 = Optional.empty(); // Purpur
|
||||
if (optional.isPresent()) {
|
||||
- level.playSound(player, blockPos, SoundEvents.AXE_STRIP, SoundSource.BLOCKS, 1.0F, 1.0F);
|
||||
+ level.playSound(null, blockPos, SoundEvents.AXE_STRIP, SoundSource.BLOCKS, 1.0F, 1.0F); // Purpur - force sound
|
||||
@@ -46,7 +46,7 @@ index 734276a74ad11f117a816b214c62415818c27dcc..b2fdfc62f1f273fd6f78ae6153444e9c
|
||||
|
||||
- level.setBlock(blockPos, optional4.get(), 11);
|
||||
+ // Purpur start
|
||||
+ net.pl3x.purpur.tool.Actionable actionable = optional4.get();
|
||||
+ org.purpurmc.purpur.tool.Actionable actionable = optional4.get();
|
||||
+ level.setBlock(blockPos, actionable.into().withPropertiesOf(blockState), 11);
|
||||
+ actionable.drops().forEach((drop, chance) -> {
|
||||
+ if (level.random.nextDouble() < chance) {
|
||||
@@ -109,7 +109,7 @@ index a5c2d6f0c0850a99224a1a8d622fe6b341cee88b..d8777ab86465e25236e7abbafd7ff668
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4307430bc0074a9061a40415019341926fd685fa..7c945107ada60079ddf9cb9d51390b5a11b21e98 100644
|
||||
index b22347a9b3566fae94da5edb4ef6609540f2bffe..c5c0fb7bceddb1c1bb689bf67ed815fe361ae2ba 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -472,6 +472,153 @@ public class PurpurWorldConfig {
|
||||
@@ -268,11 +268,11 @@ index 4307430bc0074a9061a40415019341926fd685fa..7c945107ada60079ddf9cb9d51390b5a
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/tool/Actionable.java b/src/main/java/org/purpurmc/purpur/tool/Actionable.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..9273eb5f5cacf00eedeb5a396616871a3a39a7a0
|
||||
index 0000000000000000000000000000000000000000..e18c37f06730da9d3055d5215e813b1477c1e70e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/tool/Actionable.java
|
||||
@@ -0,0 +1,24 @@
|
||||
+package net.pl3x.purpur.tool;
|
||||
+package org.purpurmc.purpur.tool;
|
||||
+
|
||||
+import net.minecraft.world.item.Item;
|
||||
+import net.minecraft.world.level.block.Block;
|
||||
@@ -298,11 +298,11 @@ index 0000000000000000000000000000000000000000..9273eb5f5cacf00eedeb5a396616871a
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/tool/Strippable.java b/src/main/java/org/purpurmc/purpur/tool/Strippable.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c15b623db3331757963a4f565ae842d93471b769
|
||||
index 0000000000000000000000000000000000000000..bf5402214f41af9c09bd6c5c4f45d330516d742e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/tool/Strippable.java
|
||||
@@ -0,0 +1,12 @@
|
||||
+package net.pl3x.purpur.tool;
|
||||
+package org.purpurmc.purpur.tool;
|
||||
+
|
||||
+import net.minecraft.world.item.Item;
|
||||
+import net.minecraft.world.level.block.Block;
|
||||
@@ -316,11 +316,11 @@ index 0000000000000000000000000000000000000000..c15b623db3331757963a4f565ae842d9
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/tool/Tillable.java b/src/main/java/org/purpurmc/purpur/tool/Tillable.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..ec2e3c4009e7a18592eed677697680926db67247
|
||||
index 0000000000000000000000000000000000000000..e95412e3aeb57717ee4db03c66ae8001aea342af
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/tool/Tillable.java
|
||||
@@ -0,0 +1,50 @@
|
||||
+package net.pl3x.purpur.tool;
|
||||
+package org.purpurmc.purpur.tool;
|
||||
+
|
||||
+import net.minecraft.world.item.HoeItem;
|
||||
+import net.minecraft.world.item.Item;
|
||||
@@ -372,11 +372,11 @@ index 0000000000000000000000000000000000000000..ec2e3c4009e7a18592eed67769768092
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/tool/Waxable.java b/src/main/java/org/purpurmc/purpur/tool/Waxable.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..45a8007a9aaf3f9f11b9387ed4d980fe4f1ab8e3
|
||||
index 0000000000000000000000000000000000000000..64adb13b29b6757dcf227a55588da70ecabe083f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/tool/Waxable.java
|
||||
@@ -0,0 +1,12 @@
|
||||
+package net.pl3x.purpur.tool;
|
||||
+package org.purpurmc.purpur.tool;
|
||||
+
|
||||
+import net.minecraft.world.item.Item;
|
||||
+import net.minecraft.world.level.block.Block;
|
||||
@@ -390,11 +390,11 @@ index 0000000000000000000000000000000000000000..45a8007a9aaf3f9f11b9387ed4d980fe
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/tool/Weatherable.java b/src/main/java/org/purpurmc/purpur/tool/Weatherable.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..89c6a18580382d011aae000b39e8fede18d7c5ea
|
||||
index 0000000000000000000000000000000000000000..b7586f494528f30eb0da82420d3bcf5b83a1a902
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/tool/Weatherable.java
|
||||
@@ -0,0 +1,12 @@
|
||||
+package net.pl3x.purpur.tool;
|
||||
+package org.purpurmc.purpur.tool;
|
||||
+
|
||||
+import net.minecraft.world.item.Item;
|
||||
+import net.minecraft.world.level.block.Block;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Customizable sleeping actionbar messages
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index a77f715b395c782095df711f22e47f9d07f844af..dfbab7b451656db88e1a7d3a6bf407637da41ff9 100644
|
||||
index 38cec56f2e399176be6fdc0db1da687d74d12215..593906beaeb9c9c30fe4e9a092b2494b248905ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -17,21 +17,21 @@ index a77f715b395c782095df711f22e47f9d07f844af..dfbab7b451656db88e1a7d3a6bf40763
|
||||
|
||||
if (this.sleepStatus.areEnoughSleeping(i)) {
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.sleepSkippingNight.isBlank()) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.sleepSkippingNight.isBlank()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.sleepSkippingNight.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(net.pl3x.purpur.PurpurConfig.sleepSkippingNight));
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.sleepSkippingNight.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(org.purpurmc.purpur.PurpurConfig.sleepSkippingNight));
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
chatmessage = new TranslatableComponent("sleep.skipping_night");
|
||||
} else {
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.sleepingPlayersPercent.isBlank()) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent.isBlank()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.sleepingPlayersPercent.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(net.pl3x.purpur.PurpurConfig.sleepingPlayersPercent,
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent.equalsIgnoreCase("default")) {
|
||||
+ chatmessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(org.purpurmc.purpur.PurpurConfig.sleepingPlayersPercent,
|
||||
+ net.kyori.adventure.text.minimessage.Template.of("count", Integer.toString(this.sleepStatus.amountSleeping())),
|
||||
+ net.kyori.adventure.text.minimessage.Template.of("total", Integer.toString(this.sleepStatus.sleepersNeeded(i)))));
|
||||
+ } else
|
||||
@@ -40,7 +40,7 @@ index a77f715b395c782095df711f22e47f9d07f844af..dfbab7b451656db88e1a7d3a6bf40763
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 51283ec0bd1903c0eb3c04c7ed90785795c39311..00f3e7b110f38572bb2121b6f2e14e2584f4f60c 100644
|
||||
index 34096550efcdf11d3bba577d6c693d8c349ca43b..b149e8cebf42a08e2e786f8bc06fc8b4387c991d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -168,6 +168,8 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,20 +5,20 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
|
||||
|
||||
|
||||
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 13cdfb0175152d2ba203c01f14f2f98d87f812b3..152a4c88fb714e40010b7eaedff03216e8b9f097 100644
|
||||
index fd06b697b810e4e74345c636cb3a02bc23959e76..2439af153aa2d6ae62bca41a794042fc5d0db1db 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -400,7 +400,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
return false;
|
||||
} else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
} else if (net.pl3x.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
} else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
- } else if (source instanceof IndirectEntityDamageSource) {
|
||||
+ } else if (source instanceof IndirectEntityDamageSource && !(this.level.purpurConfig.endermanIgnoreProjectiles && source.getDirectEntity() instanceof net.minecraft.world.entity.projectile.Projectile)) { // Purpur
|
||||
Entity entity = source.getDirectEntity();
|
||||
boolean flag;
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b28c15180fff218381fbeccc505ed9f04d08e03f..5f0b1e2b014a1340583c5a1c9d0c8d932d31dcbf 100644
|
||||
index ab59d6ed968ddcf33677447ee0584443a15d0c79..998eba4c1cdf65efbd0926351908c9897bc0ae01 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1286,6 +1286,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Add compass command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 2be6bbe31c61a9b66c685cca79407c26dd99cf1b..3ee6451e9aa21738c2e89a6609cc5cbf405c35d5 100644
|
||||
index 99e94cbb4696164fc686cea739594eecc345e616..508623c5042e752a99e0ed09406fcc368fa66f8e 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -210,6 +210,7 @@ public class Commands {
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
+ net.pl3x.purpur.command.CompassCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
|
||||
+ org.purpurmc.purpur.command.CompassCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 3ad8167804f38262e1e7ecd878fce76573568ab8..a6176958f1eac3bf6b49ec48a9fe99fff5d847a7 100644
|
||||
index b609213894c5c9c34188e0667e34b61876ea92ce..d2cbc3ec9cfebc7576caf25606f4dbf30698310c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -257,6 +257,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -59,7 +59,7 @@ index 3ad8167804f38262e1e7ecd878fce76573568ab8..a6176958f1eac3bf6b49ec48a9fe99ff
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/item/CompassItem.java b/src/main/java/net/minecraft/world/item/CompassItem.java
|
||||
index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..046bf9cbf02b002e89f7d39b616dd0f5a9539ed7 100644
|
||||
index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..49e86b191397b49480684e7d99a515e9f8cf73fd 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/CompassItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/CompassItem.java
|
||||
@@ -46,6 +46,17 @@ public class CompassItem extends Item implements Vanishable {
|
||||
@@ -68,7 +68,7 @@ index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..046bf9cbf02b002e89f7d39b616dd0f5
|
||||
if (!world.isClientSide) {
|
||||
+ // Purpur start
|
||||
+ if (world.purpurConfig.compassItemShowsBossBar && entity instanceof net.minecraft.server.level.ServerPlayer player && !player.compassBar()) {
|
||||
+ net.pl3x.purpur.task.CompassTask task = net.pl3x.purpur.task.CompassTask.instance();
|
||||
+ org.purpurmc.purpur.task.CompassTask task = org.purpurmc.purpur.task.CompassTask.instance();
|
||||
+ boolean hasTask = task.hasPlayer(player.getUUID());
|
||||
+ if (selected && !hasTask) {
|
||||
+ task.addPlayer(player.getBukkitEntity());
|
||||
@@ -81,7 +81,7 @@ index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..046bf9cbf02b002e89f7d39b616dd0f5
|
||||
CompoundTag compoundTag = stack.getOrCreateTag();
|
||||
if (compoundTag.contains("LodestoneTracked") && !compoundTag.getBoolean("LodestoneTracked")) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 00f3e7b110f38572bb2121b6f2e14e2584f4f60c..ffc1c2bf3cc6a892a073acb7d873084e3aaa7067 100644
|
||||
index b149e8cebf42a08e2e786f8bc06fc8b4387c991d..7ffbb3e4cdae80c99f0a979a7e00b2f6fe5ac189 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -252,6 +252,11 @@ public class PurpurConfig {
|
||||
@@ -111,7 +111,7 @@ index 00f3e7b110f38572bb2121b6f2e14e2584f4f60c..ffc1c2bf3cc6a892a073acb7d873084e
|
||||
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
|
||||
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5f0b1e2b014a1340583c5a1c9d0c8d932d31dcbf..37c96672f890b32892ba8eeac25baab714a3d095 100644
|
||||
index 998eba4c1cdf65efbd0926351908c9897bc0ae01..97cb7b68186b1379efce1d855adc4d4be1dadfe4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -176,6 +176,7 @@ public class PurpurWorldConfig {
|
||||
@@ -132,17 +132,17 @@ index 5f0b1e2b014a1340583c5a1c9d0c8d932d31dcbf..37c96672f890b32892ba8eeac25baab7
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/CompassCommand.java b/src/main/java/org/purpurmc/purpur/command/CompassCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..5381dfa162dae02c93afcf28d7c6dfb2170ab175
|
||||
index 0000000000000000000000000000000000000000..c493bb0ff9b0de2edadbee4138eab4d51f1fd20a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/CompassCommand.java
|
||||
@@ -0,0 +1,21 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+package org.purpurmc.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
+import net.minecraft.commands.Commands;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.task.CompassTask;
|
||||
+import org.purpurmc.purpur.task.CompassTask;
|
||||
+
|
||||
+public class CompassCommand {
|
||||
+ public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
||||
@@ -158,7 +158,7 @@ index 0000000000000000000000000000000000000000..5381dfa162dae02c93afcf28d7c6dfb2
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/BossBarTask.java b/src/main/java/org/purpurmc/purpur/task/BossBarTask.java
|
||||
index 89122d7bcfd037a22d277e562f5300f2f3eab2db..d4d08946f38e6e29943a310c4b9385d2e092c803 100644
|
||||
index d38b3c4a722396cc3b61a9a8ed7e39cea4ae65cb..d333334f323049ca97e756324cff0b23eddacd2a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/task/BossBarTask.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/BossBarTask.java
|
||||
@@ -90,10 +90,12 @@ public abstract class BossBarTask extends BukkitRunnable {
|
||||
@@ -190,15 +190,15 @@ index 89122d7bcfd037a22d277e562f5300f2f3eab2db..d4d08946f38e6e29943a310c4b9385d2
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/CompassTask.java b/src/main/java/org/purpurmc/purpur/task/CompassTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..556ac7b6127a3827b686627364a7db9c853a2abd
|
||||
index 0000000000000000000000000000000000000000..c34abe39812466437826a06101cd81c770e9e7a3
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/CompassTask.java
|
||||
@@ -0,0 +1,52 @@
|
||||
+package net.pl3x.purpur.task;
|
||||
+package org.purpurmc.purpur.task;
|
||||
+
|
||||
+import net.kyori.adventure.bossbar.BossBar;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+import org.bukkit.entity.Player;
|
||||
+
|
||||
+public class CompassTask extends BossBarTask {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance
|
||||
|
||||
|
||||
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 591573926eb1358ef82e9e5418be0f1d4ba663cb..68f5f5322521d844c26582606a8d1235d4ddf58a 100644
|
||||
index 49e5a753aae7d72102ee700f3d8309f2f488cc12..022441af276cd9facba1ee4013d9d367db26711d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -75,6 +75,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -27,7 +27,7 @@ index 591573926eb1358ef82e9e5418be0f1d4ba663cb..68f5f5322521d844c26582606a8d1235
|
||||
@@ -235,18 +237,20 @@ public class Dolphin extends WaterAnimal {
|
||||
this.goalSelector.addGoal(0, new BreathAirGoal(this));
|
||||
this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.2000000476837158D, true)); // Purpur
|
||||
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
|
||||
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
|
||||
@@ -40,14 +40,14 @@ index 591573926eb1358ef82e9e5418be0f1d4ba663cb..68f5f5322521d844c26582606a8d1235
|
||||
this.goalSelector.addGoal(8, new Dolphin.PlayWithItemsGoal());
|
||||
this.goalSelector.addGoal(8, new FollowBoatGoal(this));
|
||||
this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D));
|
||||
this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers());
|
||||
+ this.targetSelector.addGoal(2, new net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, target -> isNaturallyAggressiveToPlayers)); // Purpur
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b3be28a08fb4296e43db47737bbd3379f1798599..9deee35a36e1a30a7e567e537ecf68dc918954e8 100644
|
||||
index 708823c9688c9d4b1121c10c28f24b21abd89656..a51851aad7cfee98991c5e554e701fe51d6b6828 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1200,6 +1200,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index fa3bbdd27de6382904588213022191a52d9758a0..9009e448c14dedb271abe671d88aff0dd671408c 100644
|
||||
index 7042b95e92520c5e152af0fa71a553122ec814df..bbd210f8779138b225ce886b3917ca9ccbcbcf60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -37,6 +37,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
||||
@@ -39,7 +39,7 @@ index fa3bbdd27de6382904588213022191a52d9758a0..9009e448c14dedb271abe671d88aff0d
|
||||
@Override
|
||||
@@ -74,6 +82,7 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
|
||||
+ this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.MeleeAttackGoal(this, 1.2000000476837158D, true)); // Purpur
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
@@ -59,7 +59,7 @@ index fa3bbdd27de6382904588213022191a52d9758a0..9009e448c14dedb271abe671d88aff0d
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9deee35a36e1a30a7e567e537ecf68dc918954e8..41bc2abe5b50041c9ec180ee56c9318009655d88 100644
|
||||
index a51851aad7cfee98991c5e554e701fe51d6b6828..ce1b9c19881709b0b2b5edb065251d4401241085 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1153,7 +1153,14 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Config for Grindstones ignoring curses
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
index 0bdf874ddb951daf8d469575a44144504472d12d..b54e172fa18adeb563a3c9bda56e5579b64e5bcf 100644
|
||||
index 0bdf874ddb951daf8d469575a44144504472d12d..66d1b438227e004d7ffb6e7c5d0cd3e6da3d2a49 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
@@ -130,7 +130,7 @@ public class GrindstoneMenu extends AbstractContainerMenu {
|
||||
@@ -13,7 +13,7 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..b54e172fa18adeb563a3c9bda56e5579
|
||||
Integer integer = (Integer) entry.getValue();
|
||||
|
||||
- if (!enchantment.isCurse()) {
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse()) { // Purpur
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse()) { // Purpur
|
||||
j += enchantment.getMinCost(integer);
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..b54e172fa18adeb563a3c9bda56e5579
|
||||
Enchantment enchantment = (Enchantment) entry.getKey();
|
||||
|
||||
- if (!enchantment.isCurse() || EnchantmentHelper.getItemEnchantmentLevel(enchantment, itemstack2) == 0) {
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse() || EnchantmentHelper.getItemEnchantmentLevel(enchantment, itemstack2) == 0) { // Purpur
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse() || EnchantmentHelper.getItemEnchantmentLevel(enchantment, itemstack2) == 0) { // Purpur
|
||||
itemstack2.enchant(enchantment, (Integer) entry.getValue());
|
||||
}
|
||||
}
|
||||
@@ -31,12 +31,12 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..b54e172fa18adeb563a3c9bda56e5579
|
||||
itemstack1.setCount(amount);
|
||||
Map<Enchantment, Integer> map = (Map) EnchantmentHelper.getEnchantments(item).entrySet().stream().filter((entry) -> {
|
||||
- return ((Enchantment) entry.getKey()).isCurse();
|
||||
+ return net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses && ((Enchantment) entry.getKey()).isCurse(); // Purpur
|
||||
+ return org.purpurmc.purpur.PurpurConfig.grindstoneIgnoreCurses && ((Enchantment) entry.getKey()).isCurse(); // Purpur
|
||||
}).collect(Collectors.toMap(Entry::getKey, Entry::getValue));
|
||||
|
||||
EnchantmentHelper.setEnchantments(map, itemstack1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index ffc1c2bf3cc6a892a073acb7d873084e3aaa7067..7a8f17af485dc35ba4095e0adcadc8c32b897a9d 100644
|
||||
index 7ffbb3e4cdae80c99f0a979a7e00b2f6fe5ac189..f8af5ec109df029ce66fea7d888b8712855c107a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -306,6 +306,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 8f61044b7837ec433763746980b55b739ae4db8d..9619ea9005204d6b81d1622601e39477f0493def 100644
|
||||
index 8506e7e38959a6ae02777bb32268e6ba69143e83..85da17adb5991a79ce35b8919e242e90c4c55d21 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -32,7 +32,7 @@ index 8f61044b7837ec433763746980b55b739ae4db8d..9619ea9005204d6b81d1622601e39477
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index c8e6c5bef67c16cf1bef42fe890bf984f0fbafa1..24ddef59225faf44773430231f5c7be1b28718cf 100644
|
||||
index cd859eec6b0bee44bce83614e55709381baf5e6b..9412a238aa3538bf958cf3b5ce2be5a9beead90f 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -288,6 +288,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -40,7 +40,7 @@ index c8e6c5bef67c16cf1bef42fe890bf984f0fbafa1..24ddef59225faf44773430231f5c7be1
|
||||
return false;
|
||||
}
|
||||
+ // Purpur start
|
||||
+ if (net.pl3x.purpur.PurpurConfig.useUPnP) {
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.useUPnP) {
|
||||
+ LOGGER.info("[UPnP] Attempting to start UPnP port forwarding service...");
|
||||
+ if (dev.omega24.upnp4j.UPnP4J.isUPnPAvailable()) {
|
||||
+ if (dev.omega24.upnp4j.UPnP4J.isOpen(this.getPort(), dev.omega24.upnp4j.util.Protocol.TCP)) {
|
||||
@@ -67,7 +67,7 @@ index c8e6c5bef67c16cf1bef42fe890bf984f0fbafa1..24ddef59225faf44773430231f5c7be1
|
||||
// CraftBukkit start
|
||||
// this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7a8f17af485dc35ba4095e0adcadc8c32b897a9d..f9d6d5d9ccd648694f5f225f1534202d6b4f0db3 100644
|
||||
index f8af5ec109df029ce66fea7d888b8712855c107a..a2f89f4051f62ed84ab3d5c8f3c1a9e7974108dd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -391,4 +391,9 @@ public class PurpurConfig {
|
||||
|
||||
@@ -24,7 +24,7 @@ index 0000000000000000000000000000000000000000..e77f45f761368da9b230c425d975a717
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/event/world/StructureGenerateEvent.java
|
||||
@@ -0,0 +1,68 @@
|
||||
+package net.pl3x.purpur.event.world;
|
||||
+package org.purpurmc.purpur.event.world;
|
||||
+
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.StructureType;
|
||||
|
||||
@@ -28,7 +28,7 @@ index f8a2aa31e38f64f88a82d5a388b58f1962d5fda0..b98f05c32d81195e779701d90d30f345
|
||||
StructureStart<?> structurestart = structureAccessor.getStartForFeature(sectionposition, StructureFeature.STRONGHOLD, chunk);
|
||||
-
|
||||
+ // Purpur start
|
||||
+ if (new net.pl3x.purpur.event.world.StructureGenerateEvent(
|
||||
+ if (new org.purpurmc.purpur.event.world.StructureGenerateEvent(
|
||||
+ structureAccessor.getWorld().getWorld(),
|
||||
+ org.bukkit.StructureType.getStructureTypes().get(structurestart.getFeature().getFeatureName().toLowerCase()),
|
||||
+ chunkcoordintpair.x,
|
||||
|
||||
Reference in New Issue
Block a user