Jump to content

[1.12.2] Event RightClickBlock, detect if a block was placed


Recommended Posts

Posted

So I'm doing a server-side mod,

and I want that when a player right click on block without placing any block , my code does something

but when the player right click and place any block, it does something else.

 

So I guess I have to use the event  : PlayerInteractEvent

But I don't really know how to check if a block  is placed (a block in a player's hand doesn't mean it's placed)

 

Does someone have an idea of how I can achieve what I want ?

Thanks ^^

Posted
3 hours ago, diesieben07 said:

You can use EntityPlaceEvent to detect a block being placed.

Thanks and how can I detect a right click on any block without a block being placed ? (like opening a chest, or an entity blocking the place where the block is supposed to be placed )

Posted
16 minutes ago, diesieben07 said:

PlayerInteractEvent.RightClickBlock.

Yes but PlayerInteractEvent.RightClickBlock. is also trigger when a block is placed

 

Posted
51 minutes ago, diesieben07 said:

Correct. There is no way to know before the block is placed if a block is going to be placed. You have to use BlockEvent.PlaceEvent.

So there is no way when right clicking to know if it's placing a block or not ? :'c ?

So with even it's impossible to send "a" in the chat when a player place a block, and "b" in the chat when a player open a container ?

Posted
Just now, diesieben07 said:

Yes, that is what I said.

 

You can detect it after the fact. Like I said: BlockEvent.PlaceEvent.

Yes and to detect when a player open a container ? (like a chest, a furnace, etc...)

Posted
1 minute ago, diesieben07 said:

PlayerEvent.RightClickBlock. 

I am not sure how often I have to say this for you to start reading it.

PlayerEvent.RightClickBlock.  won't work because it's also triggered when a block is placed :/

 

If I use both PlayerEvent.RightClickBlock  and BlockEvent.PlaceEvent, PlayerEvent.RightClickBlock  is also called when BlockEvent.PlaceEvent is triggered and my goal is to find a way around this...

Posted
1 minute ago, diesieben07 said:

There.

Is.
None.

Well I hope that someone have already encounter the same problem and with a bit chance he founds a solution (and you're not aware),

So I will let this open in a hope that someone has a solution that work because using a combination  of the two event won't work for what I want to do :/

 

And is there any events that is triggered when a item is picked up from an inventory (chest, furnace ?)

Posted
10 minutes ago, diesieben07 said:

Why not? I do not see anything you've said that cannot be done.

 

When using a combination of the two event, one of them (PlayerEvent.RightClickBlock) will also be called at the same time as BlockEvent.PlaceEvent,

I want to do an action only if a player rightclick on another block without placing a block, and you said there is no way to do what I want :(

Posted
5 minutes ago, diesieben07 said:

Dude....

RightClickBlock called and then no placeevent => no block was placed.

Oh yes, I didn't think about it ^^ thanks :)

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

    • Try the latest build: https://modrinth.com/mod/axiom/version/4.1.1
    • *** buffer overflow detected ***: terminated /usr/bin/forge-1.12.2d: line 162: 15787 Aborted                 (core dumped) ${SUDO_CMD} screen -S "${SESSION_NAME}" -Q select . > /dev/null Starting server...There are several suitable screens on:     14630.forge-1.12.2    (Detached)     15796.forge-1.12.2    (Detached) Use -S to specify a session How do i fix this issue?
    • Oh I forgot to update the title. I figured out the issue and I'm rather embarrassed to say that it was a file path issue. The game already knew I was accessing the achievements so I wasn't suppose to include advancements in the file path. Minecraft file paths have always confused me a little bit... ResourceLocation advancementId = new ResourceLocation( TheDeadRise.MODID,"adventure/spawntrigger");
    • Can someone help my with this? My forge server won't open and I'm not that good with this stuff. It gave me this error message:   C:\Users\apbeu\Desktop\Forge server>java -Xmx4G -Xms1G -jar server.jar nogui 2024-12-11 18:21:01,054 main WARN Advanced terminal features are not available in this environment [18:21:01] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 36.2.34, --fml.mcpVersion, 20210115.111550, --fml.mcVersion, 1.16.5, --fml.forgeGroup, net.minecraftforge, nogui] [18:21:01] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 8.1.3+8.1.3+main-8.1.x.c94d18ec starting: java version 21.0.4 by Oracle Corporation Exception in thread "main" java.lang.IllegalAccessError: class cpw.mods.modlauncher.SecureJarHandler (in unnamed module @0x402e37bc) cannot access class sun.security.util.ManifestEntryVerifier (in module java.base) because module java.base does not export sun.security.util to unnamed module @0x402e37bc         at cpw.mods.modlauncher.SecureJarHandler.lambda$static$1(SecureJarHandler.java:45)         at cpw.mods.modlauncher.api.LamdbaExceptionUtils.uncheck(LamdbaExceptionUtils.java:95)         at cpw.mods.modlauncher.SecureJarHandler.<clinit>(SecureJarHandler.java:45)         at cpw.mods.modlauncher.Launcher.lambda$new$6(Launcher.java:55)         at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)         at cpw.mods.modlauncher.api.TypesafeMap.computeIfAbsent(TypesafeMap.java:52)         at cpw.mods.modlauncher.api.TypesafeMap.computeIfAbsent(TypesafeMap.java:47)         at cpw.mods.modlauncher.Environment.computePropertyIfAbsent(Environment.java:62)         at cpw.mods.modlauncher.Launcher.<init>(Launcher.java:55)         at cpw.mods.modlauncher.Launcher.main(Launcher.java:66)         at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63)         at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60)         at net.minecraftforge.server.ServerMain.main(ServerMain.java:57) C:\Users\apbeu\Desktop\Forge server>pause
    • Here is the url for the crash report if anyone can help me, please. https://mclo.gs/KGn5LWy  
  • Topics

×
×
  • Create New...

Important Information

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