News - Minecraft: JAVA Edition 1.19.4 - Printable Version +- Sick Gaming (https://www.sickgaming.net) +-- Forum: Our Game Servers (https://www.sickgaming.net/forum-58.html) +--- Forum: Minecraft (https://www.sickgaming.net/forum-103.html) +--- Thread: News - Minecraft: JAVA Edition 1.19.4 (/thread-101435.html) |
News - Minecraft: JAVA Edition 1.19.4 - xSicKxBot - 09-08-2023 News - Minecraft: JAVA Edition 1.19.4 <div style="margin: 5px 5% 10px 5%;"><img src="https://www.sickgaming.net/blog/wp-content/uploads/2023/03/minecraft-java-edition-1-19-4.png" width="16" height="16" title="" alt="" /></div><div><div><img decoding="async" src="https://www.sickgaming.net/blog/wp-content/uploads/2023/03/minecraft-java-edition-1-19-4-1.png" class="ff-og-image-inserted"></div> <h3>Changes</h3> <ul> <li>Updated Horse Breeding</li> <li>Jukeboxes have changed to be at parity with Bedrock</li> <li>Interacting with armor or elytra items in-hand will now swap them with equipped gear</li> <li>The camera tilt when hurt is now based on the direction of incoming damage</li> <li>Potions colors have been adjusted to make different types of potions more distinguishable</li> <li>Potions no longer have an enchantment glint due to it obscuring the color of the potion contents</li> <li>Enchantment glint on items and armor is now more subtle</li> <li>Armor Stands now preserve custom names when placed and broken</li> <li>Vexes now use a separate charging animation when empty-handed</li> <li>Tweaks to recipe unlocking to make discovering vital crafting recipes easier for new players</li> <li>Updated the Create New World screen</li> <li>New accessibility options and improvements</li> <li>Updated the Realms screen to be more in line with the Singleplayer and Multiplayer screens</li> <li>Added a notification system for Realms to tell you important information about your Realm</li> <li>Added “Credits & Attribution” button in the Options menu</li> </ul> <p><strong>Horses, Donkeys, and Llamas</strong></p> <p>The speed, jump height, and health of a baby are now a variation of the average of the parents’ attributes, rather than being biased toward the average possible value.</p> <p>This change makes horse breeding a viable way of getting great horses if a player starts with good parents and puts in enough time and Golden Carrots.</p> <p><strong>Jukebox</strong></p> <ul> <li>Emits a note particle above it while playing a music disc</li> <li>While playing a music disc, it will emit a redstone signal of 15</li> <li>Droppers and hoppers can now interact with it</li> </ul> <p><strong>Creative Menu</strong></p> <ul> <li>Added painting variants to the creative menu</li> <li>Paintings with a pre-defined variant will now display the author and title in the item description when hovered over</li> </ul> <p><strong>Recipe Unlocking</strong></p> <ul> <li>The Crafting Table recipe is unlocked immediately on creating a new world</li> <li>The Crossbow recipe is no longer unlocked by sticks</li> <li>The Soul Campfire recipe is no longer unlocked by sticks</li> </ul> <p><strong>Updated Create New World Screen</strong></p> <ul> <li>The screen is now organized into three tabs <ul> <li>The Game-Tab allows to set the world name, Gamemode, Difficulty, and whether to allow cheats</li> <li>The World-Tab allows to set the World-Type and Seed, and to toggle the generation of structures and the bonus chest</li> <li>The More-Tab provides access to the Game Rules and DataPack Selection Screen</li> </ul> </li> <li>Tabs can be switched with the keyboard by pressing Ctrl+Tab and Ctrl+Shift+Tab</li> <li>Specific tabs can also be navigated by pressing Ctrl+Tab Number <ul> <li>For example, Ctrl+2 navigates to the second tab</li> </ul> </li> <li>Removed the Import Settings button and the corresponding Export Settings button in the Edit World Screen</li> <li>Added a screen to easily enable/disable experimental features <ul> <li>The screen can always be found under the More-tab</li> <li>In snapshots, a shortcut button can be found under the Game-tab</li> </ul> </li> </ul> <p><strong>Accessibility</strong></p> <ul> <li>Added an accessibility onboarding screen for players launching the game for the first time</li> <li>Auto-Jump is now off by default</li> <li>Added arrow key navigation</li> <li>Added high contrast resource pack</li> <li>The resource pack screen is now keyboard-navigatable</li> <li>Changed how tooltips in the menu UI are positioned so buttons are still readable</li> <li>Added a tooltip in the key binds screen that specifies which key binds are conflicting</li> <li>Added a “Damage Tilt” accessibility option that controls the amount the camera shakes when being hurt</li> <li>Added two new options in the accessibility menu for adjusting the speed and transparency of enchantment glints</li> <li>Added a “Notification Time” accessibility option that changes how long notifications such as unlocked recipes, advancements, subtitles, and selected item names are visible for</li> </ul> <p><strong>Arrow Kew Navigation</strong></p> <ul> <li>Menu screens can now be navigated by using the arrow keys</li> <li>When navigating with arrow keys, sliders need to be activated by pressing Enter or Space to start changing the value</li> </ul> <p><strong>High Contrast Resource Pack</strong></p> <ul> <li>Added a built-in resource pack that enhances the contrast of UI elements</li> <li>Added a new option in the Accessibility menu that enables the high contrast resource pack</li> <li>This only affects the menu UIs for now, but we’ll be looking to bring this to gameplay UIs in the future as well</li> </ul> <h3>Technical Changes</h3> <ul> <li>The data pack version is now 12</li> <li>The resource pack version is now 13</li> <li>Added a group of entities to display items, blocks, and text</li> <li>Added entities to detect interactions and attacks</li> <li>Added data-driven damage types</li> <li>Added a <span class="bedrock-server">damage</span> command for applying damage to entities</li> <li>Added <span class="bedrock-server">ride</span> command to mount and dismount entities</li> <li>The <span class="bedrock-server">clone</span> command now supports cloning to and from different dimensions</li> <li>A new <span class="bedrock-server">string</span> source is now available for the <span class="bedrock-server">data modify</span> command</li> <li>New <span class="bedrock-server">execute</span> sub-commands: <span class="bedrock-server">if dimension</span>, <span class="bedrock-server">if loaded</span>, <span class="bedrock-server">on</span>, <span class="bedrock-server">positioned over</span>, <span class="bedrock-server">summon</span></li> <li>Added a new type of atlas configuration source: <span class="bedrock-server">paletted_permutations</span></li> <li>Pressing F3+S will now dump contents of dynamic textures (like atlases, maps, etc.) to <span class="bedrock-server">screenshots/debug/</span></li> <li>Added <span class="bedrock-server">fallback</span> fields to <span class="bedrock-server">translate</span> text components</li> <li>Out-of-bound arguments in <span class="bedrock-server">translate</span> formats are no longer silently ignored</li> <li>Added the following game events: <ul> <li><span class="bedrock-server">entity_dismount</span> with a vibration frequency of 6</li> <li><span class="bedrock-server">entity_mount</span> with a vibration frequency of 7</li> </ul> </li> <li>Changed the following game events: <ul> <li><span class="bedrock-server">item_interact_finish</span> now has a vibration frequency of 2 instead of 14</li> </ul> </li> <li>Removed <span class="bedrock-server">heldItemTooltips</span> option from <span class="bedrock-server">options.txt</span></li> <li>Added a network protocol feature for forcing a bundle of packets to be processed within the same client tick</li> <li>Added <span class="bedrock-server">–pidFile</span> argument to the dedicated server command line for printing process id to file</li> <li>The vanilla resource pack en_us language file is now sorted alphanumerically by key</li> <li>Added <span class="bedrock-server">show_notification</span> field to recipes <ul> <li>Accepts a boolean which determines if a notification is shown when unlocking this recipe</li> <li>defaults to <span class="bedrock-server">true</span> if isn’t specified</li> </ul> </li> <li>A new recipe type <span class="bedrock-server">smithing_transform</span> has been added for the updated Netherite Upgrade recipe</li> <li>A new recipe type <span class="bedrock-server">smithing_trim</span> has been added for the new Armor Trim recipe</li> <li>A new recipe type <span class="bedrock-server">crafting_decorated_pot</span> has been added for the new Decorated Pot recipe</li> <li>New registries <span class="bedrock-server">trim_pattern</span> and <span class="bedrock-server">trim_material</span> have been added for the armor trim system</li> <li>Smithing table has temporarily two menu types <ul> <li>Old menu without the Smithing Template slot has been renamed to <span class="bedrock-server">legacy_smithing</span> <ul> <li>Will be removed when the Armor Trim feature stops being an experimental feature</li> </ul> </li> <li>New menu with a Smithing Template slot was added called <span class="bedrock-server">smithing</span></li> </ul> </li> <li>Added new flag (value 128) to <span class="bedrock-server">HideFlags</span> NBT field for hiding armor trim item tooltips</li> </ul> <p><strong>Resource Pack Format</strong></p> <ul> <li>The enchantment glint now has two separate texture files: <span class="bedrock-server">enchanted_glint_entity.png</span> and <span class="bedrock-server">enchanted_glint_item.png</span></li> <li>The texture format used to dynamically scale buttons and sliders has been updated to always include fixed 20px borders on the left and right</li> <li>Slider textures are now defined in a separate <span class="bedrock-server">slider.png</span> file</li> <li>The Create New World screen now uses a separate <span class="bedrock-server">light_dirt_background.png</span> for its background, unlike other screens</li> </ul> <h3>Commands</h3> <h4><strong><span class="bedrock-server">Clone</span></strong></h4> <p>The clone command now supports specifying the source and target dimensions.</p> <p><strong>New syntax:</strong></p> <p><em>clone [from <sourceDimension>] <begin> <end> [to <targetDimension>] <destination> …</em></p> <p><strong>Parameters:</strong></p> <ul> <li><span class="bedrock-server">sourceDimension</span>: id of dimension to clone from</li> <li><span class="bedrock-server">targetDimension</span>: id of dimension to clone to</li> </ul> <h4><span class="bedrock-server">Damage</span></h4> <p><span class="bedrock-server">New command to apply damage to entities.</span></p> <p><strong><span class="bedrock-server">Syntax:</span></strong></p> <ul> <li><em><span class="bedrock-server">damage <target> <amount> [<damageType>] [at <location>]</span></em></li> <li><em><span class="bedrock-server">damage <target> <amount> [<damageType>] [by <entity>] [from <cause>]</span></em></li> </ul> <p><strong><span class="bedrock-server">Parameters:</span></strong></p> <ul> <li><span class="bedrock-server">target</span>: The entity to damage</li> <li><span class="bedrock-server">amount</span>: Amount of damage to inflict</li> <li><span class="bedrock-server">damageType</span>: The type of damage to inflict <ul> <li>This determines how the damage affects the entity as well as which death message is displayed</li> </ul> </li> <li><span class="bedrock-server">entity</span>: The entity inflicting the damage</li> <li><span class="bedrock-server">cause</span>: The cause of the damage, in the case of indirect damage <ul> <li>Example: When shot by an Arrow, the <span class="bedrock-server">entity</span> is the Arrow projectile while <span class="bedrock-server">cause</span> might be a Skeleton</li> </ul> </li> <li><span class="bedrock-server">location</span>: The location the damage originated at (when no entity caused the damage) <ul> <li>For instance, <span class="bedrock-server">location</span> might represent the location of a Bed exploding in the Nether</li> </ul> </li> </ul> <h4><span class="bedrock-server">Data</span></h4> <p><span class="bedrock-server">New source available:</span></p> <ul> <li><span class="bedrock-server">string <entity|block|storage> [path] [start] [end]</span> – reads a value as text, resulting in a string value</li> </ul> <p>New arguments:</p> <ul> <li><span class="bedrock-server">start</span>: Index of first character to include at the start of the string</li> <li><span class="bedrock-server">end</span>: Index of the first character to exclude at the end of the string</li> </ul> <h4><span class="bedrock-server">Effect</span></h4> <ul> <li><span class="bedrock-server">infinite</span> is now a valid option for effect durations <ul> <li>Infinite effect durations show up as “∞” in the player inventory view</li> </ul> </li> </ul> <h4><span class="bedrock-server">Execute</span></h4> <h4><span class="bedrock-server">Execute If|Unless</span></h4> <p>New conditions available for the <span class="bedrock-server">execute if|unless</span> sub-command:</p> <ul> <li><span class="bedrock-server">execute if|unless loaded <pos></span> – checks if the position given is fully loaded (regarding both blocks and entities)</li> <li><span class="bedrock-server">execute if|unless dimension <dimension></span> – checks if the execution is in a matching dimension</li> </ul> <p><strong>Parameters:</strong></p> <ul> <li><span class="bedrock-server">pos</span>: Block position to check</li> <li><span class="bedrock-server">dimension</span>: A dimension id</li> </ul> <h4><span class="bedrock-server">Execute On</span></h4> <p>New <span class="bedrock-server">execute</span> sub-command for selecting entities based on relation to the current executing entity:</p> <ul> <li><em><span class="bedrock-server">execute on <relation></span></em></li> </ul> <p>Relations:</p> <ul> <li><span class="bedrock-server">vehicle</span> – the entity that the executing entity is riding</li> <li><span class="bedrock-server">passengers</span> – all entities directly riding the executing entity (no sub-passengers)</li> <li><span class="bedrock-server">controller</span> – the entity that is controlling the executing entity (for example: first passenger in a boat)</li> <li><span class="bedrock-server">owner</span> – the owner of the executing entity, if it is a tameable animal (like cats, wolves, or parrots)</li> <li><span class="bedrock-server">leasher</span> – the entity leading the executing entity with a leash (might be a leash knot in case of being attached to a fence)</li> <li><span class="bedrock-server">target</span> – the attack target for the executing entity</li> <li><span class="bedrock-server">attacker</span> – the last entity that damaged the executing entity in the previous 5 seconds</li> <li><span class="bedrock-server">origin</span>: <ul> <li>shooter, if the executing entity is a projectile (like Arrow, Fireball, Trident, Firework, Thrown Potion, etc.)</li> <li>thrower, if the executing entity is an item</li> <li>source of effect, if the executing entity is an Area Effect Cloud</li> <li>igniter, if the executing entity is a Primed TNT</li> <li>summoner, if the executing entity is Evoker Fangs or a Vex</li> </ul> </li> </ul> <p>If the relation does not apply to the executing entity or no entities are matching it, the selector returns zero elements.</p> <h4><span class="bedrock-server">Execute Positioned Over</span></h4> <p>New <span class="bedrock-server">execute</span> sub-command for finding positions on top of a heightmap. Changes the height of the execution position to be on top of the given heightmap.</p> <p><strong>Syntax:</strong></p> <ul> <li><span class="bedrock-server">execute positioned over <heightmap></span></li> </ul> <h5>Heightmaps</h5> <p>A heightmap records the highest position in a column of blocks according to some criteria. Available options:</p> <ul> <li><span class="bedrock-server">world_surface</span>: Any non-air block</li> <li><span class="bedrock-server">motion_blocking</span>: Any motion blocking material (e.g. ignores flowers and grass)</li> <li><span class="bedrock-server">motion_blocking_no_leaves</span>: Any non-leaf motion blocking material</li> <li><span class="bedrock-server">ocean_floor</span>: Any non-fluid motion blocking material</li> </ul> <h4><span class="bedrock-server">Execute Summon</span></h4> <p>New <span class="bedrock-server">execute</span> sub-command for summoning a new entity and binding the context (<span class="bedrock-server">@s</span>) to it. Meant to simplify entity setup and reduce the need for raw NBT editing.</p> <p>Syntax:</p> <ul> <li><span class="bedrock-server">execute summon <entity id></span></li> </ul> <h4><span class="bedrock-server">Fillbiome</span></h4> <ul> <li>The amount of network data transmitted when using the <span class="bedrock-server">fillbiome</span> command has been optimized</li> </ul> <h4><span class="bedrock-server">Title</span></h4> <ul> <li>All time arguments to <span class="bedrock-server">title times</span> are now time durations and work with <span class="bedrock-server">t</span>, <span class="bedrock-server">s,</span> and <span class="bedrock-server">d</span> suffixes</li> </ul> <h4><span class="bedrock-server">Weather</span></h4> <ul> <li>The duration of the weather change now matches the game’s regular weather cycle if not specified</li> <li>The <span class="bedrock-server">duration</span> parameter is now a time duration in ticks and works with <span class="bedrock-server">t</span>, <span class="bedrock-server">s,</span> and <span class="bedrock-server">d</span> suffixes <ul> <li>To retain existing functionality, you need to add an <span class="bedrock-server">s</span> suffix to pre-existing commands</li> </ul> </li> </ul> <h4><span class="bedrock-server">Ride</span></h4> <p>New command to allow entities to start or stop riding other entities.</p> <p><strong>Syntax:</strong></p> <ul> <li><span class="bedrock-server">ride <target> mount <vehicle></span> <ul> <li>Makes a single target mount a single vehicle</li> <li>The command will fail if: <ul> <li><span class="bedrock-server">vehicle</span> is a player</li> <li><span class="bedrock-server">target</span> is already riding a vehicle</li> <li><span class="bedrock-server">target</span> and <span class="bedrock-server">vehicle</span> are the same entity</li> <li><span class="bedrock-server">vehicle</span> is already a passenger (direct or indirect) of <span class="bedrock-server">target</span></li> </ul> </li> </ul> </li> <li><span class="bedrock-server">ride <target> dismount</span> <ul> <li>Dismounts <span class="bedrock-server">target</span> from any vehicle it is riding</li> <li>Fails if <span class="bedrock-server">target</span> is not riding anything</li> </ul> </li> </ul> <h3>Damage Types</h3> <p>Damage Types are a new registry that can be extended through data packs. A Damage Type determines how damage is handled by the game. This includes which attributes the damage has as well as which death message is used when an entity dies due to that type of damage.</p> <p>Example:</p> <pre><em><code>{ "exhaustion": 0.1, "message_id": "arrow", "scaling": "when_caused_by_living_non_player" } </code></em></pre> <p><strong>Fields:</strong></p> <ul> <li><span class="bedrock-server">message_id</span>: The message id used for deaths caused by this damage type <ul> <li>Will be combined with other string fragments to form a translation key</li> </ul> </li> <li><span class="bedrock-server">exhaustion</span>: The amount of hunger exhaustion caused by this damage type</li> <li><span class="bedrock-server">scaling</span>: Whether this damage type scales with difficulty levels. Possible values: <ul> <li><span class="bedrock-server">never</span>: Damage is always the same</li> <li><span class="bedrock-server">always</span>: Damage always scales with difficulty</li> <li><span class="bedrock-server">when_caused_by_living_non_player</span>: Damage scales with difficulty if it was caused by a living entity who is not a player</li> </ul> </li> <li><span class="bedrock-server">effects</span>: Optional field controlling how damage manifests when inflicted on players. Possible values: <ul> <li><span class="bedrock-server">hurt</span> (default): the default hurt sound</li> <li><span class="bedrock-server">thorns</span>: Thorns hurt sound</li> <li><span class="bedrock-server">drowning</span>: Drowning sound</li> <li><span class="bedrock-server">burning</span>: A single tick of burning sound</li> <li><span class="bedrock-server">poking</span>: Berry bush poke sound</li> <li><span class="bedrock-server">freezing</span>: Freeze tick sound</li> </ul> </li> <li><span class="bedrock-server">death_message_type</span>: Optional field that controls if special death message variants are used. Possible values: <ul> <li><span class="bedrock-server">default</span> (default): No special death message logic is applied</li> <li><span class="bedrock-server">fall_variants</span>: Show a variant of fall damage death instead of a regular death message, e.g. <span class="bedrock-server">death.fell.assist.item</span></li> <li><span class="bedrock-server">intentional_game_design</span>: Show the intentional game design message instead of a regular death message</li> </ul> </li> </ul> <p>Damage type tags control many aspects of how damage from different sources is interpreted.</p> <h3>Predicates</h3> <h4>Damage Type Predicates</h4> <p>The following fields have been removed from damage type predicates: <span class="bedrock-server">is_projectile</span>, <span class="bedrock-server">is_explosion</span>, <span class="bedrock-server">bypasses_armor</span>,<span class="bedrock-server">bypasses_invulnerability</span>, <span class="bedrock-server">bypasses_magic</span>, <span class="bedrock-server">is_fire</span>, <span class="bedrock-server">is_magic</span>, <span class="bedrock-server">is_lightning</span>.</p> <p>A new <span class="bedrock-server">tags</span> array has been added, with the predicate matching if all entries match. Each entry has two fields:</p> <ul> <li><span class="bedrock-server">id</span>: The ID of a damage type tag</li> <li><span class="bedrock-server">expected</span>: Whether the damage is expected to have or not have the tag for the predicate to match</li> </ul> <h3>Game Rules</h3> <ul> <li>Added <span class="bedrock-server">commandModificationBlockLimit</span>, controlling the maximum number of blocks changed in one execution of <span class="bedrock-server">clone</span>, <span class="bedrock-server">fill</span> and <span class="bedrock-server">fillbiome</span></li> <li>Added <span class="bedrock-server">doVinesSpread</span> game rule, determining if vines will spread to nearby blocks <ul> <li>Defaults to <span class="bedrock-server">true</span></li> </ul> </li> </ul> <h3>Text Components</h3> <p>Added an optional <span class="bedrock-server">fallback</span> field to <span class="bedrock-server">translate</span> text components.</p> <ul> <li>The new field is a string that will be used in place of translation if it is missing</li> <li>If <span class="bedrock-server">fallback</span> is missing, the old behavior (i.e. using the key itself as the translation) is preserved</li> </ul> <h3>Display Entities</h3> <p>Three new entities have been added for flexible display of items, blocks, and text</p> <ul> <li>Those entities, similarily to <span class="bedrock-server">markers</span>, don’t tick and have no collisions or physics</li> <li>Models render at entity position, with normal rotation around X and Y axis (so it can be controlled by teleport commands), but also with additional arbitrary model transform</li> </ul> <h4>Common Data Types</h4> <p>Tag contents for display entities include some new data types with a complex structure. Any form can be used for modifying data, but only one form is used for saving.</p> <h4>Transformations</h4> <p>Arbitrary affine transform.</p> <ul> <li>Matrix form: array of 16 numbers, describing row-major matrix</li> <li>Decomposed form (used for saving): object with following fields: <ul> <li><span class="bedrock-server">translation</span> – 3d vector</li> <li><span class="bedrock-server">left_rotation</span>, <span class="bedrock-server">right_rotation</span> – <span class="bedrock-server">rotation</span></li> <li><span class="bedrock-server">scale</span> – 3d vector</li> <li>Transforms are composed in order <span class="bedrock-server">translation</span>, <span class="bedrock-server">left_rotation</span>, <span class="bedrock-server">scale</span>, <span class="bedrock-server">right_rotation</span></li> </ul> </li> </ul> <h4>Rotations</h4> <ul> <li>Quaternion form (used for saving): array of 4 numbers, describing components (x, y, z, w)</li> <li>Axis-angle form: object with following fields: <ul> <li><span class="bedrock-server">axis</span> – unit 3d vector</li> <li><span class="bedrock-server">angle</span> – in radians</li> </ul> </li> </ul> <h4>Interpolation</h4> <p>Some properties of display entities can be interpolated. That means that clients will see gradual changes over time instead of instantaneous jumps.</p> <p>Display entities keep track of current and previous values of interpolated values:</p> <ul> <li>All properties marked as “interpolated” are part of a single interpolation set</li> <li>Any update to interpolated property will cause all values of interpolation set to be saved as “current” <ul> <li>Data command executions that do not change value of property (even if it’s present in NBT) do not count as updates</li> <li>Updates are synchronized to clients at most once per tick, so multiple updates within command will still count as a single update</li> </ul> </li> <li>The last values generated before an update are saved as “previous”</li> <li>If interpolation is enabled, the entity will transition between “previous” and “current” values over <span class="bedrock-server">interpolation_duration</span> ticks</li> <li>Interpolation can be started by writing to the <span class="bedrock-server">start_interpolation</span> field (this field is not normally present in NBT) <ul> <li>The value in this field is a delay in ticks between client receiving the update and interpolation start</li> <li>A value of <span class="bedrock-server">0</span> ticks means that interpolation will start in next client tick after receiving the update</li> <li>Positive values increase this delay further</li> </ul> </li> <li>Interpolation will end (entity fully in “current” state) in <span class="bedrock-server">start_interpolation</span> + <span class="bedrock-server">interpolation_duration</span> ticks after receiving the update</li> <li>The interpolation target can be updated without setting <span class="bedrock-server">start_interpolation</span>, but it will still behave as if it was started at the moment of the last update to <span class="bedrock-server">start_interpolation</span> <ul> <li>That means that if the value is updated, but more than <span class="bedrock-server">interpolation_duration</span> ticks have passed since last <span class="bedrock-server">start_interpolation</span> update, the entity will immediately jump to new values</li> </ul> </li> </ul> <h4>Common Properties</h4> <p>All display entity types have the following fields:</p> <ul> <li><span class="bedrock-server">transformation</span> – the transformation applied to model (after normal entity orientation). Defaults to identity. Interpolated</li> <li><span class="bedrock-server">billboard</span> – option to control if entity should pivot to face player when rendered: <ul> <li><span class="bedrock-server">fixed</span> – no rotation (default)</li> <li><span class="bedrock-server">vertical</span> – entity can pivot around its vertical axis</li> <li><span class="bedrock-server">horizontal</span> – entity can pivot around its horizontal axis</li> <li><span class="bedrock-server">center</span> – entity can pivot around its center point</li> </ul> </li> <li><span class="bedrock-server">brightness</span> – if present, overrides light values used for rendering. Omitted by default (which means rendering uses values from entity position). Object has two fields: <ul> <li><span class="bedrock-server">sky</span> – value of skylight, 0..15</li> <li><span class="bedrock-server">block</span> – value of block light, 0..15</li> </ul> </li> <li><span class="bedrock-server">view_range</span> – maximum view range of this entity. Actual distance depends on client-side render distance and entity distance scaling. Default value 1.0 (roughly the same as fireball)</li> <li><span class="bedrock-server">shadow_radius</span> – size of shadow. Defaults to 0 (no shadow). Interpolated</li> <li><span class="bedrock-server">shadow_strength</span> – strength of the shadow. Controls the opacity of the shadow as a function of distance to block below. Defaults to 1. Interpolated</li> <li><span class="bedrock-server">width</span>, <span class="bedrock-server">height</span> – describe size of culling bounding box <ul> <li>Bounding box spans vertically <span class="bedrock-server">y</span> to <span class="bedrock-server">y+height</span> and horizontally <span class="bedrock-server">width/2</span> in all directions from entity position</li> <li>If either field is set to <span class="bedrock-server">0</span>, culling is disabled</li> <li>Both default to <span class="bedrock-server">0</span></li> </ul> </li> <li><span class="bedrock-server">glow_color_override</span> – override glow border color. Defaults to <span class="bedrock-server">-1</span> (use team color). Alpha component is ignored</li> </ul> <h4><span class="bedrock-server">Item_Display</span></h4> <p>Displays a single item stack.</p> <ul> <li>Stack can be changed with commands by setting slot <span class="bedrock-server">container.0</span></li> </ul> <p>Fields:</p> <ul> <li><span class="bedrock-server">item</span> – item stack to display. Same format as in inventory (example: <span class="bedrock-server">{id: “minecraft:dirt”, Count: 1}</span>)</li> <li><span class="bedrock-server">item_display</span> – describes item model transform applied to item (as defined in <span class="bedrock-server">display</span> section in model JSON) <ul> <li>Values: <span class="bedrock-server">none</span> (default), <span class="bedrock-server">thirdperson_lefthand</span>, <span class="bedrock-server">thirdperson_righthand</span>, <span class="bedrock-server">firstperson_lefthand</span>, <span class="bedrock-server">firstperson_righthand</span>, <span class="bedrock-server">head</span>, <span class="bedrock-server">gui</span>, <span class="bedrock-server">ground</span>, <span class="bedrock-server">fixed</span></li> </ul> </li> </ul> <h4><span class="bedrock-server">Block_Display</span></h4> <p>Displays a block state.</p> <ul> <li>Does not display all block entities, even if they would normally be created on block placement (like chests)</li> </ul> <p>Fields:</p> <ul> <li><span class="bedrock-server">block_state</span> – block state to display. Same format as item held by endermen (example <span class="bedrock-server">{Name:”minecraft:dirt”}</span>)</li> </ul> <h4><span class="bedrock-server">Text_Display</span></h4> <p>Displays a text component.</p> <p>Fields:</p> <ul> <li><span class="bedrock-server">text</span> – text to display. Components are resolved with the context of the display entity</li> <li><span class="bedrock-server">line_width</span> – line width used to split lines (note: new lines can be also added with <span class="bedrock-server">\n</span> characters). Defaults to 200</li> <li><span class="bedrock-server">text_opacity</span> – opacity (alpha component) of rendered text. Defaults to 255. Interpolated</li> <li><span class="bedrock-server">background</span> – color of background. Includes alpha channel. Defaults to 0x40000000. Interpolated</li> <li><span class="bedrock-server">default_background</span> – if true, rendering uses default text background color (same as in chat). Defaults to false</li> <li><span class="bedrock-server">shadow</span> – whether the text should be displayed with a shadow. Defaults to false</li> <li><span class="bedrock-server">see_through</span> – whether the text should be visible through blocks. Defaults to false</li> <li><span class="bedrock-server">alignment</span> – how the text should be aligned <ul> <li>Values: <span class="bedrock-server">center</span> (default), <span class="bedrock-server">left</span>, <span class="bedrock-server">right</span></li> </ul> </li> </ul> <p>Note: text display backgrounds uses new shader types <span class="bedrock-server">rendertype_text_background</span> and <span class="bedrock-server">rendertype_text_background_see_through</span>.</p> <h3>Interaction Entities</h3> <p>A new type of entity that records attacks (“left clicks”) and interactions (“right clicks”). Interactions are invisible and of a custom size.</p> <p>Fields:</p> <ul> <li><span class="bedrock-server">width</span>: Width of the entity’s bounding box (default <span class="bedrock-server">1</span>)</li> <li><span class="bedrock-server">height</span>: Height of the entity’s bounding box (default <span class="bedrock-server">1</span>)</li> <li><span class="bedrock-server">attack</span>: Records the last attack action on the entity</li> <li><span class="bedrock-server">interaction</span>: Records the last interaction action on the entity</li> <li><span class="bedrock-server">response</span>: Boolean specifying if interacting should trigger a response (arm swing, sound effects, etc – default <span class="bedrock-server">false</span>)</li> </ul> <h4>Action Format</h4> <p>When an action is stored, it always has two fields:</p> <ul> <li><span class="bedrock-server">player</span>: The UUID (in standard integer array format) of the player performing the action</li> <li><span class="bedrock-server">timestamp</span>: The timestamp of the game tick when the event happened (stored as a long)</li> </ul> <h4>Advancement Triggers</h4> <ul> <li>Interacting with an Interaction entity triggers <span class="bedrock-server">player_interacted_with_entity</span></li> <li>Attacking an Interaction entity triggers <span class="bedrock-server">player_hurt_entity</span></li> </ul> <h4><span class="bedrock-server">Execute On</span> With Interactions</h4> <p>The Interaction entity targets the player who last interacted with it. That makes the following possible:</p> <ul> <li><span class="bedrock-server">execute on attacker</span>: execute as the last player who attacked the entity</li> <li><span class="bedrock-server">execute on target</span>: execute as the last player who interacted with the entity</li> </ul> <h3>Tags</h3> <h4>Block Behavior</h4> <ul> <li>Fire burns out faster in certain biomes, and this is now controlled by the <span class="bedrock-server">increased_fire_burnout</span> biome tag</li> </ul> <h4>Mob Spawning</h4> <ul> <li>The <span class="bedrock-server">only_allows_snow_and_gold_rabbits</span> biome tag has been renamed to <span class="bedrock-server">spawns_gold_rabbits</span> to match its behavior</li> <li>White Rabbit variants are now controlled by the <span class="bedrock-server">spawns_white_rabbits</span> biome tag</li> <li>Fox variants are now controlled by the <span class="bedrock-server">spawns_snow_foxes</span> biome tag</li> </ul> <h4>Mob Behavior</h4> <ul> <li>Snow Golems melting in warm biomes is now controlled by the <span class="bedrock-server">snow_golem_melts</span> biome tag</li> <li>Only mobs in the <span class="bedrock-server">dismounts_underwater</span> entity tag will now force the rider to dismount when underwater</li> </ul> <h3>Network Protocol</h3> <ul> <li>Clients now reset their Secure Chat session state when receiving the login packet</li> </ul> <h4>Packet Bundles</h4> <ul> <li>Added new delimiter packet to clientbound game protocol</li> <li>All packets between two delimiters are guaranteed to be processed within the same tick</li> <li>For security reasons this feature is not supported in the serverbound direction</li> </ul> <h3>Paletted Permutations</h3> <ul> <li><span class="bedrock-server">paletted_permutations</span> is a new type of atlas configuration source used to dynamically generate new textures in memory based on a set of color palettes</li> <li>Color palettes allow you to swap out the colors of a texture without having to supply all files for the variants of a texture in a resource pack</li> <li>This is useful for things like armor trims, where you want to be able to change the color of parts of the armor without having to create a new texture for each color</li> <li>The <span class="bedrock-server">paletted_permutations</span> source has a set of required parameters: <ul> <li><span class="bedrock-server">textures</span> A list of namespaced locations of base textures <ul> <li>These textures will be used to generate variants of them that have been modified by color palettes</li> </ul> </li> <li><span class="bedrock-server">palette_key</span> A namespaced location of a color palette key file <ul> <li>A color palette key is used to define the set of key pixel colors we want to swap out with the color palettes defined below</li> </ul> </li> <li><span class="bedrock-server">permutations</span> A map of permutations from suffix to a namespaced location of a color palette file <ul> <li>The suffix is appended at the beginning to the resource location of the output variant textures, with a <span class="bedrock-server">_</span> character separating the suffix and the base texture name</li> <li>The color palette is a texture file with a set of pixels that are used for replacing pixels that match the color palette key in each base texture</li> <li>The number of pixels in each color palette must be the same as that of the <span class="bedrock-server">palette_key</span> defined for this source</li> <li>Key matching is done by comparing the RGB values of each pixel in the <span class="bedrock-server">palette_key</span> to the RGB values of each pixel in the color palette</li> <li>The alpha channel is ignored for key matching, but in the resulting texture the alpha channel is multiplied with the color palette’s alpha channel</li> <li>Pixels that do not match the <span class="bedrock-server">palette_key</span> are copied over to the resulting texture as-is</li> </ul> </li> </ul> </li> <li>After defining a <span class="bedrock-server">paletted_permutations</span> source, you can then reference those namespaced output textures in other resources in your resource pack</li> </ul> <p>For example, if you have the following <span class="bedrock-server">paletted_permutations</span> source:</p> <pre><code><em>{ "type": "paletted_permutations", "textures": [ "minecraft:item/leather_helmet", "minecraft:item/leather_chestplate", "minecraft:item/leather_leggings", "minecraft:item/leather_boots" ], "palette_key": "minecraft:colormap/color_palettes/leather_armor_color_key", "permutations": { "red": "minecraft:colormap/color_palettes/red", "green": "minecraft:colormap/color_palettes/green", "blue": "minecraft:colormap/color_palettes/blue" } } </em></code></pre> <p>You can then reference the resulting textures in other resources like this:</p> <pre><code><em>{ "textures": { "layer0": "minecraft:item/leather_helmet_red", "layer1": "minecraft:item/leather_chestplate_green", "layer2": "minecraft:item/leather_boots_blue" } }</em></code></pre> <h3>Trim Patterns & Maternals</h3> <ul> <li>Trim patterns and materials for armor are defined by the server through the <span class="bedrock-server">trim_pattern</span> and <span class="bedrock-server">trim_material</span> registry respectively <ul> <li>As a result, new trim patterns and materials can be added via data packs</li> </ul> </li> <li>These are synchronized to clients when they join the server <ul> <li>However, clients must have an accompanying resource pack to see those registered trim patterns and materials</li> <li>The paths to these textures are inferred based on the filename of the pattern json, and will try to find the textures within the same namespace as the trim pattern’s <span class="bedrock-server">name</span> field</li> </ul> </li> <li>The following data is defined by a trim pattern: <ul> <li><span class="bedrock-server">asset_id</span> which is a namespaced id used to infer texture locations and localization</li> <li><span class="bedrock-server">template_item</span> which is the id of the smithing template item used to apply the trim pattern</li> <li><span class="bedrock-server">description</span> which is a text component used for displaying the pattern name of an armor trim when hovering an armor itemstack</li> </ul> </li> <li>The following data is defined by a trim material: <ul> <li><span class="bedrock-server">asset_name</span> which is a string used as a suffix for armor trim texture locations</li> <li><span class="bedrock-server">ingredient</span> which is the id of the ingredient item used to apply the trim material</li> <li><span class="bedrock-server">item_model_index</span> which is a float which defines the item model override each armor item model should target to change their visuals for this material</li> <li><span class="bedrock-server">override_armor_materials</span> which is an optional map of armor material to overridden color palette <ul> <li>Map key is the armor material that this trim material wants to override with a different color palette</li> <li>Map value is the name of the color palette that will be used when this trim material is applied to an armor piece with the corresponding armor material</li> </ul> </li> <li><span class="bedrock-server">description</span> which is a text component used for displaying the material name of an armor trim when hovering an armor item stack <ul> <li>The style defined in this description is applied to the armor trim pattern <span class="bedrock-server">description</span> as well</li> </ul> </li> </ul> </li> </ul> <h3>Experimental Features</h3> <p>The following changes only apply when one or more Experiments is turned on, either by activating the corresponding experimental data pack or by turning it on in the Experiments screen while creating the world.</p> <ul> <li>Added Smithing Template items</li> <li>Redesigned the Smithing Table</li> <li>Changed how Netherite equipment is crafted</li> <li>Added a new armor trimming system to visually customize your armor</li> <li>Added Sniffer mob and Torchflowers</li> <li>Added the Cherry Grove biome</li> <li>Added Archaeology</li> <li>Mob Heads can now be placed on top of Note Blocks without sneaking</li> </ul> <h4>Smithing Templates</h4> <ul> <li>Smithing Tables have been redesigned into a workstation for physical equipment upgrades and modifications</li> <li>Alongside slots for combining a piece of equipment and materials, there is now a required slot for an item type called Smithing Templates</li> <li>Smithing Templates define what type of upgrade you will be making to equipment <ul> <li>It specifies both what type of items you can upgrade, and which ingredients are valid to customize the upgrade</li> <li>There are currently two categories of Smithing Templates: Armor Trim and Netherite Upgrade</li> </ul> </li> <li>Smithing Templates are consumed when used to upgrade an item in the Smithing Table</li> <li>You can craft a copy of a Smithing Template in the Crafting Table with 7 diamonds + 1 block of material that the template is made out of + 1 smithing template, which will output 2 of the same Smithing Template</li> </ul> <h4>Netherite Equipment</h4> <ul> <li>Netherite equipment crafting now also requires a Netherite Upgrade Smithing Template</li> <li>Netherite Upgrade Smithing Templates can be found randomly in all Bastion Remnant chests, and there is a guarantee of 2 in every Treasure Room Bastion Remnant</li> <li>This change was made for a variety of reasons: <ul> <li>Increase the time players utilize Diamond equipment before Netherite</li> <li>Make Netherite equipment a more significant achievement in the game’s progression</li> <li>Adapt Netherite more naturally into the new Smithing Table crafting system</li> </ul> </li> </ul> <h4>Armor Trims</h4> <ul> <li>You can now visually customize your armor with a variety of unique trims at the Smithing Table</li> <li>Armor trims are purely visual with no gameplay benefits, and can only be applied to Helmets, Chestplates, Leggings, and Boots <ul> <li>All trim patterns are visually the same on an armor’s item icon, but the color will still change based on the trim material</li> <li>To check which trim pattern a piece of armor has, you can hover over it in the inventory</li> </ul> </li> <li>Armor Trim Smithing Templates can be found all throughout the world, and each of the following structures contains its own unique Smithing Template: <ul> <li>Pillager Outpost: Sentry Armor Trim</li> <li>Desert Pyramid: Dune Armor Trim</li> <li>Shipwreck: Coast Armor Trim</li> <li>Jungle Temple: Wild Armor Trim</li> <li>Ocean Monument: Tide Armor Trim</li> <li>Ancient City: Ward Armor Trim</li> <li>Woodland Mansion: Vex Armor Trim</li> <li>Nether Fortress: Rib Armor Trim</li> <li>Bastion Remnant: Snout Armor Trim</li> <li>Stronghold: Eye Armor Trim</li> <li>End City: Spire Armor Trim</li> </ul> </li> <li>Smithing Templates are found in chests in their respective structure <ul> <li>The Ocean Monument has no chests, Elder Guardians sometimes instead drop a Smithing Template upon death</li> </ul> </li> <li>Some Armor Trim Smithing Templates are rarer than others, so be on the lookout for them to impress your friends!</li> <li>An armor trim has two properties: a pattern and a material <ul> <li>The pattern is defined by the Smithing Template used to apply the trim and represents the visual pattern of the trim</li> <li>The material is defined by what ingredient you used to apply the trim and represents the color of the trim</li> </ul> </li> <li>The viable ingredients you can use to define the color of your armor trim are the following: <ul> <li>Iron, Copper, Gold, Lapis, Emerald, Diamond, Netherite, Redstone, Amethyst, Quartz</li> </ul> </li> </ul> <h4>Sniffer</h4> <ul> <li>The Sniffer is the mob vote winner of Minecraft Live 2022</li> <li>Sniffers cannot be tempted or tamed</li> <li>Sniffers are passive, friendly mobs</li> <li>Sniffers sniff the air and occasionally dig for seeds, which produce a Torchflower Seed</li> <li>Sniffers can be bred by feeding them Torchflower Seeds</li> <li>The Sniffer is currently only available as a Spawn Egg in the creative inventory</li> </ul> <h4>Torchflowers</h4> <ul> <li>The Torchflower seed can be planted on farmland and grows into a flower</li> <li>The seed can be used to breed two Sniffers</li> <li>The full-grown flower can be harvested and replanted but can also be crafted into a dye</li> </ul> <h4>Cherry Groves</h4> <ul> <li>Added a new Cherry Grove biome, with pretty cherry blossom trees <ul> <li>The biome can be found in the mountains, in similar places as Meadows</li> </ul> </li> <li>Added a new Cherry wood set, with all the corresponding wooden things you can make from it</li> <li>Cherry Leaves have pink particles falling underneath</li> <li>Added a new Pink Petals block with lots of pink flowers on the ground <ul> <li>Each pink petal block can contain up to 4 petals</li> <li>Using bone meal on it increases the number of petals</li> <li>Placing a petal on a block increases the number of petals</li> <li>Mining the block gives you the number of petals in the block</li> </ul> </li> </ul> <h3>Archaeology</h3> <h4>The Brush</h4> <ul> <li>The brush is a craftable item you can use to brush things</li> </ul> <h4>Suspicious Sand</h4> <ul> <li>Can be found in Desert Temples and Desert Wells</li> <li>This fragile block is hard to spot and easy to destroy, so be careful!</li> <li>Brushing the Suspicious Sand with a Brush will extract objects that were buried long ago</li> </ul> <h4>Pottery Shards</h4> <ul> <li>Pottery Shards have pictures on them</li> <li>They cannot be crafted and are only found by brushing Suspicious Sand</li> </ul> <h4>Decorated Pots</h4> <ul> <li>Crafting four Pottery Shards together will create a Decorated Pot with a picture on each side</li> <li>Brick items can be used instead of Pottery Shards in the Decorated Pot recipe <ul> <li>The sides that were made from Brick items will not have pictures</li> </ul> </li> <li>Smash a Decorated Pot with any block-breaking tool to break it apart and get the Pottery Shards back <ul> <li>Hitting the pot with bare hands, silk touch tools, or any other item, will drop an intact pot instead</li> </ul> </li> </ul> <h3>Fixed Bugs in 1.19.4</h3> <p>Around 150 bugs were fixed in this release. View the <a href="https://bugs.mojang.com/issues/?filter=27608">list on the issue tracker</a>.</p> </div> https://www.sickgaming.net/blog/2023/03/14/minecraft-java-edition-1-19-4/ |