From 936587ed6c412ed6f3e3ad56f569c048f7649339 Mon Sep 17 00:00:00 2001 From: CodeF53 <37855219+CodeF53@users.noreply.github.com> Date: Tue, 24 May 2022 15:36:32 -0600 Subject: [PATCH] Add more config entries Closes #27 --- .../java/net/F53/HorseBuff/config/ModConfig.java | 12 ++++++++++++ .../net/F53/HorseBuff/mixin/Server/BreakSpeed.java | 3 ++- .../F53/HorseBuff/mixin/Server/MovementCheck.java | 3 ++- .../net/F53/HorseBuff/mixin/Server/StepHeight.java | 6 +++++- src/main/resources/assets/horsebuff/lang/en_us.json | 8 ++++++++ 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/F53/HorseBuff/config/ModConfig.java b/src/main/java/net/F53/HorseBuff/config/ModConfig.java index 362fca8..c365665 100644 --- a/src/main/java/net/F53/HorseBuff/config/ModConfig.java +++ b/src/main/java/net/F53/HorseBuff/config/ModConfig.java @@ -24,6 +24,18 @@ public class ModConfig implements ConfigData{ @ConfigEntry.Gui.Tooltip public boolean portalPatch = true; + @ConfigEntry.Category("Server") + @ConfigEntry.Gui.Tooltip + public boolean rubberBand = true; + + @ConfigEntry.Category("Server") + @ConfigEntry.Gui.Tooltip + public boolean breakSpeed = true; + + @ConfigEntry.Category("Server") + @ConfigEntry.Gui.Tooltip + public boolean stepHeight = false; + @ConfigEntry.Category("Client") @ConfigEntry.Gui.Tooltip @ConfigEntry.Gui.CollapsibleObject diff --git a/src/main/java/net/F53/HorseBuff/mixin/Server/BreakSpeed.java b/src/main/java/net/F53/HorseBuff/mixin/Server/BreakSpeed.java index 3ce752a..2804587 100644 --- a/src/main/java/net/F53/HorseBuff/mixin/Server/BreakSpeed.java +++ b/src/main/java/net/F53/HorseBuff/mixin/Server/BreakSpeed.java @@ -1,5 +1,6 @@ package net.F53.HorseBuff.mixin.Server; +import net.F53.HorseBuff.config.ModConfig; import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.passive.HorseBaseEntity; @@ -18,7 +19,7 @@ protected BreakSpeed(EntityType entityType, World world) @ModifyConstant(method = "getBlockBreakingSpeed(Lnet/minecraft/block/BlockState;)F", constant = @Constant(floatValue = 5.0F)) private float HorseBreakSpeed(float speedMultiplier){ - if (this.getRootVehicle() instanceof HorseBaseEntity) + if (this.getRootVehicle() instanceof HorseBaseEntity && ModConfig.getInstance().breakSpeed) return 1.0F; return speedMultiplier; } diff --git a/src/main/java/net/F53/HorseBuff/mixin/Server/MovementCheck.java b/src/main/java/net/F53/HorseBuff/mixin/Server/MovementCheck.java index b4ddfd7..2bffb48 100644 --- a/src/main/java/net/F53/HorseBuff/mixin/Server/MovementCheck.java +++ b/src/main/java/net/F53/HorseBuff/mixin/Server/MovementCheck.java @@ -1,5 +1,6 @@ package net.F53.HorseBuff.mixin.Server; +import net.F53.HorseBuff.config.ModConfig; import net.minecraft.server.network.ServerPlayNetworkHandler; import net.minecraft.server.network.ServerPlayerEntity; import org.spongepowered.asm.mixin.Mixin; @@ -15,7 +16,7 @@ public class MovementCheck { @ModifyConstant(method = "onVehicleMove(Lnet/minecraft/network/packet/c2s/play/VehicleMoveC2SPacket;)V", constant = @Constant(doubleValue = 0.0625D)) private double horseNoMovementCheck(double value){ - if (this.player.getRootVehicle() instanceof HorseBaseEntity) + if (this.player.getRootVehicle() instanceof HorseBaseEntity && ModConfig.getInstance().rubberBand) return Double.POSITIVE_INFINITY; return value; } diff --git a/src/main/java/net/F53/HorseBuff/mixin/Server/StepHeight.java b/src/main/java/net/F53/HorseBuff/mixin/Server/StepHeight.java index 793b9cc..751cdb1 100644 --- a/src/main/java/net/F53/HorseBuff/mixin/Server/StepHeight.java +++ b/src/main/java/net/F53/HorseBuff/mixin/Server/StepHeight.java @@ -1,5 +1,6 @@ package net.F53.HorseBuff.mixin.Server; +import net.F53.HorseBuff.config.ModConfig; import net.minecraft.entity.passive.HorseBaseEntity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.Constant; @@ -11,6 +12,9 @@ public class StepHeight { @ModifyConstant(method = "(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;)V", constant = @Constant(floatValue = 1.0f)) private float horseHigherStepHeight(float value){ - return 1.1f; + if (ModConfig.getInstance().stepHeight) { + return 1.1f; + } + return value; } } diff --git a/src/main/resources/assets/horsebuff/lang/en_us.json b/src/main/resources/assets/horsebuff/lang/en_us.json index e29cc0e..58e874a 100644 --- a/src/main/resources/assets/horsebuff/lang/en_us.json +++ b/src/main/resources/assets/horsebuff/lang/en_us.json @@ -15,6 +15,14 @@ "text.autoconfig.HorseBuff.option.portalPatch": "Ride Through Portals", "text.autoconfig.HorseBuff.option.portalPatch.@Tooltip": "Yes - Allows you to travel through nether and end portals while mounted on horseback.\nNo - vanilla behavior", + "text.autoconfig.HorseBuff.option.rubberBand": "Fix Rubberbanding on Stairs", + "text.autoconfig.HorseBuff.option.rubberBand.@Tooltip": "Yes - Increases server tolerance for Horse movement speed, fixing rubberbanding.\nNo - vanilla behavior", + + "text.autoconfig.HorseBuff.option.breakSpeed": "Remove Riding Breakspeed Debuff", + "text.autoconfig.HorseBuff.option.breakSpeed.@Tooltip": "Yes - Allows mining at full speed while on horseback.\nNo - Dramatically slows mining speed while on horseback (vanilla behavior)", + + "text.autoconfig.HorseBuff.option.stepHeight": "Buff Stepheight", + "text.autoconfig.HorseBuff.option.stepHeight.@Tooltip": "Yes - Increases horse stepheight from 1 block to 1.1 blocks, making travel much smoother around path blocks.\nNo - vanilla behavior", "text.autoconfig.HorseBuff.option.pitchFade": "Horse Fade",