You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Hello, I want to add more memory to the RunClient gradle task. I added VM options into the configurations and put in "-Xms256m -Xmx2048m" but it doesn't work.
Hello,
I'm trying to modify the effects of native enchantments for bows and arrows in Minecraft. After using a decompilation tool, I found that the specific implementations of native bow and arrow enchantments (including `ArrowDamageEnchantment`, `ArrowKnockbackEnchantment`, `ArrowFireEnchantment`, `ArrowInfiniteEnchantment`, `ArrowPiercingEnchantment`) do not contain any information about the enchantment effects (such as the `getDamageProtection` function for `ProtectionEnchantment`, `getDamageBonus` function for `DamageEnchantment`, etc.).
Upon searching for the base class of arrows, `AbstractArrow`, I found a function named setEnchantmentEffectsFromEntity`, which seems to be used to retrieve the enchantment levels of the tool held by a `LivingEntity` and calculate the specific values of the enchantment effects. However, after testing with the following code, I found that this function is not being called:
@Mixin(AbstractArrow.class)
public class ModifyArrowEnchantmentEffects {
private static final Logger LOGGER = LogUtils.getLogger();
@Inject(
method = "setEnchantmentEffectsFromEntity",
at = @At("HEAD")
)
private void logArrowEnchantmentEffectsFromEntity(CallbackInfo ci) {
LOGGER.info("Arrow enchantment effects from entity");
}
}
Upon further investigation, I found that within the onHitEntity method, there are several lines of code:
if (!this.level().isClientSide && entity1 instanceof LivingEntity) {
EnchantmentHelper.doPostHurtEffects(livingentity, entity1);
EnchantmentHelper.doPostDamageEffects((LivingEntity)entity1, livingentity);
}
These lines of code actually call the doPostHurt and doPostAttack methods of each enchantment in the enchantment list. However, this leads back to the issue because native bow and arrow enchantments do not implement these functions. Although their base class defines the functions, they are empty.
At this point, I'm completely stumped and seeking assistance.
Thank you.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.