diff --git a/gradle.properties b/gradle.properties index bbfa5b63..59208972 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.8.2+build.194 # 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 1f6d824a..e642f612 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; @@ -608,18 +608,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";} + } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index e83c1ae8..5b95293a 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",