Could you please provide a screenshot showcasing the issue? Additionally, make sure you have no resource packs enabled.
Based on the attached screenshot your game seems to be modified, please note modified versions are not supported here.
The attached video says otherwise, could you please try disabling all mods and resource packs and see if the issue still occurs?
a few seconds ago, I found a weird bug on Minecraft 1.20.1 (I was on optifine).
Please note that modified versions are not supported here.
This is invalid, please note that outdated versions are not supported here.
The previous attached datapack did not display the action bar/title, fixed datapack:
Can confirm in 1.21.11, datapack:
How to Reproduce:
Run the following command:
/give @s minecraft:bow[minecraft:custom_data={'xclib:run_command':{inventory_change:{enable:true,command:"say 3"}}}]Drop the given bow, observe how no title appears and no sound plays.
Minecraft 1.21.1
NeoForge 21.1.197
Please note that modified versions are not supported here. This also describes the same issue as MC-249414 which has been fixed in 25w34a.
This is intended, the updated command is now:
/gamerule minecraft:fire_spread_radius_around_player 0Can confirm in 1.21.11 as well.
Can confirm:
How to Reproduce:
Make sure you have Python installed
Save this following script as a .py file:
import socket
import json
def encode_varint(value):
result = bytearray()
while True:
byte = value & 0x7F
value >>= 7
if value != 0:
byte |= 0x80
result.append(byte)
if value == 0:
break
return bytes(result)
def decode_varint(data, pos=0):
result = 0
shift = 0
while pos < len(data):
byte = data[pos]
pos += 1
result |= (byte & 0x7F) << shift
shift += 7
if not (byte & 0x80):
return result, pos
raise ValueError("Ran out of data reading VarInt")
def encode_string(text):
encoded = text.encode('utf-8')
return encode_varint(len(encoded)) + encoded
def build_packet(packet_id, data=b''):
id_bytes = encode_varint(packet_id)
content = id_bytes + data
return encode_varint(len(content)) + content
def recv_exact(sock, n):
data = b''
while len(data) < n:
chunk = sock.recv(n - len(data))
if not chunk:
raise ConnectionError("Client disconnected early")
data += chunk
return data
def recv_packet(sock):
length_bytes = bytearray()
while True:
byte = recv_exact(sock, 1)[0]
length_bytes.append(byte)
if not (byte & 0x80):
break
if len(length_bytes) >= 5:
raise ValueError("VarInt too long")
length, _ = decode_varint(bytes(length_bytes))
content = recv_exact(sock, length)
packet_id, offset = decode_varint(content)
payload = content[offset:]
return packet_id, payload
STATUS_JSON = {
"description": [
{"player": {"name": "alex"}},
{"sprite": "block/stone"}
],
"players": {"max": 20, "online": 0},
"version": {"name": "26.1 Pre-Release 2", "protocol": 1073742123},
"enforcesSecureChat": True
}
def handle_client(conn, addr):
print(f"\n[+] Client connected from {addr}")
try:
packet_id, payload = recv_packet(conn)
if packet_id != 0x00:
return
pos = 0
protocol_ver, pos = decode_varint(payload, pos)
addr_len, pos = decode_varint(payload, pos)
server_addr = payload[pos:pos + addr_len].decode('utf-8')
pos += addr_len
server_port = int.from_bytes(payload[pos:pos+2], 'big')
pos += 2
next_state, pos = decode_varint(payload, pos)
if next_state != 1:
return
packet_id, _ = recv_packet(conn)
json_str = json.dumps(STATUS_JSON)
response_packet = build_packet(0x00, encode_string(json_str))
conn.sendall(response_packet)
print(f" Payload sent: {json_str}")
try:
packet_id, ping_payload = recv_packet(conn)
if packet_id == 0x01:
conn.sendall(build_packet(0x01, ping_payload))
except Exception:
pass
except Exception as e:
print(f" Error: {e}")
finally:
conn.close()
print(f"[-] Client disconnected.")
def main():
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind(('0.0.0.0', 25565))
server.listen(5)
print("Mock server running on port 25565. Add 127.0.0.1 in Minecraft.")
print("Press Ctrl+C to stop.")
try:
while True:
conn, addr = server.accept()
handle_client(conn, addr)
except KeyboardInterrupt:
print("\nStopped.")
finally:
server.close()
if __name__ == '__main__':
main()Open Command Prompt or Powershell and run the .py file: python _.py
Launch Minecraft Java Edition 26.1 Pre Release 2
Go to Multiplayer and add the following server address: 127.0.0.1
Click done and observe the MOTD displayed under the server name in the list.
Expected Result:
{"player": {"name": "alex"}} should render as fallback text ([alex]), as player objects are no longer permitted in Motd’s
{"sprite": "block/stone"} should render as a visible block sprite icon.
Observed Result:
{"player": {"name": "alex"}} renders as a player head sprite, it is not being blocked as the changelog states it should be
{"sprite": "block/stone"} renders as the fallback text [block/stone], the sprite is not rendering.
Can confirm in 1.21.11.
Can confirm in 1.21.11.
I was unable to confirm this as of 1.21.11:
The method downloadAndSelectResourcePack no longer exists. The resource pack system now uses a CompletableFuture based asynchronous architecture.
The string "Pack application failed" is gone. The closest equivalent code is:
public CompletableFuture<Void> b(final UUID $$0) {
final CompletableFuture<Void> $$1 = new CompletableFuture<Void>();
@Override
public void a(UUID $$02, ioo.a $$12) {
if ($$0.equals($$02)) {
iom.this.m = $$2;
if ($$12 == ioo.a.b) {
$$1.complete(null);
} else {
$$1.completeExceptionally(new IllegalStateException(
"Failed to apply pack " + String.valueOf($$02) +
", reason: " + String.valueOf((Object)$$12)));
}
}
$$2.a($$02, $$12);
}
}This may’ve been resolved due to the complete architectural rewrite of the resource pack download/apply system.
This is still an issue as of 1.21.11.
Steps to Reproduce:
Extract the 1.21.11 client JAR.
Open assets/minecraft/shaders/core/position_color.fsh.
Observe that vertex color is unconditionally multiplied by ColorModulator on line 14.
Code Analysis:
#version 330
#moj_import <minecraft:dynamictransforms.glsl>
in vec4 vertexColor;
out vec4 fragColor;
void main() {
vec4 color = vertexColor;
if (color.a == 0.0) {
discard;
}
fragColor = color * ColorModulator;
}assets/minecraft/shaders/include/dynamictransforms.glsl:
#version 330
layout(std140) uniform DynamicTransforms {
mat4 ModelViewMat;
vec4 ColorModulator;
vec3 ModelOffset;
mat4 TextureMat;
};
Observed Results: The shader unconditionally multiplies vertex color by ColorModulator (fragColor = color * ColorModulator). When debug markers are rendered, ColorModulator is set to vec4(0.0, 1.0, 0.0, 0.75), which zeroes out the Red channel (×0.0) and distorts Blue/Alpha (×0.75). Only the Green channel passes through correctly. Though the shader has been upgraded from GLSL 150 to 330 and ColorModulator moved from a standalone uniform into a UBO (DynamicTransforms), the core issue remains unchanged.
Expected Results: Debug markers should render with their intended colors, including Red and Blue values, as they did prior to 1.17.
Can confirm.