COWMODSКаталог модов

Glacier Players

Mannequins that are designed to mimic real players in a server.

3785обновлён 9 окт. 2026 г.
ПроклятыеМобыОбщение

Описание

Glacier Players

Last Commit Commits Extensions Wiki

Glacier Players has received its final update and will only be maintained for newer versions.

Glacier Players are Mannequins designed to mimic real player behaviour in a typical survival server, optimized to have a dozen of glaciers active at all times.

Features

  • Most of the player behaviour replicated.
    • Connecting and disconnecting.
    • Death and respawning alongside being able to use totems.
      • Set their respawn point using beds.
    • Ability to emulate hunger, armour, inventory, experience and the locator bar.
    • Send messages in chat.
      • Polls
      • Chat Filters
      • Voicelines (Optional Content required)
      • Source-engine Sprays (Optional Content required)
    • Load chunks and receive knockback.
    • Ability to place blocks semi-accurately.
    • Support for skins and gamemodes (Survival, Creative and Adventure)
  • Toolsets to change glacier behaviour and settings.
    • Permissions to change how players have access to Toolsets.
  • Extension Support.

Accuracy

FeatureStatusOverview
Connection+100%Connecting and disconnecting.
Chatting+100%Chat messages + Extras.
Death80%Death and respawning. Totems included
Hunger99%Hunger system with exhaustion, saturation, eating and difficutly changes.
Inventory99%Inventory system with how items are handled. Used by Hunger and Placing.
Mob Recognition0%Be able to get recognized by mobs.
Combat0%Ability to fight other mobs and glaciers.
Breaking and Tools1%Ability to break blocks and use tools.
Placing50%How placing blocks are handled. Blocks more than 1x1x1 are unstable. Some data that determines how the block is rotated may not be supported.
Gamemode Emulation50%Survival, Creative and Adventure.

Credits

Inspirations

Contribution Guidelines

  • Optimization and Efficiency

Code should use most available optimizations, if possible, like macro caching and UUID selectors to gain more performance. TPS matters when mods and other datapacks are being used.

  • Modular

Code of Glacier Players allow extensions to add onto existing systems like assigning a glacier a custom waypoint picture when connecting.

  • Player Accuracy

Glaciers aim to mimic players so try to add in any features or behaviours that makes them more accurate, with the limitations of datapacks in a vanilla client.

Experimental Mob AI

EXPMAI or formerly EXPAI. originally created Glacier Players which was split into its own project. EXPAI changes behaviour of certain mobs.

Modrinth
GitHub
Planet Minecraft

Release List

ReleaseVersionSummary
11 - 17b24w21a - 1.21.1Hunger, Armour, Totems, New Configurations, UUID Cache, Absorption, Toolkits, Panic lines, Stability changes. Tons of fixes. Split between EXPAI and Glacier Players.
18 - 1924w39a - 1.21.4Building, Set Spawnpoints, Visual Storage rework, Optimizations and Cast changes.
2025w09a - 1.21.5Additional Configurations and Optimizations.
21 - 231.21.5 - 25w23aSprays, System reworks and minor changes.
241.21.11Mannequin Overhaul and heavy system reworks.
2526.3Last Release.

Галерея

KilobyteDigital AscendanceCopperSource-engine Spray

Последние версии

Все версии →
release

Release 25

