papermc/Spigot-Server-Patches/0033-Configurable-end-credits.patch
Byteflux 3fd3544a36 Add Lighting Queue
The lighting queue spreads out the processing of light updates across
multiple ticks based on how much free time the server has left at the end
of the tick.
2016-03-24 23:38:38 -07:00

56 lines
2.4 KiB
Diff

From a0fe380f5153cbc63cf9c9243bc64b2d1542bfa0 Mon Sep 17 00:00:00 2001
From: DoctorDark <doctordark11@gmail.com>
Date: Wed, 16 Mar 2016 02:21:39 -0500
Subject: [PATCH] Configurable end credits
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index e0e9a65..3a57c8e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -171,4 +171,10 @@ public class PaperWorldConfig {
queueLightUpdates = getBoolean("queue-light-updates", false);
log("Lighting Queue enabled: " + queueLightUpdates);
}
+
+ public boolean disableEndCredits;
+ private void disableEndCredits() {
+ disableEndCredits = getBoolean("game-mechanics.disable-end-credits", false);
+ log("End credits disabled: " + disableEndCredits);
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 8f57b21..47ba1e3 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -523,6 +523,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
return this.world.pvpMode;
}
+ /**
+ * Paper - Give "theEnd2" achievement if the player doesn't already have it
+ */
+ private void giveTheEnd2() {
+ if (!this.a(AchievementList.D)) {
+ this.b(AchievementList.D);
+ }
+ }
+
public Entity c(int i) {
//this.cj = true; // CraftBukkit - Moved down and into PlayerList#changeDimension
if (this.dimension == 1 && i == 1) {
@@ -530,7 +539,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.world.kill(this);
if (!this.viewingCredits) {
this.viewingCredits = true;
- if (this.a(AchievementList.D)) {
+ // Paper start - Allow configurable end portal credits
+ if (world.paperConfig.disableEndCredits || this.a(AchievementList.D)) {
+ this.giveTheEnd2();
+ // Paper end
this.playerConnection.sendPacket(new PacketPlayOutGameStateChange(4, 0.0F));
} else {
this.b((Statistic) AchievementList.D);
--
2.7.1.windows.2