1
0
mirror of https://github.com/Mojang/bedrock-protocol-docs.git synced 2025-11-06 06:35:12 +00:00
Files
bedrock-protocol-docs/docs/MobEffectPacket.html

251 lines
6.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MobEffectPacket (28)</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
padding: 20px;
background-color: #f5f5f5;
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
background-color: white;
padding: 30px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
h1 {
color: #2c3e50;
border-bottom: 3px solid #3498db;
padding-bottom: 10px;
margin-top: 0;
}
h2 {
color: #34495e;
border-bottom: 2px solid #3498db;
padding-bottom: 5px;
margin-top: 30px;
}
h3 {
color: #555;
margin-top: 20px;
margin-bottom: 10px;
}
h4 {
color: #666;
margin-top: 15px;
margin-bottom: 8px;
}
table {
background-color: white;
font-size: 14px;
margin-bottom: 10px;
}
th {
font-weight: bold;
text-align: left;
padding: 8px !important;
}
td {
padding: 8px !important;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
tr:hover {
background-color: #e8f4f8;
}
.description {
color: #555;
font-style: italic;
margin: 10px 0 20px 0;
padding: 10px;
background-color: #f8f9fa;
border-left: 4px solid #3498db;
}
a {
color: #3498db;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.packet-list {
columns: 3;
column-gap: 20px;
}
.packet-list li {
margin-bottom: 8px;
break-inside: avoid;
}
@media (max-width: 900px) {
.packet-list {
columns: 2;
}
}
@media (max-width: 600px) {
.packet-list {
columns: 1;
}
}
</style>
</head>
<body>
<div class="container">
<p><a href="index.html">← Back to Index</a></p>
<h1>MobEffectPacket (28)</h1>
<div class="description">Mob Effect</div>
<div class="description">At the start of the game the server sends any mob effects with _sendAdditionalLevelData() if the joining player saved out with them,
and then anytime a mob effect is added, removed, or updated this packet is sent.&lt;br&gt;
It is important for player movement simulation to ensure that the following effects are sent for the player or any client predicted vehicle they are in control of:&lt;br&gt;
- levitation&lt;br&gt;
- slow_falling&lt;br&gt;
- jump&lt;br&gt;
- movement_speed&lt;br&gt;
- movement_slowdown&lt;br&gt;
- weaving</div>
<div style="margin-left: 0px; margin-top: 10px;">
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%; max-width: 800px;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>Field Name</th>
<th>Type</th>
<th>Ordinal Index</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2"><strong>Target Runtime ID</strong></td>
<td>ActorRuntimeID</td>
<td>0</td>
<td></td>
</tr>
<tr>
<td colspan="3"><div style="margin-left: 20px; margin-top: 10px;">
<h3>ActorRuntimeID</h3>
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%; max-width: 800px;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>Field Name</th>
<th>Type</th>
<th>Ordinal Index</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Actor Runtime ID</strong></td>
<td>varuint64</td>
<td>0</td>
<td></td>
</tr>
</tbody>
</table>
</div></td>
</tr>
<tr>
<td rowspan="2"><strong>Event ID</strong></td>
<td>uint8</td>
<td>1</td>
<td></td>
</tr>
<tr>
<td colspan="3"><div style="margin-left: 20px; margin-top: 5px; margin-bottom: 5px;">
<strong>Enum Values:</strong>
<table border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width: 100%; max-width: 760px; font-size: 12px;">
<thead>
<tr style="background-color: #e8e8e8;">
<th style="width: 40px;">Index</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">0</td>
<td><code>Invalid</code></td>
</tr>
<tr>
<td style="text-align: center;">1</td>
<td><code>Add</code></td>
</tr>
<tr>
<td style="text-align: center;">2</td>
<td><code>Update</code></td>
</tr>
<tr>
<td style="text-align: center;">3</td>
<td><code>Remove</code></td>
</tr>
</tbody>
</table>
</div></td>
</tr>
<tr>
<td><strong>Effect ID</strong></td>
<td>varint32</td>
<td>2</td>
<td></td>
</tr>
<tr>
<td><strong>Effect Amplifier</strong></td>
<td>varint32</td>
<td>3</td>
<td></td>
</tr>
<tr>
<td><strong>Show Particles</strong></td>
<td>boolean</td>
<td>4</td>
<td></td>
</tr>
<tr>
<td><strong>Effect Duration Ticks</strong></td>
<td>varint32</td>
<td>5</td>
<td></td>
</tr>
<tr>
<td rowspan="2"><strong>Tick</strong></td>
<td>PlayerInputTick</td>
<td>6</td>
<td>If this packet is referring to the player or a client predicted vehicle they are in control of, this should be the most recently processed PlayerInputTick from their PlayerAuthInputPacket. Otherwise zero.</td>
</tr>
<tr>
<td colspan="3"><div style="margin-left: 20px; margin-top: 10px;">
<h3>PlayerInputTick</h3>
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%; max-width: 800px;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>Field Name</th>
<th>Type</th>
<th>Ordinal Index</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Input tick</strong></td>
<td>varuint64</td>
<td>0</td>
<td>In server authoritative movement mode the client supplies this in PlayerAuthInputPacket.
For any client-bound packets containing a tick, the server should supply the tick value corresponding to the most recently processed PlayerAuthInputPacket.
This allows the client to adjust any client predictions made while the packet was in flight.
If the packet is being sent to the client but not relating to data of the player or a client-predicted vehicle, it can be zero.
It is also acceptable to specify zero for players, although this may lead to minor visual flickers and less smooth application of CorrectPlayerMovePredictionPacket.</td>
</tr>
</tbody>
</table>
</div></td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>