From d40440cebea4465e17477fd5e9fbbdc815a06c4a Mon Sep 17 00:00:00 2001 From: DoctorDark 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 fd606ee14..c00fa83d5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -149,4 +149,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 4b9e83161..7c8c61ee8 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -513,6 +513,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return this.world.pvpMode; } + + // Paper start - Give "theEnd2" achievement if the player doesn't already have it + private void giveTheEnd2() { + if (!this.a(AchievementList.D)) { + this.b(AchievementList.D); + } + } + // Paper end + @Nullable public Entity c(int i) { if (this.isSleeping()) return this; // CraftBukkit - SPIGOT-3154 @@ -522,7 +531,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.12.1.windows.1