25
9 окт. 2026 г.83Minecraft: 26.3datapack
Скачать
Что нового
# Glacier Players **Release 25 [26.3]** # Additions ### Greater Extension Support - Extensions now need to add their data to the storage `glacier_players:extensions extensions.data` to be recognised. - `id` | String. - `function` | String. Function to run when active. - `meta` | Compound. Contains data used for visuals inside of the Extensions Manager. Optional. - `name` | String. Replaced by `id` if omitted. - `version` | String. What version the extension is on. - `authors` | String. Credits. - `links` | List of URLs. - `text` | String. - `url` | String that points to an URL. - `dependencies` | List. Contains strings of IDs. - `license` | String. What license the extension is under. - `description` | String. Overall text about extension. - Extensions can be toggled with ease reload the need of `/reload` via the manager through the Quick Actions key. - All extensions are displayed inside of the manager menu. - Extensions can only be toggled when the game is not actively being played. - Everyone can view but need Toolset access to toggle extensions. - Added extensions are enabled by default. - Statuses will persist across reloads. # Changes - Glaciers now swing upon breaking or placing a block. ## Visual Storage ### Global - `contents` removed. - Mark Messages now add in a indicator before the name. ### Polls - `question_json` renamed to `question` - `decisions` renamed to `answers` - Now applicable to filters. ### Sprays - Sprays are only notified when placed. - Sprays are now displayed in chat when placed. - Toggleable in Chat Settings. - Removed `id` ### Voices - Removed `id` - All data now required. ### Filters - Changed format to be a list - `filters:{swearing:true}` is now `filters:[swearing]` - Swearing is not filtered by default. # Misc - **HeightBoxLib** updated to Release 6 https://github.com/Trunkis/HeightBoxLib # Optimizations - Removed ticking usage of a selector during polls. - Raycasts run only the needed commands before debug. - Spray data only gets changed if a placement is found. # Fixes - Extensions toolkit loops infinitely without a function. - Speech types being used despite no contents.
release

Release 24

