Jump to content

[HELP]Hello I have an error in my mod I made a sword with a better range


olzi

Recommended Posts

Hello I have an error in my mod I made a sword with a better range
Here is the error and code.

Error

error: cannot find symbol this.addAttributeModifier(Attributes.ATTACK_DAMAGE, attackRangeModifier, EquipmentSlot.MAINHAND); ^ symbol: method addAttributeModifier(Attribute,AttributeModifier,EquipmentSlot)

The code

 

package net.mod.mod.item;

import net.minecraft.world.item.Tier;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Item.Properties;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.EquipmentSlot;

import java.util.UUID;

public class Test1Item extends SwordItem {
    private static final UUID ATTACK_RANGE_MODIFIER_ID = UUID.fromString("6069a356-4c32-418c-afe1-c15d5c37c01a");

    public Test1Item() {
        super(new Tier() {
            public int getUses() {
                return 100;
            }

            public float getSpeed() {
                return 0f;
            }

            public float getAttackDamageBonus() {
                return -2f;
            }

            public int getLevel() {
                return 0;
            }

            public int getEnchantmentValue() {
                return 2;
            }

            public Ingredient getRepairIngredient() {
                return Ingredient.of();
            }
        }, 3, -3f, new Properties());

        // Ajout du modificateur d'attribut pour augmenter la portée d'attaque
        AttributeModifier attackRangeModifier = new AttributeModifier(
            ATTACK_RANGE_MODIFIER_ID,
            "Attack Range Modifier",
            8.0, // Ajustez cette valeur pour changer la portée d'attaque
            Operation.ADDITION
        );

        this.addAttributeModifier(Attributes.ATTACK_DAMAGE, attackRangeModifier, EquipmentSlot.MAINHAND);
    }
}

 

Link to comment
Share on other sites

If you are posting compiler errors you are in the wrong forum.

You want a learning java forum.

 

addAttributeModifier() is method on the ItemStack class, not the Item class

 

Forge already has an attack "reach" attribute supplied by its internal mod.

https://github.com/MinecraftForge/MinecraftForge/blob/ab70bde1d648125acee073a93a25d4b8f08985c9/src/main/java/net/minecraftforge/common/ForgeMod.java#L169

 

e.g. here it is used by the twilight forest mod for its "Giant sword"

https://github.com/TeamTwilight/twilightforest/blob/409423ce243f8900c12549af9c061f9fd298e9c5/src/main/java/twilightforest/item/GiantSwordItem.java#L25

found using a search on github:

https://github.com/search?q=ENTITY_REACH+language%3AJava&type=code&l=Java

Edited by warjort

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

This is a support forum for mod developers.

i.e. we help fix problems on mods you have already developed and can't figure out what is wrong with it yourself.

 

It is not a human search engine for those who are too lazy to do their own research.

It is also not a minecraft modding or java teaching forum.

 

That being said, maybe this is what you are looking for?

net.minecraft.world.entity.ai.attributes.Attributes.ATTACK_KNOCKBACK

 

Edited by warjort

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

I don't know. Maybe reddit or similar?

I don't think you will find many people that are willing to spend their time writing your mod for you.

Those people with the skills are too busy with their own mods.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.