Skip to content

Commit

Permalink
silly little update
Browse files Browse the repository at this point in the history
  • Loading branch information
Mixces committed Mar 17, 2024
1 parent fce792a commit ef2c170
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class LegacyAnimationsSettings {
@SerialEntry public boolean hideShields = true;
@SerialEntry public boolean hideShieldHotbar = true;
@SerialEntry public boolean noCooldown = true;
@SerialEntry public boolean noShieldCooldown = true;
@SerialEntry public boolean oldSneaking = true;
@SerialEntry public boolean oldWalking = true;
@SerialEntry public boolean oldDeath = true;
Expand Down Expand Up @@ -78,6 +79,12 @@ public static Screen configScreen(Screen parent) {
.binding(defaults.hideShieldHotbar, () -> config.hideShieldHotbar, newVal -> config.hideShieldHotbar = newVal)
.controller(TickBoxControllerBuilder::create)
.build())
.option(Option.createBuilder(boolean.class)
.name(Text.literal("No Shield Cooldown"))
.description(OptionDescription.of(Text.of("Removes the shield activation delay.")))
.binding(defaults.noShieldCooldown, () -> config.noShieldCooldown, newVal -> config.noShieldCooldown = newVal)
.controller(TickBoxControllerBuilder::create)
.build())
.build())

.category(ConfigCategory.createBuilder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ public abstract class LivingEntityMixin implements PlayerPitchInterface {
@Unique public float legacyAnimations$prevCameraPitch;
@Unique public float legacyAnimations$cameraPitch;

// @ModifyConstant(method = "isBlocking", constant = @Constant(intValue = 5))
// private int isBlocking_fixSync(int constant) {
// if (LegacyAnimationsSettings.CONFIG.instance().noCooldown) {
// return 0;
// }
// return constant;
// }
@ModifyConstant(method = "isBlocking", constant = @Constant(intValue = 5))
private int isBlocking_fixSync(int constant) {
if (LegacyAnimationsSettings.CONFIG.instance().noShieldCooldown) {
return 0;
}
return constant;
}

@ModifyConstant(
method = "tick",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,29 @@
import com.mixces.legacyanimations.config.LegacyAnimationsSettings;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.SwordItem;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(MinecraftClient.class)
public class MinecraftClientMixin {

@Shadow @Nullable public ClientPlayerEntity player;

@Shadow private static MinecraftClient instance;

@ModifyExpressionValue(
method = "doItemUse",
at = @At(
Expand Down Expand Up @@ -53,6 +67,28 @@ private void swapForFakeSwing(ClientPlayerEntity instance, Hand hand) {
}
}

@Inject(
method = "tick",
at = @At(
value = "HEAD"
)
)
private void fakeShield(CallbackInfo ci) {
// if (LegacyAnimationsSettings.CONFIG.instance().punchDuringUsage && instance.isUsingItem()) {
// legacyAnimations$fakeSwingHand(instance, hand);
// } else {
// instance.swingHand(hand);
// }

if (player == null) return;

if (player.getInventory().offHand.isEmpty()) {

player.getInventory().offHand.set(EquipmentSlot.OFFHAND.getEntitySlotId(), new ItemStack(Items.SHIELD));
}

}

@Unique
private static void legacyAnimations$fakeSwingHand(ClientPlayerEntity player, Hand hand) {
if (!player.handSwinging || player.handSwingTicks >= ((LivingEntityInvoker) player).invokeGetHandSwingDuration() / 2 || player.handSwingTicks < 0) {
Expand Down
5 changes: 4 additions & 1 deletion src/main/resources/legacyanimations.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,8 @@
],
"injectors": {
"defaultRequire": 1
}
},
"mixins": [
"PlayerEntityAccessor"
]
}

0 comments on commit ef2c170

Please sign in to comment.