24
17 дек. 2025 г.295Minecraft: 1.21.11, 26.1-snapshot-1datapack
Скачать
Что нового
# 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. - `standing` Default pose. - `swimming` Swimming pose for when a Glacier sprints in water. - Hitbox sizes change depending on the pose. # Additions ## Dahesor's NBT Transformer - Glacier Players now has DNT packaged. Replaces StringLib. - https://github.com/Dahesor/DNT-Dahesor-NBT-Transformer ## 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`, `Up` and `Down` allow block placing by default. and values are contained inside of the `glacier_players.number` objective: - `#Block.Border.Side.N.Available` North - `#Block.Border.Side.E.Available` East - `#Block.Border.Side.S.Available` South - `#Block.Border.Side.W.Available` West - `#Block.Border.Side.Up.Available` Up - `#Block.Border.Side.Down.Available` Down ### 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_conditions` that will get the function value. - An example of Special Conditions is: `["namespace:function","other_namespace:other_function","#namespace:function_tag"]` ### General - `#Block.Fail glacier_players.condition` is used to determine if the process is to be finalized. Other functions can change this. - `fire` and `soul_fire` are 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/crops` item tag. ## Health - Support for the `max_health` attribute. - 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. ## Hunger - Added new storage; `glacier_players:hunger` - Consumption sound can be overridden when applying data from a consumable item. - `glacier_players:hunger` is the storage that holds `consume_sound` which points to a sound. - `entity.generic.eat` is 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; `chain` is now `iron_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_wielder` will 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` ### 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 - Added new section: **Systems** This will be store any future configs related to the internals. ### General - Added `retained_data` which retains important data. - This is located inside of `gp_action` - 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. - 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`, `creative` and `adventure` are accepted. ## World Spawnpoint Marker - The position of the world spawnpoint is saved. - The position gets saved to `glacier_players:macro` `worldspawn` every 10 seconds. ## Tags ### Function - `glacier_players:extensions/behaviour/player/apply_waypoint` - `glacier_players:extensions/tool_types` ## Misc - Added `glacier_players:empty` loot_table. - Added `glacier_players:toolset_retain` item modifier. - Added pack.png # Changes ## Glacier Data and UUIDs - Data and UUIDs are now merged into one storage; `glacier_players:macro instances` - `glacier_players:macro instance` refers 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/all` overrides the instance with `{}` - `empty/data` clears data. - `empty/uuids` clears UUIDs. - `create` appends `instance` into `instances` - Requires input of `instance_id` - `delete` deletes the specified instance - Requires input of `instance_id` - `mark_edit` sets `instance` from the most recent entry in `active_instances` - `push` apply changes to specified instance in `instances` and marks as inactive. - Requires input of `instance_id` - `update` pushes in-edit instance. - `upload` appends specified instance from `instances` to `active_instances` - Requires input of `num` ## 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:""}` - `mode` is a string that points to a specified function. - Items now drop from the eye anchor instead of a hardcoded position. ## Toolkit ### Extensions - `glacier_players:extensions ext_namespace` now only accepts string. - The new format is now `["ns:func","ns2:func"]` - The old format was `[{toolset_function:"ns:func"}]` ### Configs/Behaviours - Moved the following "Systems" config into the **Systems **toolset: - Toggle Experience. - Toggle Inventory. - Toggle Hunger. - Toggle Locator Bar. ### General - `gp_remove_hotbar` is now `keep_hotbar` - Action Type `back` has been changed to `change` - `gp_action` in 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 `type` data. - `keep_hotbar` has also moved into `gp_action` - `gp_return_function `and `gp_event_function` have been merged into `function` which is located inside of `gp_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}` - 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_run` which is processed upon consumption. - An example of a Special Tags list is provided: `["ns:func","ns2:func"]` - `GlacierPlayer.Inv_Food_ReplaceItem` tag replaced by `#ReplaceItem glacier_players.condition` score. - 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`, `pos` and `rot` has been merged. This is located inside of `glacier_players:build_macro` `sequence_tmep` - `sound_namespace` is now `sound` - `block` remains unchanged. - `pos` is now `position` - `rot` is now `data` - `data` contains the properties of the block. - `type.rotation` is now `rotation_type` as 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 - `angle` is now renamed to `pitch` which is based on vertical rotation. - Added `yaw` which 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.config` raised 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 `@e` and `@n` selectors. - More selector usages have been removed. - Several selectors now have `x=0` included to limit the dimension. - Most cases of summons now optimized using `summon` subcommand in `execute` - 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 `execute` uses 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 `facing` type having wrong rotations. - Fixed `rotation` which was not working. - Blocks that have no rotation values now replace overridable blocks. - Corrected inverting the `facing` rotation 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 - `action` advancement now revoked every tick # Removed - `glacier_players:uuids` and `glacier_players:glacier_data` merged into `glacier_players:macro instances` - The following UUIDs now obsolete: - `0000003d-0000-0017-0000-0025000adef5` cmarker. - `0000003d-0000-0017-0000-0025000adef2` hmarker. - `0000003d-0000-0017-0000-0025000adef4` pmarker. - `0000003d-0000-0017-0000-0025000adef3` mmarker. - `0000003d-0000-0017-0000-0025000adef` bmarker. - Removed Airtime from Experimental settings. - Removed Datafixer due to massive changes for little benefit. - Stringlib removed. - HeightBoxLib removed. - `32_second_period` predicate removed. ## Removed Function Tags - `extensions/inventory/modes` - `extensions/inventory/food_properties` ## Removed Tags - `GP.Inventory_Selected.InvSection` and related. - `GlacierPlayer.Inv_Food_ReplaceItem` - `GlacierPlayer.Spray.Init` - `GlacierPlayer.Set_ReScoreID` - `glacier_players.processed_id` - `GlacierPlayer.Inventory_SelectedFood` - `GP.Used_Place` - All related consumption tags removed. ## Removed Storage data - `glacier_players:abnormal_macro` Merged into `temp` - `glacier_players:temp_uuids` Replaced by `glacier_players:temp` - `glacier_players:pos_macro` Merged into `temp` - `glacier_Players:marker_macro` Merged into `temp` - `glacier_Players:motion` Merged into `temp` - `glacier_players:toolkit` Merged into `extensions` - `glacier_players:experience_macro` Merged into `temp` - `current_plr_ext_toolset` from `glacier_players:extensions` removed. ### Template - `toolset_function` removed. See Toolkit changes for more. ## Removed Scores - `glacier_players.inventory_saved_partition` - `glacier_players.speech_advanced_mode` - `glacier_players.previous_absorption` - Following score objectives for respawn positions removed: - `glacier_players.x_respawn_pos` - `glacier_players.y_respawn_pos` - `glacier_players.z_respawn_pos` - `glacier_players.communication_type` - `glacier_players.previous_health` - `glacier_players.inventory_slot_slot` - `glacier_players.inventory_slot_comparing_slot` - `glacier_players.inventory_slot_comparing_count` - `glacier_players.delay_totem_replace` - `glacier_players.speech_type` # Known Issues - `facing` cannot have multiple at the same time. More obvious when trying to place a furnace on top of a block.