Add step height config to controllable minecarts

This commit is contained in:
William Blake Galbreath
2019-06-30 00:12:13 -05:00
parent e033d1e4cd
commit 370a42aeda

View File

@@ -1,4 +1,4 @@
From d72f07a6c6675db0203037654ac0b192b358e426 Mon Sep 17 00:00:00 2001
From b1040138626c7cdb83910b7e0caff26e4be6fce9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 29 Jun 2019 02:32:40 -0500
Subject: [PATCH] Controllable Minecarts
@@ -7,8 +7,8 @@ Subject: [PATCH] Controllable Minecarts
.../java/net/minecraft/server/Entity.java | 1 +
.../server/EntityMinecartAbstract.java | 39 +++++++++++++++++++
.../net/minecraft/server/ItemMinecart.java | 8 ++--
.../java/net/pl3x/purpur/PurpurConfig.java | 29 ++++++++++++++
4 files changed, 74 insertions(+), 3 deletions(-)
.../java/net/pl3x/purpur/PurpurConfig.java | 31 +++++++++++++++
4 files changed, 76 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index ca429be7d..ee099b672 100644
@@ -23,7 +23,7 @@ index ca429be7d..ee099b672 100644
return this.inLava;
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 6df2930e2..63ae1550b 100644
index 6df2930e2..c5b4057c3 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -4,6 +4,7 @@ import java.util.Iterator;
@@ -74,7 +74,7 @@ index 6df2930e2..63ae1550b 100644
+ dir.multiply(-0.5);
+ }
+ setMot(new Vec3D(dir.getX(), getMot().y, dir.getZ()));
+ setStepHeight(1.0F);
+ setStepHeight(PurpurConfig.controllableMinecartsStepHeight);
+ } else {
+ setStepHeight(0.0F);
+ }
@@ -111,7 +111,7 @@ index 764427456..456eced16 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 448d21d9e..76d7be4d8 100644
index 448d21d9e..0d378830e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -1,9 +1,13 @@
@@ -128,19 +128,21 @@ index 448d21d9e..76d7be4d8 100644
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -293,4 +297,29 @@ public class PurpurConfig {
@@ -293,4 +297,31 @@ public class PurpurConfig {
ridableZombiePigman = getBoolean("settings.ridable.zombie_pigman", ridableZombiePigman);
ridableZombieVillager = getBoolean("settings.ridable.zombie_villager", ridableZombieVillager);
}
+
+ public static boolean controllableMinecarts = true;
+ public static boolean controllableMinecartsPlaceAnywhere = true;
+ public static float controllableMinecartsStepHeight = 1.0F;
+ public static double controllableMinecartsHopBoost = 0.5D;
+ public static double controllableMinecartsBaseSpeed = 0.1D;
+ public static Map<Block, Double> controllableMinecartsBlockSpeeds = new HashMap<>();
+ private static void controllableMinecarts() {
+ controllableMinecarts = getBoolean("settings.controllable-minecarts.enabled", controllableMinecarts);
+ controllableMinecartsPlaceAnywhere = getBoolean("settings.controllable-minecarts.place-anywhere", controllableMinecartsPlaceAnywhere);
+ controllableMinecartsStepHeight = (float) getDouble("settings.controllable-minecarts.step-height", controllableMinecartsStepHeight);
+ controllableMinecartsHopBoost = getDouble("settings.controllable-minecarts.hop-boost", controllableMinecartsHopBoost);
+ controllableMinecartsBaseSpeed = getDouble("settings.controllable-minecarts.base-speed", controllableMinecartsBaseSpeed);
+ if (!config.contains("settings.controllable-minecarts.block-speed")) {