FANDOM


(Not to be confused by the Game Standard).

This page defines the Gamemode 4 Standard - a set of standard rules that Gamemode 4 modules should follow to make them efficient and compatible as well as standardised in shape and behaviour. None of the 1.8 modules meet this standard, rather the modules released for 1.9 are being updated to 2.0 versions.

For current 1.9 Module Updates, including a changelog, visit the page here.

Scoreboards Edit

Scoreboards should start with "GM4_" to denote that it belongs to the GM4 group and be capitalised using camelCase. Try to make objective names unique and descriptive but short if possible.

Where appropriate, modules should use tags instead of scoreboards to store info.

Global Scoreboards Edit

There are a few scoreboards that are "global" scoreboards. They can be used for counting, junk storage and soforth. Modules using them should still try to add them on install. Modules may NOT reset all entities on, or remove these scoreboards.

Global scoreboards should only be used for marker entities specific to one module unless they are read-only like armor or health. To avoid overwriting other modules using the same scoreboard.

Name Type Info Used By
GM4_T dummy T for Tick. Use for counting and looping every tick
GM4_D dummy D for Dump. Should be used for tagging entities when "tag" commands cannot be used.
GM4_A armor A for Armor. Tracks armor protection in points Weighted Armour
GM4_H health H for Health. Tracks the health in half-hearts of players. Undead Players

Values Edit

When using objectives to save IDs modules should stick to existing numbers if possible. For instance every potion related ID should be matching the potion IDs provided by the Liquid Tanks Module.

Used Scoreboards Edit

This table lists all the scoreboards, which module they belong to and their type. Only lists 2.0 version modules conforming to the standard.

Name Type Module Info
GM4_ZCsuccess dummy Zauber Cauldrons Success count used for crafting mechanics
GM4_ZCallowed dummy Zauber Cauldrons Defines whether a player should check for undetected cauldron structures around him
GM4_ZCstatus dummy Zauber Cauldrons Saves ingredient IDs, crystal IDs and detects if a zauber cauldron is able to perform crafting operations
GM4_useGSword stat.useItem.minecraft.golden_sword Potion Swords Tracks golden sword uses
GM4_potionSwords dummy Potion Swords Saves potion IDs
GM4_DesireLines stat.walkOneCm Desire Lines Tracks distance walked
GM4_desireSprint stat.sprintOneCm Desire Lines Tracks distance sprinted
GM4_toBreed dummy Social Creepers Breed behaviour tracking for creepers
GM4_PigStats dummy Secret Module (Pig Tractors) Success count used to detect crops, farmland and dirt
GM4_crafting dummy Custom Crafting Stores SuccessCount stat for crafters to work out recipes and other functions
GM4_undead stat.deaths Undead Players Tracks player death
GM4_BOOi dummy Boots of Ostara Decides what a player's boots should be doing
GM4_bfDir dummy Blast Furnaces Lists the direction a blast furnace is facing
GM4_bfStat dummy Blast Furnaces Tracks SuccessCount stat on blast furnaces
GM4_bfItem dummy Blast Furnaces Id of the item being smelted
GM4_bfBlock dummy Blast Furnaces Tracks AffectedBlocks stat on blast furnaces
GM4_cmdBook dummy Better Armour Stands Id of effect to apply to armorstand stored on book item
GM4_mush dummy Decorative Mushroom Blocks Setting for player for mushroom type
GM4_AI dummy Heart Canisters AffectedItems tracker stat
GM4_AIhc dummy Heart Canisters Canister count on player
GM4_AIhcc dummy Heart Canisters Checks for change in canister count

Identifier Edit

All modules should have an "identifier" armorstand placed at the negative-most point of the square space the module occupies. It should be named using the module name with camelCase and GM4_ prefix e.g. GM4_desireLines. NoGravity should be true and the entity should contain a version number tag and a GM4 tag. Below is an example tag. NOTE that 2_0 uses an underscore not a full-stop. This is because tags with full-stops cannot be read using target selectors.

