Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 12:30:06 +01:00
83 Zeilen
3.1 KiB
Diff
83 Zeilen
3.1 KiB
Diff
From e3dce716d008beed3006863b1e558287be5e7535 Mon Sep 17 00:00:00 2001
|
|
From: gsand <gsandowns@gmail.com>
|
|
Date: Sun, 8 Mar 2015 04:10:02 -0500
|
|
Subject: [PATCH] Configurable game mechanics changes
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
|
index a756192..ce44b25 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
|
@@ -340,13 +340,7 @@ public class EntityBoat extends Entity {
|
|
if (!destroyEvent.isCancelled()) {
|
|
this.die();
|
|
if (this.world.getGameRules().getBoolean("doEntityDrops")) {
|
|
- for (k = 0; k < 3; ++k) {
|
|
- this.a(Item.getItemOf(Blocks.PLANKS), 1, 0.0F);
|
|
- }
|
|
-
|
|
- for (k = 0; k < 2; ++k) {
|
|
- this.a(Items.STICK, 1, 0.0F);
|
|
- }
|
|
+ breakNaturally(); // PaperSpigot
|
|
}
|
|
} // CraftBukkit end
|
|
}
|
|
@@ -451,15 +445,7 @@ public class EntityBoat extends Entity {
|
|
if (!destroyEvent.isCancelled()) {
|
|
this.die();
|
|
if (this.world.getGameRules().getBoolean("doEntityDrops")) {
|
|
- int i;
|
|
-
|
|
- for (i = 0; i < 3; ++i) {
|
|
- this.a(Item.getItemOf(Blocks.PLANKS), 1, 0.0F);
|
|
- }
|
|
-
|
|
- for (i = 0; i < 2; ++i) {
|
|
- this.a(Items.STICK, 1, 0.0F);
|
|
- }
|
|
+ breakNaturally(); // PaperSpigot
|
|
}
|
|
} // CraftBukkit end
|
|
}
|
|
@@ -495,4 +481,21 @@ public class EntityBoat extends Entity {
|
|
public int m() {
|
|
return this.datawatcher.getInt(18);
|
|
}
|
|
+
|
|
+ /**
|
|
+ * PaperSpigot - Handles boat drops depending on the user's config setting
|
|
+ */
|
|
+ public void breakNaturally() {
|
|
+ if (this.world.paperSpigotConfig.boatsDropBoats) {
|
|
+ this.a(Items.BOAT, 1, 0.0F);
|
|
+ } else {
|
|
+ for (int k = 0; k < 3; ++k) {
|
|
+ this.a(Item.getItemOf(Blocks.PLANKS), 1, 0.0F);
|
|
+ }
|
|
+
|
|
+ for (int k = 0; k < 2; ++k) {
|
|
+ this.a(Items.STICK, 1, 0.0F);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
index ac02b90..f33142a 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -180,4 +180,10 @@ public class PaperSpigotWorldConfig
|
|
removeUnloadedTNTEntities = getBoolean( "remove-unloaded.tnt-entities", true );
|
|
removeUnloadedFallingBlocks = getBoolean( "remove-unloaded.falling-blocks", true );
|
|
}
|
|
+
|
|
+ public boolean boatsDropBoats;
|
|
+ private void mechanicsChanges()
|
|
+ {
|
|
+ boatsDropBoats = getBoolean( "game-mechanics.boats-drop-boats", false );
|
|
+ }
|
|
}
|
|
--
|
|
1.9.1
|
|
|