Jump to content

Recommended Posts

Posted

Im trying to detect when a player clicks with my item

 

if (player.getHeldItemMainhand().getItem() == RegistryHandler.BACKPACK.get())
        player.setHealth(0);
}
Posted (edited)

New Code:

 

if (player.getHeldItemMainhand().getItem() == RegistryHandler.BACKPACK.get()) {
    player.setHealth(0);
}

 

 

P.S Still doesn't work

Edited by Turnrp
Posted
  On 12/23/2020 at 8:04 AM, Saksham4106 said:

that's way too less info... where are you writing this if statement?

 

Expand  
@SubscribeEvent
public void OnRightClick(PlayerInteractEvent.RightClickItem RightClick) {
    LivingEntity player = RightClick.getEntityLiving();
    if (player.getHeldItemMainhand().getItem() == RegistryHandler.BACKPACK.get()) {
        player.setHealth(0);
    }
}
Posted
   @Override
    public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
        playerIn.setHealth(0);
        return super.onItemRightClick(worldIn, playerIn, handIn);
    }

 

Posted
  On 12/23/2020 at 8:20 AM, Saksham4106 said:
   @Override
    public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
        playerIn.setHealth(0);
        return super.onItemRightClick(worldIn, playerIn, handIn);
    }

 

Expand  

gave me a bunch of errors

Posted

1. That method triggers on both the client and the server side. You will need to check the side with World#isRemote.

2. Your overriding method does not have the correct signatures (please learn Java before attempting to write a mod).

Some tips:

  Reveal hidden contents

 

Posted
  On 12/23/2020 at 8:45 AM, DavidM said:

1. That method triggers on both the client and the server side. You will need to check the side with World#isRemote.

2. Your overriding method does not have the correct signatures (please learn Java before attempting to write a mod).

Expand  

I jsut wanna know why its broken

Posted
  On 12/23/2020 at 7:48 PM, Turnrp said:

I jsut wanna know why its broken

Expand  

Learning java is the best way of knowing why your code is broken

Learn Java

 

"keep in mind that this is not a Java school. You are expected to have basic knowledge of Java before posting here." - this is literally right below the forum title

Posted
  On 12/23/2020 at 7:48 PM, Turnrp said:

I jsut wanna know why its broken

Expand  

I just told you.

  On 12/23/2020 at 8:45 AM, DavidM said:

Your overriding method does not have the correct signatures

Expand  

and

  On 12/23/2020 at 8:45 AM, DavidM said:

That method triggers on both the client and the server side. You will need to check the side with World#isRemote.

Expand  

 

Some tips:

  Reveal hidden contents

 

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • The problem occurs also in 1.20.1 Forge, but with an "Error executing task on client" instead. I have "Sinytra Connector" installed. On 1.21.5 Fabric, there is no problem. When this happens, the chat message before the death screen appears gets sent, with an extra dash added.
    • Well, as usual, it was user error. Naming mismatch in sounds.json.  Please delete this post if you find it necessary. 
    • Hello Forge community.  I'm running into an issue with a mod I'm working on.  To preface, I can call /playsound modId:name music @a and I can hear the sound I registered being played in game. Great!  However, I cannot get it to trigger via my mod code.    Registration: public static final RegistryObject<SoundEvent> A_WORLD_OF_MADNESS = SOUND_EVENTS.register("a_world_of_madness", () -> new SoundEvent(new ResourceLocation("tetheredsouls", "a_world_of_madness")));   Playback: Minecraft mc = Minecraft.getInstance(); if (!(mc.player instanceof LocalPlayer) || mc.level == null) return; LocalPlayer player = (LocalPlayer) mc.player; BlockPos pos = player.blockPosition(); SoundEvent track = ModSounds.A_WORLD_OF_MADNESS.get(); System.out.println(track); System.out.println(pos); System.out.println(player); // play exactly like the tutorial: client-only, at the player's position try { mc.level.playLocalSound( player.getX(), player.getY(), player.getZ(), track, SoundSource.MUSIC, // Or MASTER if needed 1f, 1f, false ); System.out.println("[DEBUG] playSound success: " + track.getLocation()); } catch (Exception e) { System.err.println("[ERROR] Failed to play sound: " + track.getLocation()); e.printStackTrace(); } Sounds.json:   { "theme_of_laura": { "category": "music", "sounds": [ { "name": "tetheredsouls:a_world_of_madness", "stream": true } ] } } Things I have tried: - multiple .ogg files. Short .ogg files (5 seconds, <100KB).  - default minecraft sounds imported from import net.minecraft.sounds.SoundEvents; These work given my code. No idea why these are different.  - playSound() method, as well as several others in past iterations that did not work   I would be forever grateful if somebody could point me in the right direction. I've looked at several mod github repositories and found extremely similar code to what I'm doing. I've also found several threads in this forum that did not solve my issue. I just cannot figure out what I'm doing differently, and why I'm able to queue sounds manually with playsound but the code won't play it (despite confirming the code is being run with the debug statements.)
    • Delete the tensura-reincarnated/common.toml file (config folder)
  • Topics

×
×
  • Create New...

Important Information

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