{NoGravity:1b,Tags:["2_0",GM4],CustomName:GM4_desireLines}

This armorstand is used by the uninstaller code and will be used to support potential future diagnostic modules that check for the presence of the module; its version and location; and affect the module in other ways.

Entities Edit

If an entity is used for marking or placeholding and the name isn't visible to the user, the GM4_ prefix should be used. Keep marker entities' names clear and unique.

Clocks Edit

20hz clocks should use a repeating_command_block to function. Any other clock should use a falling_block redstone block clock. The sand's vertical velocity should be used to modify the timing of the hopper clock with a default velocity of [0.0,0.35,0.0] to be used (giving it the same cycle time as a regular hopper clock). If a contraption doesn't need to run on a 20hz clock it is required for it to be on a FallingSand clock.

Place a redstone block on top of a command block with the following command inside to obtain a FallingSand clock.
 summon falling_block ~ ~0.5 ~ {Block:redstone_block,Motion:[0.0,0.35,0.0]} 

Tags Edit

Tagging should be used where appropriate to reduce the number of scoreboards in the world. Should be camelCase with a "GM4_" prefix.

Currently used tags:

Tag Name Module Description
GM4_ESC Enderman Support Class Tags entities within 25 blocks of an enderman
GM4_undeaded Undead Players Marks players that are dead and have summoned a zombie
GM4_noBurn Better Fire Marks arrows, tipped arrows and creepers that are not on fire
GM4_boom Better Fire Marks creepers that should ignite themselves
GM4_ZCrabbittp Zauber Cauldrons Used as a cauldron portal cooldown for rabbits
GM4_undeadZombie Undead Players Tags undead players for targeting since name contains a space
GM4_potionMutation PotionSwords Tags mobs which should mutate
GM4_M Social Creepers Tags creeper as non-egg producer
GM4_F Social Creepers Tags creeper as egg producer
GM4_Pig Secret Module (Pig Tractors) Tags players using pig tractors and harvested crop items
GM4_isEmpty Custom Crafting Tags custom crafters with no items inside
GM4_R Custom Crafting (Expansions) Tags Crafters in 4 blocks of a player
GM4_broken Custom Crafting Tags crafters that have been broken
GM4_Compressor Block Compressor Tags crafters that are also compressors
GM4_stack Block Compressor Tags items that are in a stack of 64 or 16
GM4_ostaraWork Boots of Ostara Tags players eligible for the Ostara effect
GM4_bfNew Blast Furnaces
GM4_cturn Better Armour Stands Tells entity to turn clockwise
GM4_aturn Better Armour Stands Tells entitiy to turn anti-clockwise
GM4_mush Decorative Mushroom Blocks Tags players using module
GM4_RM Decorative Mushroom Blocks Tags red mushroom block items
GM4_BM Decorative Mushroom Blocks Tags brown mushroom block items
GM4_TP Ender Hoppers Tags Items that have been teleported
GM4_eHopBroken Ender Hoppers Tags Armor Stands inside a Hopper

1.9+ modules Edit

1.9 modules take the shape of a wall 16 command blocks long in the X direction, up to 2 command blocks wide in the Z direction and spiralling or snaking upwards from the start clock in the Y. They should move from their start point in the positive X until the module is 16 command blocks long (excluding the sign on the end but including the clock command block). Once the module is 16 command blocks long it should turn clockwise back on itself until it reaches the start X coordinate, from there it should continue to snake or spiral upwards in the positive Y. A module should never be longer than 16 in the X (excluding the sign) and no wider than 2 in the Z.
1

Examples of modules correctly fitting the 1.9 Gamemode 4 standard with their shape

1-Click Install Edit

1-clicks should spawn the structure 1 block off of the execution command block in the positive x and z, level with the install command-block's y coordinate.

1 Click Creation

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.