Is there a programmatic way to retrieve a players current gamemode using the @minecraft - server module and WITHOUT using command blocks?

[BACK]
Is there a programmatic way to retrieve a players current gamemode using the @minecraft - server module and WITHOUT using command blocks?
Posted On: March 13, 2024

In my custom tools addon, I've noticed a bug where you can get negative durability values by using the tool in creative mode, then switching to survival mode. This is because while vanilla tools don't take durability damage when used in creative mode, the custom ones do. I'd like to be able to reproduce the vanilla tool functionality by having my decrement-durability function be called conditionally only when the player is not in creative mode.


But, I haven't found any way of detecting which game mode is active within the main.js file.


I'm aware of how to detect players' game modes using command blocks, as discussed in this question, and also how to set the game mode using this command. And, I have found the documentation page for the GameMode enumeration in the @minecraft/server module, which lists all the possible modes. I would have expected there to be a way of finding which one is active, but if so it's not documented there.


There doesn't seem to be a getCurrentGameMode() method or anything similar for either the World or Player classes.


I guess it is probably possible to do something like programmatically place a command block and set its command, then set up a chain command block in 'conditional' mode that places a certain type of block only if the 'test for player in creative mode' command returned true, and then have the script check for that special type of block before replacing all three with air. But, I'd really prefer not to use a workaround like this.


So, is there a way of detecting the active game mode using only script functions, that does not require placing temporary blocks?


Question from user Quack E. Duck at gaming.stackexchange.com.


Answer:

As of @minecraft/server version 1.10.0-beta, it is now possible to access the game mode programmatically using the new .getGameMode() method of the Player object.


Documentation: https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/player?view=minecraft-bedrock-experimental#getgamemode.


Answer from user Quack E. Duck at gaming.stackexchange.com.


[BACK]
Is there a programmatic way to retrieve a players current gamemode using the @minecraft - server module and WITHOUT using command blocks?
Posted On: March 13, 2024

In my custom tools addon, I've noticed a bug where you can get negative durability values by using the tool in creative mode, then switching to survival mode. This is because while vanilla tools don't take durability damage when used in creative mode, the custom ones do. I'd like to be able to reproduce the vanilla tool functionality by having my decrement-durability function be called conditionally only when the player is not in creative mode.


But, I haven't found any way of detecting which game mode is active within the main.js file.


I'm aware of how to detect players' game modes using command blocks, as discussed in this question, and also how to set the game mode using this command. And, I have found the documentation page for the GameMode enumeration in the @minecraft/server module, which lists all the possible modes. I would have expected there to be a way of finding which one is active, but if so it's not documented there.


There doesn't seem to be a getCurrentGameMode() method or anything similar for either the World or Player classes.


I guess it is probably possible to do something like programmatically place a command block and set its command, then set up a chain command block in 'conditional' mode that places a certain type of block only if the 'test for player in creative mode' command returned true, and then have the script check for that special type of block before replacing all three with air. But, I'd really prefer not to use a workaround like this.


So, is there a way of detecting the active game mode using only script functions, that does not require placing temporary blocks?


Question from user Quack E. Duck at gaming.stackexchange.com.


Answer:

As of @minecraft/server version 1.10.0-beta, it is now possible to access the game mode programmatically using the new .getGameMode() method of the Player object.


Documentation: https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/player?view=minecraft-bedrock-experimental#getgamemode.


Answer from user Quack E. Duck at gaming.stackexchange.com.


[BACK]

Patch 3 kinda sucks? Patch 3 kinda sucks?

Posted On: September 25, 2023
His Majesty has hair - just why? Raphael got a bad dye job (and basic horns?), as a Raphael simp - fuck this shit!. Shared stash. need I say more? Camera now focuses on Tav and you can't ...[More]


Gale dropped haste and idk why Gale dropped haste and idk why

Posted On: October 3, 2023
I don’t think this actually has spoilers but it takes place in act 3. Ok so manip cast command, but tav cancelled it with psionic dominance and shadow heart used the backlash. Idk who he was tar...[More]


How do I disable Civ 5s opening movie? How do I disable Civ 5s opening movie?

Posted On: August 23, 2015
It seems like the opening movie always starts up and won't let me cancel it until it has played for about 10 seconds. Is that because it takes the game that long to load regardless? Is there a way t...[More]


Rolan can fuck himself Rolan can fuck himself

Posted On: April 15, 2026
This man is the only thing standing between me, and platinuming BG3. How do I ensure that he survives.Question from user RangersAreViable at BaldursGate3 at reddit.com.Answer:Convince him to stay in t...[More]


How do Dragoon and Daybreak pieces work in Team Battles? How do Dragoon and Daybreak pieces work in Team Battles?

Posted On: December 3, 2023
In normal matches, the Dragoon and Daybreak items in Smash Ultimate require a player to collect all three pieces before they can be used. How do these items work in team battles? If player A picks up ...[More]


XBox 360 storage device issue with Darksiders XBox 360 storage device issue with Darksiders

Posted On: April 16, 2024
I've been playing Darksiders now for some time now and I've noticed that when I start the game, in the main menu where it says "Press Start", it always triggers me to select a storage device. Why does...[More]


What does it mean when Im cowering in fear? What does it mean when Im cowering in fear?

Posted On: November 27, 2023
In the Kero Sewers, enemy Boos sometimes use a Scream attack that makes one of my party members cower in fear with a purple aura around them. The scared party member can seemingly still fight like nor...[More]


Do you pay a gold tax when beating the final boss in Heroes Of Hammerwatch? Do you pay a gold tax when beating the final boss in Heroes Of Hammerwatch?

Posted On: March 10, 2023
Throughout the game, you can deposit your found gold and ore in elevators to take to the surface, at a tax rate that depends on how much gold you have collected. I decided to be brave, and do an entir...[More]


Is there any way to reduce repeated science experiments in KSP? Is there any way to reduce repeated science experiments in KSP?

Posted On: April 10, 2023
There are many science experiments in the game that only give you part of the value whenever you carry them out and retrieve the data. So, even if you rerun the experiment, you only get part of t...[More]


How can I get access to Pikes Landing in Farmville? How can I get access to Pikes Landing in Farmville?

Posted On: April 13, 2023
I would like to get the Google Play achievement but I don't see it anywhere. I am level 52. I understand I am lacking some requirements for it. Question from user achecopar at gaming.stackex...[More]