跳到正文

Combat Control

作者:LCLPYT

Bring back classic combat from 1.8.9 and earlier. Remove the attack cooldown, re-introduce sword blocking and more!

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

🗡️ combat-control 🛡️

Bring back classic combat from 1.8.9 and earlier. Remove the attack cooldown and more!

❗ Important ❗

This mod doesn’t change the combat by default.

You have to use /combat style minecraft:classic to enable classic combat.

All features of this mod can be configured individually, on a per-player basis.
You can have some players using attack cooldown while others don’t.

The mod is only required on the server, but having the mod installed on your client makes the experience better.

📝 Features

  • remove the attack cooldown
  • reintroduce sword blocking (vanilla-compatible since 1.21.5)
  • block-hitting with swords
  • axes and other tools deal less damage, like in 1.8.9
  • revert food mechanics and fast regeneration
  • make snowballs inflict knockback again
  • make fishing rods inflict knockback
  • different knockback variants improve hit combos
  • disable fishing rod pulling, like on many PvP servers
  • allow attacking while using a bow or eating, like in 1.7.10
  • disable sweep attack with a sword when standing still. The Sweeping Edge enchantment will still trigger a sweep attack
  • make critical hits possible while sprinting
  • attacking no longer stops you from sprinting
  • buff sharpness enchantment to add 1.25 attack damage per level, like in 1.8.9 and earlier
  • remove modern combat sounds
  • remove modern combat particles, such as the damage indicator
  • revert enchanted golden apple (“notch apple”) effects
  • fishing rods pull entities slightly more upwards
  • fishing rods take less durability damage when pulling entities
  • make fishing rods play the old sounds
  • the fishing rod bobber moves faster
  • tools will take less durability damage when attacking with them
  • remove the re-equip animation when using items like shields
  • old bobbing animation with head tilt when jumping
  • instant sneak animation
  • old attribute style on weapons
  • remove flashing hearts animation
  • reintroduce potion enchantment glint
  • display sharpness damage in the item tooltip again (fixes MC-271840)
  • revert the projectile tolerance margin to a constant 0.3 blocks (from before Minecraft 1.21.6)
  • allow projectile hits for entities that are intersecting with the owning player hitbox (changed in Minecraft 1.12.2)
  • use classic snowball particle on impact
  • decrease trident damage from 9 to 6 when using classic combat
  • use classic third person sword blocking animation from Minecraft 1.7.10 and earlier

⚠️ CAUTION

This mod should not be installed while playing on public servers that don’t allow it.

While this mod does its best to disable all combat-related features when the server doesn’t have the mod, it isn’t guaranteed that it behaves exactly like vanilla.

On some servers with anti-cheat measures, this could even get you banned…

🖼️ Showcase

All features showcased here can be toggled individually in the mod settings.

  • sword blocking

Sword blocking

Classic third person animation

  • enchanted potions (the glint effect)

Potions have their old enchantment glint on them

  • classic attribute style

Attribute style

  • classic bobbing animation

Classic bobbing animation

  • reduced heart flashing (lost hearts no longer flash in light red)

Reduced heart flashing

  • instant sneak animation

Instant sneak animation

  • classic sharpness bonus damage (also fixes MC-271840)

Sharpness enchantment attack damage display fix

📦 Requirements

⌨️ Commands

Change the combat style with the /combat style command:

# set the global combat style to classic 
/combat style minecraft:classic

# switch back to modern (1.9+) combat with attack cooldown etc.
/combat style minecraft:modern

# you can also change the combat style only for certain players, e.g. yourself in this example
/combat style minecraft:classic @s

Setting a style will configure a set of features at once.
The minecraft:classic style, for example, disables attack cooldown, reverts the food regeneration system, changes behaviour of fishing rods and more.

However, you can also configure each feature individually, per-player:

# disable only attack cooldown globally
/combat set attackCooldown false

# make the enchanted golden apple grant regeneration 5 and absorption 1, instead of regeneration 2 and absorption 4
/combat set modernNotchApple false

# use 1.8 and earlier regeneration food mechanics
/combat set modernRegeneration false

# as with the combat style, you can also only configure features for certain players, e.g. disable attack cooldown for yourself:
/combat set attackCooldown false @s

# you can get the current setting of a feature like this:
/combat get attackCooldown

# get a setting of a specific player
/combat get attackCooldown @s

Some features, like modernDamageValues, don’t work for individual players and can only be set globally.

🔓 Permissions

To execute those commands, you need to be a server operator (have OP) or have the corresponding permissions:

| Feature | Required permission |
|———————————————–|———————————————————-|
| Use combat command | combat-control.command.combat |
| Set combat features | combat-control.command.combat.set |
| Set a combat feature | combat-control.command.combat.set.<feature> |
| Set a combat feature globally | combat-control.command.combat.set.global.<feature> |
| Get combat features | combat-control.command.combat.get |
| Get a combat feature (globally, individually) | combat-control.command.combat.get.<feature> |
| Set combat styles | combat-control.command.combat.style |
| Set combat style globally | combat-control.command.combat.style.global |

📂 Config

You can configure all features in config/combat-control/config.toml.
Once you save the config, any changes will automatically be loaded.
No need to restart your game or reload anything.

If you have ModMenu installed on the client, you can also configure all features from there.

Mod settings screen

🌟 Acknowledgements

This mod is heavily inspired by Golden Age Combat by Fuzss.
Some methods were ported to yarn mappings in the past, but evolved independently since first introduction.
Code in this project that is originally from Golden Age Combat is annotated with a comment or doc-comment.
The MPL-2.0 license from Golden Age Combat is respected; this project uses the same license.

The classic 1.7.10 blocking animation approach was partly ported from sword-blocking-mechanics by Fuzss, licensed also under the terms of the MPL-2.0.
Logic originating from sword-blocking-mechanics is also properly annotated.

The reason why this project exists as a separate mod, is to make the combat configurable for each player, alongside with some other adjustments.

Also, the PING_ADJUSTED knockback variant is heavily inspired in functionality by the awesome knockback-sync plugin by CASELOAD7000 for Bukkit, Folia and Fabric.
It calculates a player’s knockback depending on their network latency.
The values for the gravity simulation are taken from the Minecraft movement code and from Minecraft Movement Tools by OrHy3.

I got the motivation for implementing different knockback variants from this video by Intel Edits.

Thanks to b0ps_ for creating the mod icon!

🚧 API for developers

Combat-control offers an API for developers that allows for changing each players’ combat style and features.
The API offers fine-grained control of every combat-control feature, for every player.

The API is documented on GitHub.

常见问题

Combat Control 支持哪些 Minecraft 版本?

Combat Control 支持 Minecraft Java 版 1.21.4–26.3,共 13 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Combat Control 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分

LCLPYT 的其他作品

查看全部 →