Compatibility
Minecraft: Java Edition
26.1-snapshot-1
1.21.11
Platforms
Creators
Details
Licensed MIT
Published last month
Updated 2 months ago
Changelog
Mannequin Overhaul
- Overhauled how Glacier Players work by using Mannequins has multiple advantages over Piglin Brutes and Armour Stands.
- Glaciers no longer get targeted due to Piglin Brutes being replaced by mannequins.
- Glacier Players now works properly on Peaceful difficulty.
- Players will no longer be prompted to change difficulty or disable Glacier Players when the difficulty is Peaceful.
- Glaciers now receive fall damage.
- Glaciers interact to being fishing rodded.
- Armour Stands replaced with Markers.
- Mannequins now take several use cases of the Armour Stand
- The Marker serves as the root of the Glacier, handling all the internals like data and scores.
- Glaciers now have support for skins.
- Skins are based on the Glacier's name that is combined into 1 string of text
- Glaciers can have multiple poses. (example: Swimming uses the Swimming pose)
- The following poses are used.
standingDefault pose.swimmingSwimming pose for when a Glacier sprints in water.
- Hitbox sizes change depending on the pose.
- The following poses are used.
Additions
Dahesor's NBT Transformer
- Glacier Players now has DNT packaged. Replaces StringLib.
Building
Tags
- Added block tag
glacier_players:conditions/farming/general- Blocks in this tag are suitable for crop placement.
Block Side Availability
- BSA controls what sides of the block allow placement.
N,E,S,W,UpandDownallow block placing by default. and values are contained inside of theglacier_players.numberobjective:#Block.Border.Side.N.AvailableNorth#Block.Border.Side.E.AvailableEast#Block.Border.Side.S.AvailableSouth#Block.Border.Side.W.AvailableWest#Block.Border.Side.Up.AvailableUp#Block.Border.Side.Down.AvailableDown
Special Conditions
- Special Conditions allow for more specific placements of blocks by checks, requirements and other means for placement validity.
- The format of Special Conditions is a list;
glacier_players:build_macro special_conditionsthat will get the function value.- An example of Special Conditions is:
["namespace:function","other_namespace:other_function","#namespace:function_tag"]
- An example of Special Conditions is:
- The format of Special Conditions is a list;
General
#Block.Fail glacier_players.conditionis used to determine if the process is to be finalized. Other functions can change this.fireandsoul_fireare both considered non-solids.
Farming
- Glacier Players can now plant crops.
- Crops are planted by holding items that are registered in the
glacier_players:blocks/place_types/cropsitem tag.
- Crops are planted by holding items that are registered in the
Health
- Support for the
max_healthattribute.- Glaciers can now regenerate up to max health instead of being locked to 10 (20) hearts.
- The Debug Stats has been tweaked to show the max health.
Speech
- Added score: glacier_players.speech_rarity which controls the rarity of speech actions.
- Default value:
1500| 1 in 1500 chance to speak per tick...0= Stop,1= Always,2..= Random.
- Default value:
Hunger
- Added new storage;
glacier_players:hunger - Consumption sound can be overridden when applying data from a consumable item.
glacier_players:hungeris the storage that holdsconsume_soundwhich points to a sound.entity.generic.eatis the default value.
- The Saturation effect is now supported.
Difficulty Support
- Hunger now behave differently based on the world difficulty.
- Peaceful: Starvation damage is paused. Nutrition and Saturation regenerate overtime. Health also slowly regenerates.
- Easy: Glacier health drops to 5 (10) Hearts.
- Normal: Glacier health drops to 0.5 (1) Hearts.
- Hard: Starvation damage will continue until death or consumption.
The Copper Age drop
Tags
- Glacier Players can now use the new copper blocks such as Copper Torches and the Copper Golem Statues.
- Shelfs are now placable.
- the block;
chainis nowiron_chain
Dialog
- Credits
Toolkit
Permissions
- Added Toolset Permissions
- If the lock status hasn't been setup. The first player will get to lock/unlock the Toolset.
- Unlocking will make the Toolset behave the same from old releases (Players will get the Toolset on reload)
- Locking will give the player permission and only the Toolset is given to players with permission. Players without permission that try to use the Toolset will be restricted.
- Players that have the tag:
glacier_players.toolset_wielderwill be able to get and use Toolsets.- If the Toolset is already locked. Operators will have to give themselves or other players permission via
/tag
- If the Toolset is already locked. Operators will have to give themselves or other players permission via
- If the lock status hasn't been setup. The first player will get to lock/unlock the Toolset.
Configs
- Added new config: Path Method This controls what method that Glaciers use to make paths.
- There are 2 methods.
- Mode 0 is Simple
- Mode 1 is Intermediate Simple
- Default value is 1
- There are 2 methods.
- Added new section: Systems This will be store any future configs related to the internals.
General
- Added
retained_datawhich retains important data.- This is located inside of
gp_action
- This is located inside of
- Added the refresh function
function glacier_players:technical/tools/refresh- This is used to refresh the current toolset for any changes especially for configs.
- Added scoreboard trigger:
glacier_players.get_toolset- Triggering will wipe the all Toolset items and give the starting tools.
- Tools will not be given and a message is sent if locked.
- Triggering will wipe the all Toolset items and give the starting tools.
- Added scoreboard trigger:
glacier_players.disable_toolset- If value is equal or over 1 then the player wont be able to get and use tools.
- If value is equal or under 0 then the player will be able to get and use tools.
Glacier Rules
- Added Glacier Rules which determine how systems are handled.
glacier_players.rule.stop_exhaustion- If exhaustion should not be changed.glacier_players.rule.infinite_items- If Items should not be consumed by an action.glacier_players.rule.can_build- If building is available.glacier_players.rule.ignore_hunger_limitations- If doing actions that require hunger such as sprinting or lunging have their limitations ignored.glacier_players.rule.can_starve- If starvation damage should be taken.glacier_players.rule.invulnerable- If all damage sources should be ignored.
Gamemode Emulation
- Glaciers can now emulate several gamemodes.
- Survival, Creative and Adventure mode are supported.
- **Survival **| Default gamemode.
- **Creative **| Infinite items, hunger limitations ignored, invulnerability, no starvation damage and exhaustion is not added.
- **Adventure **| Survival but with disabled building.
- Glacier gamemodes can be changed using:
/function glacier_players:technical/gamemode/change {gamemode:<mode>}- The values
survival,creativeandadventureare accepted.
- The values
- Survival, Creative and Adventure mode are supported.
World Spawnpoint Marker
- The position of the world spawnpoint is saved.
- The position gets saved to
glacier_players:macroworldspawnevery 10 seconds.
- The position gets saved to
Tags
Function
glacier_players:extensions/behaviour/player/apply_waypointglacier_players:extensions/tool_types
Misc
- Added
glacier_players:emptyloot_table. - Added
glacier_players:toolset_retainitem modifier. - Added pack.png
Changes
Glacier Data and UUIDs
- Data and UUIDs are now merged into one storage;
glacier_players:macro instancesglacier_players:macro instancerefers to a specific instance that holds its own data and UUIDs.- The following actions can be done with the function prefix;
glacier_players:technical/data/empty/alloverrides the instance with{}empty/dataclears data.empty/uuidsclears UUIDs.createappendsinstanceintoinstances- Requires input of
instance_id
- Requires input of
deletedeletes the specified instance- Requires input of
instance_id
- Requires input of
mark_editsetsinstancefrom the most recent entry inactive_instancespushapply changes to specified instance ininstancesand marks as inactive.- Requires input of
instance_id
- Requires input of
updatepushes in-edit instance.uploadappends specified instance frominstancestoactive_instances- Requires input of
num
- Requires input of
Inventory
- Changed inventory modes to refer to the specified function.
- Inventory modes are now run with the following function:
glacier_players:player/inventory/item/internal/start {mode:""}modeis a string that points to a specified function.
- Inventory modes are now run with the following function:
- Items now drop from the eye anchor instead of a hardcoded position.
Toolkit
Extensions
glacier_players:extensions ext_namespacenow only accepts string.- The new format is now
["ns:func","ns2:func"]- The old format was
[{toolset_function:"ns:func"}]
- The old format was
- The new format is now
Configs/Behaviours
- Moved the following "Systems" config into the **Systems **toolset:
- Toggle Experience.
- Toggle Inventory.
- Toggle Hunger.
- Toggle Locator Bar.
General
gp_remove_hotbaris nowkeep_hotbar- Action Type
backhas been changed tochange gp_actionin the custom data has been changed to be a proper structure in curly brackets {}- Type has been retained, the type value will be taken from the
typedata. keep_hotbarhas also moved intogp_actiongp_return_functionandgp_event_functionhave been merged intofunctionwhich is located inside ofgp_action- The new format is now:
{gp_action:{type:event,function:"namespace:event_function",keep_hotbar:true}}- The old format was
{gp_action:"event",gp_event_function:"namespace:event_function",gp_remove_hotbar:false}
- The old format was
- Type has been retained, the type value will be taken from the
- Movement speed when using toolkit items is now retained.
Hunger
- Special tags on consumption no longer requires tags.
- Special Tags is a list of strings that point to function(s) in storage;
glacier_players:hunger consume_runwhich is processed upon consumption.- An example of a Special Tags list is provided:
["ns:func","ns2:func"]
- An example of a Special Tags list is provided:
- Special Tags is a list of strings that point to function(s) in storage;
GlacierPlayer.Inv_Food_ReplaceItemtag replaced by#ReplaceItem glacier_players.conditionscore.- The max Saturation is now based on the current Nutrition value.
- Nutrition and Saturation now have a tenth decimal place.
- All food items with decimal places in nutrition and saturation values have been adjusted.
- Scoreboards represent the number as integer (20.0 -> 200) NOTE: The inventory and hunger changes are to make the processes more streamlined.
Building
- Various data like
sound_namespace,block,posandrothas been merged. This is located inside ofglacier_players:build_macrosequence_tmepsound_namespaceis nowsoundblockremains unchanged.posis nowpositionrotis nowdatadatacontains the properties of the block.
type.rotationis nowrotation_typeas a string that points to a function.- Custom rotation types are now supported by this change.
- Improved obstruction detection that supports scaling when placing down blocks.
Breaking
- Improved functionality.
Hitbox
- Glacier Hitbox is now as accurate as the player hitbox.
Respawning
angleis now renamed topitchwhich is based on vertical rotation.- Added
yawwhich is based on horizontal rotation.
Dialog
- Glacier Players is now a part of the pause menu.
- This only include links for the Discord, Planet Minecraft, GitHub and Trello.
Sprays
- Value for
#MaxSprays glacier_players.configraised from 128 to 256.
Speech
- Behaviour of starting a speech action has changed to have a adjustable speech rarity score which controls how common speech actions should be.
Movement
- Sprint jumping is now way more accurate, jumping straight to the marker instead of turning to face the marker.
Pathing
- Glaciers using Intermediate Simple pathing will avoid markers that are in the air.
General
- Updated Pack Format to support new versions.
- Visuals of the debug stats has been touched up to replace text with sprites which includes info on hover to clarify what the numbers represent.
Optimizations
- Optimizations for
@eand@nselectors.- More selector usages have been removed.
- Several selectors now have
x=0included to limit the dimension.
- Most cases of summons now optimized using
summonsubcommand inexecute - Starving no longer uses UUID as its now ran by the Mannequin.
- Reduced amount of copy pastes for a smaller file size.
- Replaced player NBT check with item check for Toolkit.
- Optimized inventory when merging items with less commands.
- Optimized removing items upon consumption of food items with UUIDs.
- Removed unneeded
executeuses for swimming. - Regenerating health is now ran by the mannequin, removing the need for macros.
- Simplified score operations when running hunger effects.
- Heavily reduced command count when randomizing dmarker position.
- Updating item stack after placing a block now only occur if the amount of blocks is over 1.
- Micro optimization for handling voice messages.
- Replaced a player data check with a block data check for getting the
tool_data
Fixes
Building
- Fixed
facingtype having wrong rotations. - Fixed
rotationwhich was not working. - Blocks that have no rotation values now replace overridable blocks.
- Corrected inverting the
facingrotation type.
General
- Glaciers no longer get targeted by Iron Golems.
- Incorrect movements when over multiple dimensions no longer happen.
- Spawnpoints when respawning is now at world spawn instead of the death location.
- Duplicate entities when respawning no longer occur.
- Glaciers no longer clip through blocks when damaged.
- This was an issue due to how knockback was handled pre-mannequin.
- The Hunger effect now defaults to level 1 if the amplifier given was 0
- Fixed clearing the sprays cache not killing all spray entities.
- Fixed experience not dropping if value was under 100
actionadvancement now revoked every tick
Removed
glacier_players:uuidsandglacier_players:glacier_datamerged intoglacier_players:macro instances- The following UUIDs now obsolete:
0000003d-0000-0017-0000-0025000adef5cmarker.0000003d-0000-0017-0000-0025000adef2hmarker.0000003d-0000-0017-0000-0025000adef4pmarker.0000003d-0000-0017-0000-0025000adef3mmarker.0000003d-0000-0017-0000-0025000adefbmarker.
- Removed Airtime from Experimental settings.
- Removed Datafixer due to massive changes for little benefit.
- Stringlib removed.
- HeightBoxLib removed.
32_second_periodpredicate removed.
Removed Function Tags
extensions/inventory/modesextensions/inventory/food_properties
Removed Tags
GP.Inventory_Selected.InvSectionand related.GlacierPlayer.Inv_Food_ReplaceItemGlacierPlayer.Spray.InitGlacierPlayer.Set_ReScoreIDglacier_players.processed_idGlacierPlayer.Inventory_SelectedFoodGP.Used_Place- All related consumption tags removed.
Removed Storage data
glacier_players:abnormal_macroMerged intotempglacier_players:temp_uuidsReplaced byglacier_players:tempglacier_players:pos_macroMerged intotempglacier_Players:marker_macroMerged intotempglacier_Players:motionMerged intotempglacier_players:toolkitMerged intoextensionsglacier_players:experience_macroMerged intotempcurrent_plr_ext_toolsetfromglacier_players:extensionsremoved.
Template
toolset_functionremoved. See Toolkit changes for more.
Removed Scores
glacier_players.inventory_saved_partitionglacier_players.speech_advanced_modeglacier_players.previous_absorption- Following score objectives for respawn positions removed:
glacier_players.x_respawn_posglacier_players.y_respawn_posglacier_players.z_respawn_pos
glacier_players.communication_typeglacier_players.previous_healthglacier_players.inventory_slot_slotglacier_players.inventory_slot_comparing_slotglacier_players.inventory_slot_comparing_countglacier_players.delay_totem_replaceglacier_players.speech_type
Known Issues
facingcannot have multiple at the same time. More obvious when trying to place a furnace on top of a block.



