首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试找出如何在“我的世界”1.12.2模式中扩大我的覆盖范围

尝试找出如何在“我的世界”1.12.2模式中扩大我的覆盖范围
EN

Stack Overflow用户
提问于 2020-06-06 21:58:00
回答 1查看 2.4K关注 0票数 0

我正在试着为我的“我的世界”1.12.2模块做一个触达附魔。我有检查结界等级、是否开启等的代码。现在我的问题出在函数上。我不知道如何改变我的触角。我知道有一个属性可以做到这一点,但我不知道如何更改它。有谁可以帮我?这是我到目前为止的代码:

代码语言:javascript
复制
    public static void enchantReachFunction(LivingUpdateEvent event)
    {
        Object player = event.getEntityLiving();
        if(event.getEntityLiving() instanceof EntityLivingBase)
        {
            EntityLivingBase entityPlayer = (EntityLivingBase)player;
            int level = EnchantmentHelper.getEnchantmentLevel(ENCHANT_REACH, entityPlayer.getItemStackFromSlot(EntityEquipmentSlot.CHEST));
            if(!entityPlayer.getEntityWorld().isRemote && level == 1)
            {
                float setBlockReachDistance = 8.0F;
            }

            else if(!entityPlayer.getEntityWorld().isRemote && level == 2)
            {
                float setBlockReachDistance = 12.0F;
            }

            else if(!entityPlayer.getEntityWorld().isRemote && level == 3)
            {
                float setBlockReachDistance = 16.0F;
            }
            else
            {
                float setBlockReachDistance = 4.0F;
            }
        }
    }

基本上,我正在检查结界的等级,然后根据等级增加范围,但它不起作用。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-06 23:31:09

范围由REACH_DISTANCE属性确定。您可以这样修改它:

代码语言:javascript
复制
EntityPlayer player = Minecraft.getMinecraft().player;
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).applyModifier(new AttributeModifier(player.getUniqueID(), "custom_reach", setBlockReachDistance, 1));

我假设当他们手中拿着一个带有你的附魔的工具时,你正在改变他们的触角。您需要跟踪播放器何时切换到该工具并应用修改器。当它们从工具中切换出来时,您需要像这样删除修饰符:

代码语言:javascript
复制
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).removeModifier(player.getUniqueID());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62232743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档