试图找出如何增加我在 Minecraft 1.12.2 中的影响 mod
Trying to find out how to increase my reach in a minecraft 1.12.2 mod
我正在尝试为我的 Minecraft 1.12.2 mod 制作触手可及的附魔。我有检查附魔级别、是否开启等的代码。现在我的问题是函数。我不知道如何改变我的影响力。我知道有一个属性可以做到这一点,但我不知道如何改变它。谁能帮我?
到目前为止,这是我的代码:
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;
}
}
}
基本上,我正在检查附魔的等级,然后根据等级增加范围,但它不起作用。有什么想法吗?
覆盖面由 REACH_DISTANCE
属性决定。您可以这样修改:
EntityPlayer player = Minecraft.getMinecraft().player;
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).applyModifier(new AttributeModifier(player.getUniqueID(), "custom_reach", setBlockReachDistance, 1));
我假设当他们手里拿着附有你的附魔的工具时,你正在改变他们的范围。您需要跟踪玩家何时切换到该工具并应用修改器。当他们离开该工具时,您需要像这样删除修饰符:
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).removeModifier(player.getUniqueID());
我正在尝试为我的 Minecraft 1.12.2 mod 制作触手可及的附魔。我有检查附魔级别、是否开启等的代码。现在我的问题是函数。我不知道如何改变我的影响力。我知道有一个属性可以做到这一点,但我不知道如何改变它。谁能帮我? 到目前为止,这是我的代码:
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;
}
}
}
基本上,我正在检查附魔的等级,然后根据等级增加范围,但它不起作用。有什么想法吗?
覆盖面由 REACH_DISTANCE
属性决定。您可以这样修改:
EntityPlayer player = Minecraft.getMinecraft().player;
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).applyModifier(new AttributeModifier(player.getUniqueID(), "custom_reach", setBlockReachDistance, 1));
我假设当他们手里拿着附有你的附魔的工具时,你正在改变他们的范围。您需要跟踪玩家何时切换到该工具并应用修改器。当他们离开该工具时,您需要像这样删除修饰符:
player.getEntityAttribute(EntityPlayer.REACH_DISTANCE).removeModifier(player.getUniqueID());