From 9afd1f3211de440a0e5368fd66636948a1f6018a Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 13 May 2020 10:33:43 -0300 Subject: [PATCH 1/2] validators to creative movement controls --- src/main/java/carpet/CarpetSettings.java | 13 +++++++---- .../mixins/LivingEntity_creativeFlyMixin.java | 4 ++-- src/main/java/carpet/settings/Validator.java | 22 +++++++++---------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index fe099c00..d37f3f13 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -605,18 +605,23 @@ public class CarpetSettings "having it set on the decicated server has no effect", "but this also means it will work on vanilla servers as well" }, - category = {CREATIVE, CLIENT} + category = {CREATIVE, CLIENT}, + validate = Validator.NONNEGATIVE_NUMBER.class ) - public static double creativeFlySpeed = 1.0f; + public static double creativeFlySpeed = 1.0; @Rule( desc = "Creative air drag", extra = { + "Increased drag will slow down your flight", + "So need to adjust speed accordingly", + "With 1.0 drag, using speed of 11 seems to matching vanilla speeds.", "Purely client side setting, meaning that", "having it set on the decicated server has no effect", "but this also means it will work on vanilla servers as well" }, - category = {CREATIVE, CLIENT} + category = {CREATIVE, CLIENT}, + validate = Validator.PROBABILITY.class ) - public static double creativeFlyDrag = 0.91f; + public static double creativeFlyDrag = 0.09; } diff --git a/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java b/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java index 4d1410df..c50a364c 100644 --- a/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java +++ b/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java @@ -27,11 +27,11 @@ public abstract class LivingEntity_creativeFlyMixin extends Entity @ModifyConstant(method = "travel", constant = @Constant(floatValue = 0.91F), expect = 2) private float drag(float original) { - if (CarpetSettings.creativeFlyDrag != 0.91D && (Object)this instanceof PlayerEntity) + if (CarpetSettings.creativeFlyDrag != 0.09 && (Object)this instanceof PlayerEntity) { PlayerEntity self = (PlayerEntity)(Object)(this); if (self.abilities.flying && ! onGround ) - return (float)CarpetSettings.creativeFlyDrag; + return (float)(1.0-CarpetSettings.creativeFlyDrag); } return original; } diff --git a/src/main/java/carpet/settings/Validator.java b/src/main/java/carpet/settings/Validator.java index 56bf64a0..8b561ff6 100644 --- a/src/main/java/carpet/settings/Validator.java +++ b/src/main/java/carpet/settings/Validator.java @@ -17,17 +17,6 @@ public abstract class Validator public abstract T validate(ServerCommandSource source, ParsedRule currentRule, T newValue, String string); public String description() {return null;} - public static class POSITIVE_NUMBER extends Validator - { - @Override - public T validate(ServerCommandSource source, ParsedRule currentRule, T newValue, String string) - { - return newValue.doubleValue() > 0 ? newValue : null; - } - @Override - public String description() { return "Must be a positive number"; } - } - public static class _COMMAND extends Validator { @Override @@ -119,4 +108,15 @@ public abstract class Validator @Override public String description() { return "Must be a positive number";} } + + public static class PROBABILITY extends Validator + { + @Override + public T validate(ServerCommandSource source, ParsedRule currentRule, T newValue, String string) + { + return (newValue.doubleValue() >= 0 && newValue.doubleValue() <= 1 )? newValue : null; + } + @Override + public String description() { return "Must be between 0 and 1";} + } } From 743a57de90465e19f543fc3489f863f9eef4f410 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 13 May 2020 10:36:10 -0300 Subject: [PATCH 2/2] 1.3.23 --- gradle.properties | 2 +- src/main/java/carpet/CarpetSettings.java | 2 +- src/main/resources/fabric.mod.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8864d07e..00547151 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.7.8+build.188 # Mod Properties - mod_version = 1.3.22+v200506 + mod_version = 1.3.23+v200513 maven_group = carpet archives_base_name = fabric-carpet diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index d37f3f13..2d83b9c3 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -33,7 +33,7 @@ import static carpet.settings.RuleCategory.CLIENT; @SuppressWarnings("CanBeFinal") public class CarpetSettings { - public static final String carpetVersion = "1.3.22+v200506"; + public static final String carpetVersion = "1.3.23+v200513"; public static final Logger LOG = LogManager.getLogger(); public static boolean skipGenerationChecks = false; public static boolean impendingFillSkipUpdates = false; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5c50b3d1..4ff9c1ff 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "carpet", - "version": "1.3.22", + "version": "1.3.23", "name": "Carpet Mod in Fabric", "description": "Carpet made out of fabric",