Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.15.2] How to check if a certain item is in hand


TowerMX
 Share

Recommended Posts

I'm trying to make a block give you an item only when you click it with a certain item (id and nbt). I've seen this solved in previous versions but I just can't figure out how to do this in 1.15.2.

Also, I'm manipulating the onBlockActivated action in this block class, is it right?

Thanks for any help.

Link to comment
Share on other sites

do you want to click or mine the block?

if you want to click you could do that:

-   override Block#onBlockActivated  (you are right)

-   check if the item is the special (Player#getHeldItem (its the ItemStack so you can get the id (ItemStack#getItem) and the nbt))

-   if so you could use InventoryHelper#spawnItemStack but it would be batter to create a loot-table and spawn it somehow in the world

  • Thanks 1

 I will make fun of you if you are not able to look into the (vanilla-) code.

Link to comment
Share on other sites

19 hours ago, Niprow said:

do you want to click or mine the block?

if you want to click you could do that:

-   override Block#onBlockActivated  (you are right)

-   check if the item is the special (Player#getHeldItem (its the ItemStack so you can get the id (ItemStack#getItem) and the nbt))

-   if so you could use InventoryHelper#spawnItemStack but it would be batter to create a loot-table and spawn it somehow in the world

Thank you! I was messing up and couldn't understand exactly how to use it. I've managed to use the Player#getHeldItem as you said and it works fine, I can now use its id and nbt.

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
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.

 Share



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I didn't put in credentials, I used it only for testing installing forge. But still the problem mentioned above.
    • I am trying to use Forge 1.18.2, I have checked my firewall, redownloaded Forge, deleted the fml.toml file (which keeps reappearing) and looked at countless help pages. I am just trying to download and use forge so that I can play with my friends and it will not download. It tells me there may be an issue with the Java runtime config and that the exit code is one, and I have copied the exit code.   
    • Okay, i think i understand but im getting issues, i create another packet to sync entity to another players like this package com.naim.belloto.networking.packet; import com.naim.belloto.networking.handler.ClientSyncHandler; import net.minecraft.client.Minecraft; import net.minecraft.network.FriendlyByteBuf; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.network.NetworkEvent; import java.util.Objects; import java.util.function.Supplier; public class ClientSyncPacket { public ClientSyncPacket() { } public ClientSyncPacket(FriendlyByteBuf buf) { } public void toBytes(FriendlyByteBuf buf) { } public boolean handle(Supplier<NetworkEvent.Context> ctx) { NetworkEvent.Context context = ctx.get(); context.enqueueWork(() -> { assert Minecraft.getInstance().player != null; int idplayer = Minecraft.getInstance().player.getId(); DistExecutor.unsafeCallWhenOn(Dist.CLIENT,() -> () -> ClientSyncHandler.handlePacket(ctx, idplayer)); }); return true; } } And in the handler: public class ClientSyncHandler { public static boolean handlePacket(Supplier<NetworkEvent.Context> ctx, int idPlayer) { Minecraft.getInstance().level.getEntity(idPlayer); return true; } } But is not working :// 
    • I want to make a modded server on mac but I cant run a .bat file and it does not generate other .jar files so how can i make the server work (its 1.18.2 forge version 40.1.73)
  • Topics

×
×
  • Create New...

Important Information

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