选更多方块

选更多方块

扩展鼠标中键点击操作,修复一些原版游戏中令人烦恼的问题![已归档:未来可能会重制!]

游戏机制

你好!感谢你查看 PickMoreBlocks!

PickMoreBlocks 是一个客户端 Fabric 模组,旨在修复我认为原版鼠标中键点击功能中存在的一些小缺陷,让创造和生存模式的体验更加顺滑一点!目前,它会影响下落方块、TNT、火、下界传送门和液体的行为,未来还会有更多内容!


开始使用

由于使用了 BlockPickInteractionAware 和 EntityPickInteractionAware 接口来让这个模组保持紧凑,你需要下载 Fabric API 才能使用它。下载完成后,只需将 Fabric API 和 PickMoreBlocks 一起拖入你的 mods 文件夹即可。

目前没有配置菜单,因为我认为这个模组的功能既不够显眼也不够丰富,不至于让你想要禁用它们。不过,如果你在服务器上游玩,请考虑联系你的服务器管理员,确认他们不认为这个模组属于作弊。


功能列表

TNT 与受重力影响的方块

在原版中,像沙子这样受重力影响的方块只有在静止的方块形态下才能被中键选取。PickMoreBlocks 修复了这个问题,让它对 fallingBlock 实体也能生效!

为了保持一致性,TNT 也以同样的方式得到了修复。我想这大概只对与 TNT 打交道的技术型玩家真正有用,而如今这个群体的人数可远远大于零!

水与岩浆

自从这个模组发布以来,我就一直想加入这个功能!如果你的准星指向液体,且没有选中它后方的方块,你将获得与该液体对应的桶——水对应水桶,岩浆对应岩浆桶。

火与传送门

在 PickMoreBlocks 中,对火和传送门使用鼠标中键可以给你打火石。之所以这么复杂,是因为打火石并不是在 Minecraft 中生火的唯一方式,所以如果游戏在你的物品栏中找不到打火石,但能找到火焰弹,它就会把火焰弹给你!

如果你的创造模式物品栏中既没有打火石也没有火焰弹,你将获得一个完全修复的打火石。

给那些想知道这段代码如何运作的极客们,点击这里!

public class CustomPickLogic {

    public static ItemStack onPickFire(PlayerEntity player) {
        for (int i = 0; i < player.getInventory().size(); i++) {
            ItemStack getStackAtSlot = player.getInventory().getStack(i);

迭代检查玩家物品栏中的每一个槽位。

            if (getStackAtSlot.isOf(Items.FLINT_AND_STEEL) || getStackAtSlot.isOf(Items.FIRE_CHARGE))
                return getStackAtSlot;

如果该槽位包含打火石,或者(优先级较低地)包含火焰弹,就将其与主手槽位交换……

        }
        return new ItemStack(Items.FLINT_AND_STEEL);

……或者如果两者都找不到,就尝试给玩家一个新的打火石(在创造模式之外会失败)!

    }

}