Definition at line 101 of file NetMessage.cs.
102 {
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148 if (Main.netMode == 0)
149 {
150 return;
151 }
153 {
155 }
157 if (text == null)
158 {
160 }
162 {
164 }
165 if (
ModNet.
HijackSendData(
num,
msgType,
remoteClient,
ignoreClient, text,
number,
number2,
number3,
number4,
number5,
number6,
number7))
166 {
167 return;
168 }
170 {
171 BinaryWriter writer =
buffer[
num].writer;
172 if (writer == null)
173 {
176 }
177 writer.BaseStream.Position = 0
L;
178 long position = writer.BaseStream.Position;
179 writer.BaseStream.Position += 2
L;
182 {
183 case 1:
185 break;
186 case 2:
188 if (Main.dedServ)
189 {
191 }
192 break;
193 case 3:
195 writer.Write(value:
false);
196 break;
197 case 4:
198 {
200 writer.Write((
byte)
number);
201 writer.Write((
byte)
player4.skinVariant);
202 writer.Write((
byte)
player4.hair);
205 {
206 writer.Write7BitEncodedInt(
player4.hairDye);
207 }
208 else
209 {
210 writer.Write((
byte)
player4.hairDye);
211 }
213 writer.Write(
player4.hideMisc);
214 writer.WriteRGB(
player4.hairColor);
215 writer.WriteRGB(
player4.skinColor);
216 writer.WriteRGB(
player4.eyeColor);
217 writer.WriteRGB(
player4.shirtColor);
218 writer.WriteRGB(
player4.underShirtColor);
219 writer.WriteRGB(
player4.pantsColor);
220 writer.WriteRGB(
player4.shoeColor);
223 {
225 }
226 else if (
player4.difficulty == 2)
227 {
229 }
230 else if (
player4.difficulty == 3)
231 {
233 }
252 break;
253 }
254 case 5:
255 {
256 writer.Write((
byte)
number);
264 {
266 }
270 {
272 }
274 {
276 break;
277 }
278 writer.Write((
short)
num3);
280 writer.Write((
short)
num4);
281 break;
282 }
283 case 7:
284 {
285 writer.Write((int)Main.time);
291 writer.Write((byte)Main.moonPhase);
292 writer.Write((short)Main.maxTilesX);
293 writer.Write((short)Main.maxTilesY);
294 writer.Write((short)Main.spawnTileX);
295 writer.Write((short)Main.spawnTileY);
296 writer.Write((short)Main.worldSurface);
297 writer.Write((short)Main.rockLayer);
298 writer.Write(Main.worldID);
299 writer.Write(Main.worldName);
300 writer.Write((byte)Main.GameMode);
301 writer.Write(Main.ActiveWorldFileData.UniqueId.ToByteArray());
302 writer.Write(Main.ActiveWorldFileData.WorldGeneratorVersion);
303 writer.Write((byte)Main.moonType);
304 writer.Write((
byte)
WorldGen.treeBG1);
305 writer.Write((
byte)
WorldGen.treeBG2);
306 writer.Write((
byte)
WorldGen.treeBG3);
307 writer.Write((
byte)
WorldGen.treeBG4);
308 writer.Write((
byte)
WorldGen.corruptBG);
309 writer.Write((
byte)
WorldGen.jungleBG);
310 writer.Write((
byte)
WorldGen.snowBG);
311 writer.Write((
byte)
WorldGen.hallowBG);
312 writer.Write((
byte)
WorldGen.crimsonBG);
313 writer.Write((
byte)
WorldGen.desertBG);
314 writer.Write((
byte)
WorldGen.oceanBG);
315 writer.Write((
byte)
WorldGen.mushroomBG);
316 writer.Write((
byte)
WorldGen.underworldBG);
317 writer.Write((byte)Main.iceBackStyle);
318 writer.Write((byte)Main.jungleBackStyle);
319 writer.Write((byte)Main.hellBackStyle);
320 writer.Write(Main.windSpeedTarget);
321 writer.Write((byte)Main.numClouds);
322 for (
int n = 0;
n < 3;
n++)
323 {
324 writer.Write(Main.treeX[
n]);
325 }
327 {
328 writer.Write((
byte)Main.treeStyle[
num29]);
329 }
331 {
332 writer.Write(Main.caveBackX[
num30]);
333 }
335 {
336 writer.Write((
byte)Main.caveBackStyle[
num2]);
337 }
339 if (!Main.raining)
340 {
341 Main.maxRaining = 0
f;
342 }
343 writer.Write(Main.maxRaining);
399 bitsByte3[6] = Main.forceHalloweenForToday;
413 bitsByte5[0] = Main.tenthAnniversaryWorld;
430 bitsByte6[7] = Main.fastForwardTimeToDusk;
437 writer.Write((byte)Main.sundialCooldown);
438 writer.Write((byte)Main.moondialCooldown);
439 writer.Write((
short)
WorldGen.SavedOreTiers.Copper);
440 writer.Write((
short)
WorldGen.SavedOreTiers.Iron);
441 writer.Write((
short)
WorldGen.SavedOreTiers.Silver);
442 writer.Write((
short)
WorldGen.SavedOreTiers.Gold);
443 writer.Write((
short)
WorldGen.SavedOreTiers.Cobalt);
444 writer.Write((
short)
WorldGen.SavedOreTiers.Mythril);
445 writer.Write((
short)
WorldGen.SavedOreTiers.Adamantite);
446 writer.Write((
sbyte)Main.invasionType);
448 {
450 }
451 else
452 {
454 }
457 {
459 }
460 break;
461 }
462 case 8:
465 break;
466 case 9:
467 {
472 break;
473 }
474 case 10:
476 break;
477 case 11:
478 writer.Write((
short)
number);
482 break;
483 case 12:
484 {
486 writer.Write((
byte)
number);
487 writer.Write((
short)
player6.SpawnX);
488 writer.Write((
short)
player6.SpawnY);
489 writer.Write(
player6.respawnTimer);
490 writer.Write((
short)
player6.numberOfDeathsPVE);
491 writer.Write((
short)
player6.numberOfDeathsPVP);
493 break;
494 }
495 case 13:
496 {
498 writer.Write((
byte)
number);
510 bitsByte19[1] = player7.pulley && player7.pulleyDir == 2;
511 bitsByte19[2] = player7.velocity != Vector2.Zero;
534 writer.Write((
byte)
player7.selectedItem);
535 writer.WriteVector2(
player7.position);
537 {
538 writer.WriteVector2(
player7.velocity);
539 }
541 {
542 writer.WriteVector2(
player7.PotionOfReturnOriginalUsePosition.Value);
543 writer.WriteVector2(
player7.PotionOfReturnHomePosition.Value);
544 }
545 break;
546 }
547 case 14:
548 writer.Write((
byte)
number);
550 break;
551 case 16:
552 writer.Write((
byte)
number);
553 writer.Write((
short)Main.player[
number].statLife);
554 writer.Write((
short)Main.player[
number].statLifeMax);
555 break;
556 case 17:
557 writer.Write((
byte)
number);
562 break;
563 case 18:
564 writer.Write((
byte)(Main.dayTime ? 1
u : 0
u));
565 writer.Write((int)Main.time);
566 writer.Write(Main.sunModY);
567 writer.Write(Main.moonModY);
568 break;
569 case 19:
570 writer.Write((
byte)
number);
573 writer.Write((
number4 == 1
f) ? ((byte)1) : ((byte)0));
574 break;
575 case 20:
576 {
581 {
583 }
586 {
588 }
590 {
592 }
594 {
596 }
598 {
600 }
602 {
604 }
605 writer.Write((
short)
num5);
606 writer.Write((
short)
num6);
607 writer.Write((
byte)
num7);
608 writer.Write((
byte)
num8);
611 {
613 {
622 bitsByte11[3] = tile2.liquid > 0 && Main.netMode == 2;
630 {
633 }
635 {
638 }
649 {
651 }
653 {
655 }
657 {
658 writer.Write(
tile2.type);
659 if (Main.tileFrameImportant[
tile2.type])
660 {
661 writer.Write(
tile2.frameX);
662 writer.Write(
tile2.frameY);
663 }
664 }
666 {
667 writer.Write(
tile2.wall);
668 }
669 if (
tile2.liquid > 0 && Main.netMode == 2)
670 {
671 writer.Write(
tile2.liquid);
672 writer.Write(
tile2.liquidType());
673 }
674 }
675 }
676 break;
677 }
678 case 21:
679 case 90:
680 case 145:
681 case 148:
682 {
684 writer.Write((
short)
number);
685 writer.WriteVector2(
item3.position);
686 writer.WriteVector2(
item3.velocity);
688 {
689 writer.Write7BitEncodedInt(
item3.stack);
690 writer.Write7BitEncodedInt(
item3.prefix);
691 }
692 else
693 {
694 writer.Write((
short)
item3.stack);
695 writer.Write((
byte)
item3.prefix);
696 }
700 {
702 }
705 {
706 writer.Write(
item3.shimmered);
707 writer.Write(
item3.shimmerTime);
708 }
710 {
711 writer.Write((
byte)
MathHelper.Clamp((
float)
item3.timeLeftInWhichTheItemCannotBeTakenByEnemies, 0
f, 255
f));
712 }
714 break;
715 }
716 case 22:
717 writer.Write((
short)
number);
718 writer.Write((
byte)Main.item[
number].playerIndexTheItemIsReservedFor);
719 break;
720 case 23:
721 {
723 writer.Write((
short)
number);
724 writer.WriteVector2(
nPC2.position);
725 writer.WriteVector2(
nPC2.velocity);
726 writer.Write((ushort)
nPC2.target);
729 {
731 }
733 {
734 nPC2.netSkip = 0;
735 }
737 bool[] array = new bool[4];
749 bitsByte24[0] = nPC2.statsAreScaledForThisManyPlayers > 1;
753 for (
int m = 0;
m <
NPC.maxAI;
m++)
754 {
756 {
757 writer.Write(
nPC2.ai[
m]);
758 }
759 }
762 {
763 writer.Write((
byte)
nPC2.statsAreScaledForThisManyPlayers);
764 }
766 {
767 writer.Write(
nPC2.strengthMultiplier);
768 }
770 {
772 if (
nPC2.lifeMax > 32767)
773 {
775 }
776 else if (
nPC2.lifeMax > 127)
777 {
779 }
782 {
783 case 2:
784 writer.Write((
short)
num25);
785 break;
786 case 4:
788 break;
789 default:
791 break;
792 }
793 }
794 if (
nPC2.type >= 0 && Main.npcCatchable[
nPC2.type])
795 {
796 writer.Write((
byte)
nPC2.releaseOwner);
797 }
799 {
801 }
802 break;
803 }
804 case 24:
805 writer.Write((
short)
number);
807 break;
808 case 107:
814 break;
815 case 27:
816 {
817 Projectile projectile = Main.projectile[
number];
818 writer.Write((short)projectile.identity);
819 writer.WriteVector2(projectile.position);
820 writer.WriteVector2(projectile.velocity);
821 writer.Write((byte)projectile.owner);
822 writer.Write((short)projectile.type);
828 if (projectile.bannerIdToRespondTo != 0)
829 {
831 }
832 if (projectile.damage != 0)
833 {
835 }
836 if (projectile.knockBack != 0
f)
837 {
839 }
841 {
843 }
844 if (projectile.originalDamage != 0)
845 {
847 }
851 {
853 }
856 {
858 }
860 {
861 writer.Write(projectile.ai[0]);
862 }
864 {
865 writer.Write(projectile.ai[1]);
866 }
868 {
869 writer.Write((ushort)projectile.bannerIdToRespondTo);
870 }
872 {
873 writer.Write((short)projectile.damage);
874 }
876 {
877 writer.Write(projectile.knockBack);
878 }
880 {
881 writer.Write((short)projectile.originalDamage);
882 }
884 {
885 writer.Write((short)projectile.projUUID);
886 }
888 {
889 writer.Write(projectile.ai[2]);
890 }
892 {
894 }
895 break;
896 }
897 case 28:
898 {
899 writer.Write((
short)
number);
901 {
902 if (Main.netMode != 2)
903 {
904 throw new ArgumentException(
"Packet 28 (StrikeNPC) can only be sent with negative damage (silent insta-kill) from the server.");
905 }
906 writer.Write7BitEncodedInt((
int)
number2);
907 break;
908 }
910 writer.Write7BitEncodedInt(
hit.Damage);
911 writer.Write7BitEncodedInt(
hit.SourceDamage);
912 writer.Write7BitEncodedInt(
hit.DamageType.Type);
913 writer.Write((
sbyte)
hit.HitDirection);
914 writer.Write(
hit.Knockback);
915 BitsByte
flags =
new BitsByte(
hit.Crit,
hit.InstantKill,
hit.HideCombatText);
917 break;
918 }
919 case 29:
920 writer.Write((
short)
number);
922 break;
923 case 30:
924 writer.Write((
byte)
number);
925 writer.Write(Main.player[
number].hostile);
926 break;
927 case 31:
928 writer.Write((
short)
number);
930 break;
931 case 32:
932 {
934 writer.Write((
short)
number);
937 {
939 break;
940 }
942 if (
item7.Name ==
null)
943 {
945 }
946 writer.Write((
short)
item7.stack);
947 writer.Write((
byte)
item7.prefix);
949 break;
950 }
951 case 33:
952 {
958 {
961 }
963 {
967 {
969 }
970 else
971 {
973 }
974 }
975 writer.Write((
short)
number);
976 writer.Write((
short)
num26);
977 writer.Write((
short)
num27);
978 writer.Write((
byte)
num28);
980 {
982 }
983 break;
984 }
985 case 34:
986 writer.Write((
byte)
number);
990 if (Main.netMode == 2)
991 {
992 Netplay.GetSectionX((
int)
number2);
993 Netplay.GetSectionY((
int)
number3);
995 }
996 else
997 {
998 writer.Write((short)0);
999 }
1001 {
1002 writer.Write((ushort)
number6);
1003 }
1004 break;
1005 case 35:
1006 writer.Write((
byte)
number);
1008 break;
1009 case 36:
1010 {
1012 writer.Write((
byte)
number);
1019 {
1021 }
1022 break;
1023 }
1024 case 38:
1025 writer.Write(Netplay.ServerPassword);
1026 break;
1027 case 39:
1028 writer.Write((
short)
number);
1029 break;
1030 case 40:
1031 writer.Write((
byte)
number);
1032 writer.Write((
short)Main.player[
number].talkNPC);
1033 break;
1034 case 41:
1035 writer.Write((
byte)
number);
1036 writer.Write(Main.player[
number].itemRotation);
1037 writer.Write((
short)Main.player[
number].itemAnimation);
1038 break;
1039 case 42:
1040 writer.Write((
byte)
number);
1041 writer.Write((
short)Main.player[
number].statMana);
1042 writer.Write((
short)Main.player[
number].statManaMax);
1043 break;
1044 case 43:
1045 writer.Write((
byte)
number);
1047 break;
1048 case 45:
1049 writer.Write((
byte)
number);
1050 writer.Write((
byte)Main.player[
number].team);
1051 break;
1052 case 46:
1053 writer.Write((
short)
number);
1055 break;
1056 case 47:
1057 writer.Write((
short)
number);
1058 writer.Write((
short)Main.sign[
number].x);
1059 writer.Write((
short)Main.sign[
number].y);
1060 writer.Write(Main.sign[
number].text);
1063 break;
1064 case 48:
1065 {
1067 writer.Write((
short)
number);
1069 writer.Write(tile.liquid);
1070 writer.Write(tile.liquidType());
1071 break;
1072 }
1073 case 50:
1074 {
1075 writer.Write((
byte)
number);
1076 for (
int l = 0;
l <
Player.maxBuffs;
l++)
1077 {
1078 writer.Write((ushort)Main.player[
number].buffType[
l]);
1079 }
1080 break;
1081 }
1082 case 51:
1083 writer.Write((
byte)
number);
1085 break;
1086 case 52:
1090 break;
1091 case 53:
1092 writer.Write((
short)
number);
1093 writer.Write((ushort)
number2);
1095 break;
1096 case 54:
1097 {
1098 writer.Write((
short)
number);
1099 for (
int k = 0;
k <
NPC.maxBuffs;
k++)
1100 {
1101 writer.Write((ushort)Main.npc[
number].buffType[
k]);
1102 writer.Write((
short)Main.npc[
number].buffTime[
k]);
1103 }
1104 break;
1105 }
1106 case 55:
1107 writer.Write((
byte)
number);
1108 writer.Write((ushort)
number2);
1110 break;
1111 case 56:
1112 writer.Write((
short)
number);
1113 if (Main.netMode == 2)
1114 {
1117 writer.Write(Main.npc[
number].townNpcVariationIndex);
1118 }
1119 break;
1120 case 57:
1124 break;
1125 case 58:
1126 writer.Write((
byte)
number);
1128 break;
1129 case 59:
1130 writer.Write((
short)
number);
1132 break;
1133 case 60:
1134 writer.Write((
short)
number);
1138 break;
1139 case 61:
1140 writer.Write((
short)
number);
1142 break;
1143 case 62:
1144 writer.Write((
byte)
number);
1146 break;
1147 case 63:
1148 case 64:
1149 writer.Write((
short)
number);
1153 break;
1154 case 65:
1155 {
1167 {
1169 }
1170 break;
1171 }
1172 case 66:
1173 writer.Write((
byte)
number);
1175 break;
1176 case 68:
1177 writer.Write(Main.clientUUID);
1178 break;
1179 case 69:
1180 Netplay.GetSectionX((
int)
number2);
1181 Netplay.GetSectionY((
int)
number3);
1182 writer.Write((
short)
number);
1185 writer.Write(Main.chest[(
short)
number].name);
1186 break;
1187 case 70:
1188 writer.Write((
short)
number);
1190 break;
1191 case 71:
1196 break;
1197 case 72:
1198 {
1200 {
1201 writer.Write((
short)Main.travelShop[
num13]);
1202 }
1203 break;
1204 }
1205 case 73:
1206 writer.Write((
byte)
number);
1207 break;
1208 case 74:
1209 {
1210 writer.Write((byte)Main.anglerQuest);
1211 bool value7 = Main.anglerWhoFinishedToday.Contains(text.
ToString());
1213 break;
1214 }
1215 case 76:
1216 writer.Write((
byte)
number);
1217 writer.Write(Main.player[
number].anglerQuestsFinished);
1218 writer.Write(Main.player[
number].golferScoreAccumulated);
1219 break;
1220 case 77:
1221 writer.Write((
short)
number);
1222 writer.Write((ushort)
number2);
1225 break;
1226 case 78:
1231 break;
1232 case 79:
1233 writer.Write((
short)
number);
1240 break;
1241 case 80:
1242 writer.Write((
byte)
number);
1244 break;
1245 case 81:
1246 {
1249 Color
c2 =
default(Color);
1251 writer.WriteRGB(
c2);
1253 break;
1254 }
1255 case 119:
1256 {
1259 Color c = default(Color);
1261 writer.WriteRGB(c);
1263 break;
1264 }
1265 case 83:
1266 {
1269 {
1271 }
1273 writer.Write((
short)
num11);
1275 break;
1276 }
1277 case 84:
1278 {
1280 float stealth = Main.player[
b5].stealth;
1282 writer.Write(stealth);
1283 break;
1284 }
1285 case 85:
1286 {
1289 break;
1290 }
1291 case 86:
1292 {
1295 writer.Write(
flag3);
1297 {
1299 }
1300 break;
1301 }
1302 case 87:
1303 writer.Write((
short)
number);
1306 break;
1307 case 88:
1308 {
1311 writer.Write((
short)
number);
1315 {
1316 writer.Write(((Color)(
ref item5.color)).PackedValue);
1317 }
1319 {
1320 writer.Write((ushort)
item5.damage);
1321 }
1323 {
1324 writer.Write(
item5.knockBack);
1325 }
1327 {
1328 writer.Write((ushort)
item5.useAnimation);
1329 }
1331 {
1332 writer.Write((ushort)
item5.useTime);
1333 }
1335 {
1336 writer.Write((
short)
item5.shoot);
1337 }
1339 {
1340 writer.Write(
item5.shootSpeed);
1341 }
1343 {
1346 {
1347 writer.Write((ushort)
item5.width);
1348 }
1350 {
1351 writer.Write((ushort)
item5.height);
1352 }
1354 {
1355 writer.Write(
item5.scale);
1356 }
1358 {
1359 writer.Write((
short)
item5.ammo);
1360 }
1362 {
1363 writer.Write((
short)
item5.useAmmo);
1364 }
1366 {
1367 writer.Write(
item5.notAmmo);
1368 }
1369 }
1370 break;
1371 }
1372 case 89:
1373 {
1374 writer.Write((
short)
number);
1378 {
1380 writer.Write7BitEncodedInt(
number5);
1381 }
1382 else
1383 {
1384 writer.Write((
short)
item4.netID);
1385 writer.Write((
byte)
item4.prefix);
1387 }
1388 break;
1389 }
1390 case 91:
1394 {
1395 writer.Write((
byte)((int)
number2 >> 8));
1396 }
1398 {
1399 writer.Write((ushort)
number3);
1400 writer.Write((ushort)
number4);
1403 {
1405 }
1406 }
1407 break;
1408 case 92:
1409 writer.Write((
short)
number);
1413 break;
1414 case 95:
1415 writer.Write((ushort)
number);
1417 break;
1418 case 96:
1419 {
1420 writer.Write((
byte)
number);
1425 writer.WriteVector2(
player2.velocity);
1426 break;
1427 }
1428 case 97:
1429 writer.Write((
short)
number);
1430 break;
1431 case 98:
1432 writer.Write((
short)
number);
1433 break;
1434 case 99:
1435 writer.Write((
byte)
number);
1436 writer.WriteVector2(Main.player[
number].MinionRestTargetPoint);
1437 break;
1438 case 115:
1439 writer.Write((
byte)
number);
1440 writer.Write((
short)Main.player[
number].MinionAttackTargetNPC);
1441 break;
1442 case 100:
1443 {
1444 writer.Write((ushort)
number);
1449 writer.WriteVector2(
nPC.velocity);
1450 break;
1451 }
1452 case 101:
1453 writer.Write((ushort)
NPC.ShieldStrengthTowerSolar);
1454 writer.Write((ushort)
NPC.ShieldStrengthTowerVortex);
1455 writer.Write((ushort)
NPC.ShieldStrengthTowerNebula);
1456 writer.Write((ushort)
NPC.ShieldStrengthTowerStardust);
1457 break;
1458 case 102:
1459 writer.Write((
byte)
number);
1460 writer.Write((ushort)
number2);
1463 break;
1464 case 103:
1465 writer.Write(
NPC.MaxMoonLordCountdown);
1466 writer.Write(
NPC.MoonLordCountdown);
1467 break;
1468 case 104:
1469 writer.Write((
byte)
number);
1475 break;
1476 case 105:
1477 writer.Write((
short)
number);
1480 break;
1481 case 106:
1482 {
1486 break;
1487 }
1488 case 108:
1489 writer.Write((
short)
number);
1496 break;
1497 case 109:
1498 writer.Write((
short)
number);
1503 break;
1504 case 110:
1505 writer.Write((
short)
number);
1508 break;
1509 case 112:
1510 writer.Write((
byte)
number);
1515 break;
1516 case 113:
1517 writer.Write((
short)
number);
1519 break;
1520 case 116:
1522 break;
1523 case 117:
1525 {
1526 writer.Write(byte.MaxValue);
1527 writer.Write((
byte)
number);
1529 BitsByte pack = new BitsByte(args.PvP, args.Dodgeable, args.DustDisabled, args.SoundDisabled);
1530 writer.Write(pack);
1531 args.DamageSource.WriteSelfTo(writer);
1532 writer.Write((
sbyte)args.CooldownCounter);
1533 writer.Write7BitEncodedInt(args.SourceDamage);
1534 writer.Write7BitEncodedInt(args.Damage);
1535 writer.Write((
sbyte)args.HitDirection);
1536 writer.Write(args.Knockback);
1537 }
1538 else
1539 {
1540 writer.Write((
byte)
number);
1543 writer.Write((
byte)(
number3 + 1
f));
1546 }
1547 break;
1548 case 118:
1549 writer.Write((
byte)
number);
1552 writer.Write((
byte)(
number3 + 1
f));
1554 break;
1555 case 120:
1556 writer.Write((
byte)
number);
1558 break;
1559 case 121:
1560 {
1564 {
1566 }
1567 writer.Write((
byte)
number);
1569 writer.Write((
byte)
num23);
1571 {
1573 break;
1574 }
1575 writer.Write(0);
1576 writer.Write((byte)0);
1577 break;
1578 }
1579 case 122:
1582 break;
1583 case 123:
1584 {
1585 writer.Write((
short)
number);
1589 {
1591 break;
1592 }
1593 writer.Write((
short)
item2.netID);
1594 writer.Write((
byte)
item2.prefix);
1596 break;
1597 }
1598 case 124:
1599 {
1603 {
1605 }
1606 writer.Write((
byte)
number);
1608 writer.Write((
byte)
num12);
1610 {
1612 break;
1613 }
1614 writer.Write(0);
1615 writer.Write((byte)0);
1616 break;
1617 }
1618 case 125:
1619 writer.Write((
byte)
number);
1623 break;
1624 case 126:
1626 break;
1627 case 127:
1629 break;
1630 case 128:
1631 writer.Write((
byte)
number);
1632 writer.Write((ushort)
number5);
1633 writer.Write((ushort)
number6);
1634 writer.Write((ushort)
number2);
1635 writer.Write((ushort)
number3);
1636 break;
1637 case 130:
1638 writer.Write((ushort)
number);
1639 writer.Write((ushort)
number2);
1641 break;
1642 case 131:
1643 writer.Write((ushort)
number);
1646 {
1649 }
1650 break;
1651 case 132:
1653 break;
1654 case 133:
1655 {
1656 writer.Write((
short)
number);
1660 {
1662 break;
1663 }
1664 writer.Write((short)item.netID);
1665 writer.Write((byte)item.prefix);
1667 break;
1668 }
1669 case 134:
1670 {
1671 writer.Write((
byte)
number);
1673 writer.Write(player.ladyBugLuckTimeLeft);
1674 writer.Write(player.torchLuck);
1675 writer.Write(player.luckPotion);
1676 writer.Write(player.HasGardenGnomeNearby);
1677 writer.Write(player.equipmentBasedLuckBonus);
1678 writer.Write(player.coinLuck);
1679 break;
1680 }
1681 case 135:
1682 writer.Write((
byte)
number);
1683 break;
1684 case 136:
1685 {
1686 for (int i = 0; i < 2; i++)
1687 {
1688 for (
int j = 0;
j < 3;
j++)
1689 {
1690 writer.Write((ushort)
NPC.cavernMonsterType[i,
j]);
1691 }
1692 }
1693 break;
1694 }
1695 case 137:
1696 writer.Write((
short)
number);
1697 writer.Write((ushort)
number2);
1698 break;
1699 case 139:
1700 {
1701 writer.Write((
byte)
number);
1703 writer.Write(value);
1704 break;
1705 }
1706 case 140:
1707 writer.Write((
byte)
number);
1709 break;
1710 case 141:
1711 writer.Write((
byte)
number);
1717 break;
1718 case 142:
1719 {
1720 writer.Write((
byte)
number);
1722 obj.piggyBankProjTracker.Write(writer);
1723 obj.voidLensChest.Write(writer);
1724 break;
1725 }
1726 case 146:
1727 writer.Write((
byte)
number);
1729 {
1730 case 0:
1731 writer.WriteVector2(
new Vector2((
float)(
int)
number2, (
float)(
int)
number3));
1732 break;
1733 case 1:
1734 writer.WriteVector2(
new Vector2((
float)(
int)
number2, (
float)(
int)
number3));
1736 break;
1737 case 2:
1739 break;
1740 }
1741 break;
1742 case 147:
1743 writer.Write((
byte)
number);
1746 break;
1747 }
1748 int num14 = (int)writer.BaseStream.Position;
1750 {
1752 }
1753 writer.BaseStream.Position = position;
1755 {
1757 }
1759 {
1761 }
1762 writer.Write((ushort)
num14);
1763 writer.BaseStream.Position =
num14;
1764 if (Main.netMode == 1)
1765 {
1766 if (Netplay.Connection.Socket.IsConnected())
1767 {
1768 try
1769 {
1771 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1772 Netplay.Connection.Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Connection.ClientWriteCallBack);
1773 }
1774 catch
1775 {
1776 }
1777 }
1778 }
1780 {
1782 {
1783 case 34:
1784 case 69:
1785 {
1787 {
1789 {
1790 try
1791 {
1793 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1794 Netplay.Clients[
num16].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num16].ServerWriteCallBack);
1795 }
1796 catch
1797 {
1798 }
1799 }
1800 }
1801 break;
1802 }
1803 case 20:
1804 {
1806 {
1808 {
1809 try
1810 {
1812 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1813 Netplay.Clients[
num20].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num20].ServerWriteCallBack);
1814 }
1815 catch
1816 {
1817 }
1818 }
1819 }
1820 break;
1821 }
1822 case 23:
1823 {
1826 {
1828 {
1829 continue;
1830 }
1833 {
1835 }
1836 else if (
nPC4.netSkip <= 0)
1837 {
1838 Rectangle
rect5 = Main.player[
num21].getRect();
1840 rect6.X -= 2500;
1841 rect6.Y -= 2500;
1842 rect6.Width += 5000;
1843 rect6.Height += 5000;
1845 {
1847 }
1848 }
1849 else
1850 {
1852 }
1854 {
1855 try
1856 {
1858 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1859 Netplay.Clients[
num21].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num21].ServerWriteCallBack);
1860 }
1861 catch
1862 {
1863 }
1864 }
1865 }
1867 if (
nPC4.netSkip > 4)
1868 {
1869 nPC4.netSkip = 0;
1870 }
1871 break;
1872 }
1873 case 28:
1874 {
1877 {
1879 {
1880 continue;
1881 }
1884 {
1886 }
1887 else
1888 {
1889 Rectangle
rect3 = Main.player[
num18].getRect();
1891 rect4.X -= 3000;
1892 rect4.Y -= 3000;
1893 rect4.Width += 6000;
1894 rect4.Height += 6000;
1896 {
1898 }
1899 }
1901 {
1902 try
1903 {
1905 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1906 Netplay.Clients[
num18].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num18].ServerWriteCallBack);
1907 }
1908 catch
1909 {
1910 }
1911 }
1912 }
1913 break;
1914 }
1915 case 13:
1916 {
1918 {
1920 {
1921 try
1922 {
1924 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1925 Netplay.Clients[
num19].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num19].ServerWriteCallBack);
1926 }
1927 catch
1928 {
1929 }
1930 }
1931 }
1932 Main.player[
number].netSkip++;
1933 if (Main.player[
number].netSkip > 2)
1934 {
1935 Main.player[
number].netSkip = 0;
1936 }
1937 break;
1938 }
1939 case 27:
1940 {
1943 {
1945 {
1946 continue;
1947 }
1950 {
1952 }
1953 else
1954 {
1955 Rectangle
rect = Main.player[
num17].getRect();
1957 rect2.X -= 5000;
1958 rect2.Y -= 5000;
1959 rect2.Width += 10000;
1960 rect2.Height += 10000;
1962 {
1964 }
1965 }
1967 {
1968 try
1969 {
1971 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1972 Netplay.Clients[
num17].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num17].ServerWriteCallBack);
1973 }
1974 catch
1975 {
1976 }
1977 }
1978 }
1979 break;
1980 }
1981 default:
1982 {
1984 {
1986 {
1987 try
1988 {
1990 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
1991 Netplay.Clients[
num15].Socket.AsyncSend(
buffer[
num].writeBuffer, 0,
num14, Netplay.Clients[
num15].ServerWriteCallBack);
1992 }
1993 catch
1994 {
1995 }
1996 }
1997 }
1998 break;
1999 }
2000 }
2001 }
2003 {
2004 try
2005 {
2007 Main.ActiveNetDiagnosticsUI.CountSentMessage(
msgType,
num14);
2009 }
2010 catch
2011 {
2012 }
2013 }
2014 if (Main.verboseNetplay)
2015 {
2017 {
2018 }
2020 {
2022 }
2023 }
2025 if (
msgType == 2 && Main.netMode == 2)
2026 {
2027 Netplay.Clients[
num].SetPendingTermination(
"Kicked");
2028 Netplay.Clients[
num].PendingTerminationApproved =
true;
2029 }
2030 }
2031 }
static Dictionary< int, TileEntity > ByID
static void Write(BinaryWriter writer, TileEntity ent, bool networkSend=false, bool lightSend=false)
static bool DownedInvasionT3
static bool DownedInvasionT2
static bool DownedInvasionT1
static float IntendedSeverity
static readonly int Loadout3_Dye_0
static string GetTextValue(string key)
Retrieves the text value for a specified localization key. The text returned will be for the currentl...
Contains methods to access or retrieve localization values. The Localization Guideteaches more about ...
static readonly NetworkText Empty
void Serialize(BinaryWriter writer)
override string ToString()
Represents text that will be sent over the network in multiplayer and displayed to the receiving user...
static void SendCustomBiomes(Player player, BinaryWriter writer)
static void SendModData(Item item, BinaryWriter writer)
static void Send(Item item, BinaryWriter writer, bool writeStack=false, bool writeFavorite=false)
static void SendModData(BinaryWriter writer)
static void ServerConsoleLine(string msg)
static bool HijackSendData(int whoAmI, int msgType, int remoteClient, int ignoreClient, NetworkText text, int number, float number2, float number3, float number4, int number5, int number6, int number7)
static void LogSend(int toClient, int ignoreClient, string s, int len)
static bool AllowVanillaClients
static string NetVersionString
static bool DetailedLogging
static byte[] WriteExtraAI(NPC npc)
static void SendExtraAI(BinaryWriter writer, byte[] extraAI)
This serves as the central class from which NPC-related functions are carried out....
static void SendExtraAI(BinaryWriter writer, byte[] extraAI)
static byte[] WriteExtraAI(Projectile projectile)
This serves as the central class from which projectile-related functions are carried out....
static NetSoundInfo _currentNetSoundInfo
static PlayerDeathReason _currentPlayerDeathReason
static void WriteAccessoryVisibility(BinaryWriter writer, bool[] hideVisibleAccessory)
static Player.HurtInfo _currentPlayerHurtInfo
static NPC.HitInfo _lastLegacyStrike
static void CompressTileBlock(int xStart, int yStart, short width, short height, Stream stream)
static MessageBuffer[] buffer
static NPC.HitInfo _currentStrike
static CoinLossRevengeSystem.RevengeMarker _currentRevengeMarker
static Terraria.Social.Base.NetSocialModule Network
References Terraria.NetMessage._currentNetSoundInfo, Terraria.NetMessage._currentPlayerDeathReason, Terraria.NetMessage._currentPlayerHurtInfo, Terraria.NetMessage._currentRevengeMarker, Terraria.NetMessage._currentStrike, Terraria.NetMessage._lastLegacyStrike, Terraria.Main.ActiveNetDiagnosticsUI, Terraria.Main.ActiveWorldFileData, Terraria.WorldGen.SavedOreTiers.Adamantite, Terraria.Projectile.ai, Terraria.ModLoader.ModNet.AllowVanillaClients, Terraria.Main.anglerQuest, Terraria.Main.anglerWhoFinishedToday, Terraria.ID.PlayerItemSlotID.Armor0, Terraria.ID.PlayerItemSlotID.Bank1_0, Terraria.ID.PlayerItemSlotID.Bank2_0, Terraria.ID.PlayerItemSlotID.Bank3_0, Terraria.ID.PlayerItemSlotID.Bank4_0, Terraria.Projectile.bannerIdToRespondTo, Terraria.Main.bloodMoon, Terraria.NPC.boughtBunny, Terraria.NPC.boughtCat, Terraria.NPC.boughtDog, Terraria.NetMessage.buffer, Terraria.DataStructures.TileEntity.ByID, Terraria.Main.caveBackStyle, Terraria.Main.caveBackX, Terraria.NPC.cavernMonsterType, Terraria.Main.chest, Terraria.Netplay.Clients, Terraria.Main.clientUUID, Terraria.WorldGen.SavedOreTiers.Cobalt, Terraria.Player.coinLuck, Terraria.NPC.combatBookVolumeTwoWasUsed, Terraria.NPC.combatBookWasUsed, Terraria.NetMessage.CompressTileBlock(), Terraria.Netplay.Connection, Terraria.Player.HurtInfo.CooldownCounter, Terraria.WorldGen.SavedOreTiers.Copper, Terraria.WorldGen.corruptBG, Terraria.WorldGen.crimson, Terraria.WorldGen.crimsonBG, Terraria.Player.HurtInfo.Damage, Terraria.Projectile.damage, Terraria.Player.HurtInfo.DamageSource, Terraria.Main.dayTime, Terraria.Main.dedServ, Terraria.WorldGen.desertBG, Terraria.ModLoader.ModNet.DetailedLogging, Terraria.Player.HurtInfo.Dodgeable, Terraria.Main.dontStarveWorld, Terraria.NPC.downedAncientCultist, Terraria.NPC.downedBoss1, Terraria.NPC.downedBoss2, Terraria.NPC.downedBoss3, Terraria.NPC.downedChristmasIceQueen, Terraria.NPC.downedChristmasSantank, Terraria.NPC.downedChristmasTree, Terraria.NPC.downedClown, Terraria.NPC.downedDeerclops, Terraria.NPC.downedEmpressOfLight, Terraria.NPC.downedFishron, Terraria.NPC.downedFrost, Terraria.NPC.downedGoblins, Terraria.NPC.downedGolemBoss, Terraria.NPC.downedHalloweenKing, Terraria.NPC.downedHalloweenTree, Terraria.GameContent.Events.DD2Event.DownedInvasionT1, Terraria.GameContent.Events.DD2Event.DownedInvasionT2, Terraria.GameContent.Events.DD2Event.DownedInvasionT3, Terraria.NPC.downedMartians, Terraria.NPC.downedMechBoss1, Terraria.NPC.downedMechBoss2, Terraria.NPC.downedMechBoss3, Terraria.NPC.downedMechBossAny, Terraria.NPC.downedMoonlord, Terraria.NPC.downedPirates, Terraria.NPC.downedPlantBoss, Terraria.NPC.downedQueenBee, Terraria.NPC.downedQueenSlime, Terraria.NPC.downedSlimeKing, Terraria.NPC.downedTowerNebula, Terraria.NPC.downedTowerSolar, Terraria.NPC.downedTowerStardust, Terraria.NPC.downedTowerVortex, Terraria.Main.drunkWorld, Terraria.Player.HurtInfo.DustDisabled, Terraria.ID.PlayerItemSlotID.Dye0, Terraria.Main.eclipse, Terraria.Localization.NetworkText.Empty, Terraria.Player.equipmentBasedLuckBonus, Terraria.Main.fastForwardTimeToDawn, Terraria.Main.fastForwardTimeToDusk, Terraria.Main.forceHalloweenForToday, Terraria.Main.forceXMasForToday, Terraria.NPC.freeCake, Terraria.Main.GameMode, Terraria.Main.getGoodWorld, Terraria.Netplay.GetSectionX(), Terraria.Netplay.GetSectionY(), Terraria.Localization.Language.GetTextValue(), Terraria.WorldGen.SavedOreTiers.Gold, Terraria.WorldGen.hallowBG, Terraria.GameContent.Events.Sandstorm.Happening, Terraria.Main.hardMode, Terraria.Player.HasGardenGnomeNearby, Terraria.Main.hellBackStyle, Terraria.ModLoader.ModNet.HijackSendData(), Terraria.Player.HurtInfo.HitDirection, Terraria.Main.iceBackStyle, Terraria.Projectile.identity, Terraria.GameContent.Events.Sandstorm.IntendedSeverity, Terraria.Main.invasionType, Terraria.ID.PlayerItemSlotID.Inventory0, Terraria.WorldGen.SavedOreTiers.Iron, Terraria.Main.item, Terraria.Main.jungleBackStyle, Terraria.WorldGen.jungleBG, Terraria.NPC.killCount, Terraria.Player.HurtInfo.Knockback, Terraria.Projectile.knockBack, Terraria.Player.ladyBugLuckTimeLeft, Terraria.GameContent.Events.LanternNight.LanternsUp, Terraria.Tile.liquid, Terraria.Tile.liquidType(), Terraria.ID.PlayerItemSlotID.Loadout1_Armor_0, Terraria.ID.PlayerItemSlotID.Loadout1_Dye_0, Terraria.ID.PlayerItemSlotID.Loadout2_Armor_0, Terraria.ID.PlayerItemSlotID.Loadout2_Dye_0, Terraria.ID.PlayerItemSlotID.Loadout3_Armor_0, Terraria.ID.PlayerItemSlotID.Loadout3_Dye_0, Terraria.ModLoader.ModNet.LogSend(), Terraria.Player.luckPotion, Terraria.NPC.maxAI, Terraria.NPC.maxBuffs, Terraria.Player.maxBuffs, Terraria.NPC.MaxMoonLordCountdown, Terraria.Main.maxRaining, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.ID.PlayerItemSlotID.Misc0, Terraria.ID.PlayerItemSlotID.MiscDye0, Terraria.Main.moondialCooldown, Terraria.NPC.MoonLordCountdown, Terraria.Main.moonModY, Terraria.Main.moonPhase, Terraria.Main.moonType, Terraria.WorldGen.mushroomBG, Terraria.WorldGen.SavedOreTiers.Mythril, Terraria.ID.ProjectileID.Sets.NeedsUUID, Terraria.Item.netID, Terraria.Main.netMode, Terraria.ModLoader.ModNet.NetVersionString, Terraria.Social.SocialAPI.Network, Terraria.Main.noTrapsWorld, Terraria.Main.notTheBeesWorld, Terraria.Main.npc, Terraria.Main.npcCatchable, Terraria.Main.numClouds, Terraria.WorldGen.oceanBG, Terraria.GameContent.Events.DD2Event.Ongoing, Terraria.Projectile.originalDamage, Terraria.Projectile.owner, Terraria.GameContent.Events.BirthdayParty.PartyIsUp, Terraria.NPC.peddlersSatchelWasUsed, Terraria.Main.player, Terraria.Entity.position, Terraria.Item.prefix, Terraria.Main.projectile, Terraria.Main.projPet, Terraria.Projectile.projUUID, Terraria.Main.pumpkinMoon, Terraria.Player.HurtInfo.PvP, Terraria.Main.raining, Terraria.Main.remixWorld, Terraria.Main.rockLayer, Terraria.ModLoader.IO.ItemIO.Send(), Terraria.ModLoader.BiomeLoader.SendCustomBiomes(), Terraria.ModLoader.NPCLoader.SendExtraAI(), Terraria.ModLoader.ProjectileLoader.SendExtraAI(), Terraria.ModLoader.IO.WorldIO.SendModData(), Terraria.ModLoader.IO.ItemIO.SendModData(), Terraria.ModLoader.Logging.ServerConsoleLine(), Terraria.Netplay.ServerPassword, Terraria.WorldGen.shadowOrbSmashed, Terraria.NPC.ShieldStrengthTowerNebula, Terraria.NPC.ShieldStrengthTowerSolar, Terraria.NPC.ShieldStrengthTowerStardust, Terraria.NPC.ShieldStrengthTowerVortex, Terraria.Main.sign, Terraria.WorldGen.SavedOreTiers.Silver, Terraria.Main.slimeRain, Terraria.WorldGen.snowBG, Terraria.Main.snowMoon, Terraria.Player.HurtInfo.SoundDisabled, Terraria.Player.HurtInfo.SourceDamage, Terraria.Main.spawnTileX, Terraria.Main.spawnTileY, Terraria.Main.sundialCooldown, Terraria.Main.sunModY, Terraria.WorldGen.tBlood, Terraria.Main.tenthAnniversaryWorld, Terraria.WorldGen.tEvil, Terraria.WorldGen.tGood, Terraria.Main.tile, Terraria.Main.tileFrameImportant, Terraria.Main.time, Terraria.Player.torchLuck, Terraria.ID.PlayerItemSlotID.TrashItem, Terraria.Main.travelShop, Terraria.WorldGen.treeBG1, Terraria.WorldGen.treeBG2, Terraria.WorldGen.treeBG3, Terraria.WorldGen.treeBG4, Terraria.Main.treeStyle, Terraria.WorldGen.TreeTops, Terraria.Main.treeX, Terraria.Projectile.type, Terraria.WorldGen.underworldBG, Terraria.NPC.unlockedSlimeBlueSpawn, Terraria.NPC.unlockedSlimeCopperSpawn, Terraria.NPC.unlockedSlimeGreenSpawn, Terraria.NPC.unlockedSlimeOldSpawn, Terraria.NPC.unlockedSlimePurpleSpawn, Terraria.NPC.unlockedSlimeRainbowSpawn, Terraria.NPC.unlockedSlimeRedSpawn, Terraria.NPC.unlockedSlimeYellowSpawn, Terraria.NPC.unlockedTruffleSpawn, Terraria.Entity.velocity, Terraria.Main.verboseNetplay, Terraria.Main.windSpeedTarget, Terraria.Main.worldID, Terraria.Main.worldName, Terraria.Main.worldSurface, Terraria.DataStructures.TileEntity.Write(), Terraria.NetMessage.WriteAccessoryVisibility(), Terraria.ModLoader.NPCLoader.WriteExtraAI(), Terraria.ModLoader.ProjectileLoader.WriteExtraAI(), Terraria.DataStructures.PlayerDeathReason.WriteSelfTo(), and Terraria.Main.zenithWorld.
Referenced by Terraria.GameContent.Tile_Entities.TETrainingDummy.Activate(), Terraria.NPC.AddBuff(), Terraria.Player.AddBuff(), Terraria.Liquid.AddWater(), Terraria.Chest.AfterPlacement_Hook(), Terraria.NPC.AI_000_TransformBoundNPC(), Terraria.NPC.AI_003_Fighters(), Terraria.NPC.AI_006_Worms(), Terraria.Projectile.AI_007_GrapplingHooks(), Terraria.NPC.AI_007_TownEntities(), Terraria.Projectile.AI_010(), Terraria.NPC.AI_037_Destroyer(), Terraria.Projectile.AI_061_FishingBobber_GiveItemToPlayer(), Terraria.NPC.AI_065_Butterflies(), Terraria.NPC.AI_084_LunaticCultist(), Terraria.NPC.AI_107_ImprovedWalkers(), Terraria.NPC.AI_112_FairyCritter(), Terraria.NPC.AI_120_HallowBoss(), Terraria.NPC.AI_121_QueenSlime(), Terraria.NPC.AI_123_Deerclops(), Terraria.NPC.AI_124_DeerclopsLeg(), Terraria.Projectile.AI_150_GolfClubHelper(), Terraria.Projectile.AI_155_MysticSnakeCoil(), Terraria.Projectile.AI_155_RemoveRope(), Terraria.NPC.AI_87_BigMimic_ShootItem(), Terraria.Player.ApplyNPCOnHitEffects(), Terraria.Player.ApplyTouchDamage(), Terraria.WorldGen.AttemptFossilShattering(), Terraria.Lang.BartenderHelpText(), Terraria.DataStructures.TileEntity.BasicOpenCloseInteraction(), Terraria.NPC.BeHurtByOtherNPC(), Terraria.NPC.BigMimicSpawnSmoke(), Terraria.NPC.BigMimicSummonCheck(), Terraria.NetMessage.BootPlayer(), Terraria.Player.BrainOfConfusionDodge(), Terraria.Main.BuyHairWindow(), Terraria.NPC.CatchNPC(), Terraria.GameContent.Events.Sandstorm.ChangeSeverityIntentions(), Terraria.NPC.CheckActive(), Terraria.NPC.CheckActive_WormSegments(), Terraria.WorldGen.CheckBamboo(), Terraria.WorldGen.CheckCatTail(), Terraria.Player.CheckCrackedBrickBreak(), Terraria.NPC.checkDead(), Terraria.NPC.CheckDrowning(), Terraria.Player.CheckIceBreak(), Terraria.Item.CheckLavaDeath(), Terraria.WorldGen.CheckLilyPad(), Terraria.Wiring.CheckLogicGate(), Terraria.GameContent.Events.DD2Event.CheckProgress(), Terraria.NPC.CheckProgressFrostMoon(), Terraria.NPC.CheckProgressPumpkinMoon(), Terraria.GameContent.CoinLossRevengeSystem.CheckRespawns(), Terraria.WorldGen.CheckSeaOat(), Terraria.RemoteClient.CheckSection(), Terraria.WorldGen.CheckSuper(), Terraria.WorldGen.CheckUnderwaterPlant(), Terraria.GameContent.Events.DD2Event.ClearAllDD2EnergyCrystalsInChests(), Terraria.GameContent.Events.DD2Event.ClearAllDD2EnergyCrystalsInGame(), Terraria.GameContent.Events.DD2Event.ClearAllDD2HostilesInGame(), Terraria.NPC.ClearImmuneToBuffs(), Terraria.NPC.Collision_LavaCollision(), Terraria.Item.CombineWithNearbyItems(), Terraria.WorldGen.Convert(), Terraria.NPC.CountKillForBannersAndDropThem(), Terraria.WorldGen.CountTiles(), Terraria.Recipe.Create(), Terraria.GameContent.LucyAxeMessage.Create(), Terraria.DelegateMethods.CutTiles(), Terraria.Projectile.CutTilesAt(), Terraria.Projectile.Damage(), Terraria.GameContent.Tile_Entities.TETrainingDummy.Deactivate(), Terraria.NPC.DelBuff(), Terraria.Player.DemonConch(), Terraria.UI.ChestUI.DepositAll(), Terraria.Item.DespawnIfMeetingConditions(), Terraria.GameContent.Events.DD2Event.Difficulty_1_SpawnMonsterFromGate(), Terraria.GameContent.Events.DD2Event.Difficulty_2_SpawnMonsterFromGate(), Terraria.GameContent.Events.DD2Event.Difficulty_3_SpawnMonsterFromGate(), Terraria.Mount.Dismount(), Terraria.NPC.DoDeathEvents(), Terraria.WorldGen.DontStarveTryWateringTile(), Terraria.Player.DoPotionOfReturnReturnToOriginalUsePosition(), Terraria.Player.DoPotionOfReturnTeleportationAndSetTheComebackPoint(), Terraria.Player.DoQueenSlimeHookTeleport(), Terraria.Main.DoUpdateInWorld(), Terraria.Main.DrawInventory(), Terraria.Main.DrawPVPIcons(), Terraria.ModLoader.AccessorySlotLoader.DrawVisibility(), Terraria.Player.DropCoins(), Terraria.Projectile.DropGeodeLoot(), Terraria.Player.DropItem(), Terraria.GameContent.ItemDropRules.CommonCode.DropItem(), Terraria.Player.dropItemCheck(), Terraria.Player.DropItemFromExtractinator(), Terraria.NPC.DropItemInstanced(), Terraria.GameContent.ItemDropRules.CommonCode.DropItemLocalPerClientAndSetNPCMoneyTo0(), Terraria.Player.DropSelectedItem(), Terraria.WorldGen.dropXmasTree(), Terraria.Player.EndOngoingTorchGodEvent(), Terraria.Main.ExecuteCommand(), Terraria.Projectile.ExplodeCrackedTiles(), Terraria.Projectile.ExplodeTiles(), Terraria.Item.FindOwner(), Terraria.Player.GetAnglerReward(), Terraria.MessageBuffer.GetData(), Terraria.Player.GetDyeTraderReward(), Terraria.UI.ItemSlot.GetGamepadInstructions(), Terraria.Item.GetPickedUpByMonsters_Money(), Terraria.Item.GetPickedUpByMonsters_Special(), Terraria.WorldGen.GetRidOfCultists(), Terraria.Item.GetShimmered(), Terraria.NPC.GetShimmered(), Terraria.Player.GrabItems(), Terraria.WorldGen.GrowCatTail(), Terraria.WorldGen.GrowCheckSeaweed(), Terraria.Main.GUIChatDrawInner(), Terraria.Projectile.HandleMovement(), Terraria.GameContent.TeleportPylonsSystem.HandleTeleportRequest(), Terraria.Player.HealEffect(), Terraria.NPC.HealEffect(), Terraria.Minecart.HitTrackSwitch(), Terraria.Wiring.HitWireSingle(), Terraria.ModLoader.Default.TEModdedPylon.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TETrainingDummy.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TEItemFrame.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TELogicSensor.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TEDisplayDoll.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TEHatRack.Hook_AfterPlacement(), Terraria.GameContent.Tile_Entities.TEFoodPlatter.Hook_AfterPlacement(), Terraria.Player.Hurt(), Terraria.Netplay.InnerClientLoop(), Terraria.Player.ItemCheck_CheckCanUse(), Terraria.Player.ItemCheck_CheckFishingBobber_PullBobber(), Terraria.Player.ItemCheck_CutTiles(), Terraria.Player.ItemCheck_Inner(), Terraria.Player.ItemCheck_MeleeHitPVP(), Terraria.Player.ItemCheck_PlayInstruments(), Terraria.Player.ItemCheck_Shoot(), Terraria.Player.ItemCheck_TryPlacingWearablesOnMannequins(), Terraria.Player.ItemCheck_UseArtisanLoaf(), Terraria.Player.ItemCheck_UseBossSpawners(), Terraria.Player.ItemCheck_UseCombatBook(), Terraria.Player.ItemCheck_UseDemonHeart(), Terraria.Player.ItemCheck_UseEventItems(), Terraria.Player.ItemCheck_UseMinecartPowerUp(), Terraria.Player.ItemCheck_UseMiningTools_ActuallyUseMiningTool(), Terraria.Player.ItemCheck_UseMiningTools_TryPoundingTile(), Terraria.Player.ItemCheck_UsePeddlersSatchel(), Terraria.Player.ItemCheck_UseShimmerPermanentItems(), Terraria.Player.ItemCheck_UseTeleportRod(), Terraria.Player.ItemCheck_UseTorchGodsFavor(), Terraria.Player.ItemCheck_UseWiringTools(), Terraria.WorldGen.kickOut(), Terraria.Projectile.Kill(), Terraria.GameContent.Tile_Entities.TELogicSensor.Kill(), Terraria.Player.KillMe(), Terraria.WorldGen.KillTile(), Terraria.UI.ItemSlot.LeftClick(), Terraria.Liquid.LiquidCheck(), Terraria.UI.ChestUI.LootAll(), Terraria.Player.MagicConch(), Terraria.GameContent.UI.EmoteBubble.MakeLocalPlayerEmote(), Terraria.GameContent.UI.EmoteBubble.MakePlayerEmote(), Terraria.Player.ManaEffect(), Terraria.Wiring.MassWireOperation(), Terraria.Wiring.MassWireOperationStep(), Terraria.GameContent.MinecartDiggerHelper.MineTheTileIfNecessary(), Terraria.GameContent.ItemDropRules.CommonCode.ModifyItemDropFromNPC(), Terraria.Main.Moondialing(), Terraria.UI.ChestUI.MoveCoins(), Terraria.WorldGen.moveRoom(), Terraria.GameContent.Events.BirthdayParty.NaturalAttempt(), Terraria.GameContent.Tile_Entities.TEFoodPlatter.NetPlaceEntity(), Terraria.GameContent.Tile_Entities.TEItemFrame.NetPlaceEntity(), Terraria.GameContent.Tile_Entities.TELogicSensor.NetPlaceEntity(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.NetPlaceEntity(), Terraria.ModLoader.ModTileEntity.NetPlaceEntityAttempt(), Terraria.GameContent.Tile_Entities.TEDisplayDoll.NetPlaceEntityAttempt(), Terraria.GameContent.Tile_Entities.TEHatRack.NetPlaceEntityAttempt(), Terraria.GameContent.Tile_Entities.TETeleportationPylon.NetPlaceEntityAttempt(), Terraria.ModLoader.Default.TEModdedPylon.NetPlaceEntityAttempt(), Terraria.GameContent.UI.EmoteBubble.NewBubble(), Terraria.GameContent.UI.EmoteBubble.NewBubbleNPC(), Terraria.Item.NewItem_Inner(), Terraria.Projectile.NewProjectile(), Terraria.Player.NinjaDodge(), Terraria.GameContent.Achievements.AchievementsHelper.NotifyNPCKilled(), Terraria.GameContent.Achievements.AchievementsHelper.NotifyProgressionEvent(), Terraria.Player.OnHurt_Part1(), Terraria.GameContent.Tile_Entities.TEFoodPlatter.OnPlayerInteraction(), Terraria.GameContent.Tile_Entities.TEItemFrame.OnPlayerInteraction(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.OnPlayerInteraction(), Terraria.Main.OnSubmitServerPasswordFromRequest(), Terraria.GameContent.Tile_Entities.TEDisplayDoll.OverrideItemSlotLeftClick(), Terraria.GameContent.Tile_Entities.TEHatRack.OverrideItemSlotLeftClick(), Terraria.UI.ItemSlot.OverrideLeftClick(), Terraria.WorldGen.paintCoatTile(), Terraria.WorldGen.paintCoatWall(), Terraria.WorldGen.paintTile(), Terraria.WorldGen.paintWall(), Terraria.Player.PickTile(), Terraria.Player.PickupItem(), Terraria.UI.ItemSlot.PickupItemIntoMouse(), Terraria.Player.PickWall(), Terraria.TileObject.Place(), Terraria.WorldGen.Place3x2(), Terraria.GameContent.MinecartDiggerHelper.PlaceATrack(), Terraria.WorldGen.PlaceChest(), Terraria.GameContent.Tile_Entities.TEFoodPlatter.PlaceItemInFrame(), Terraria.GameContent.Tile_Entities.TEItemFrame.PlaceItemInFrame(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.PlaceItemInFrame(), Terraria.GameContent.Tile_Entities.TETeleportationPylon.PlacementPreviewHook_AfterPlacement(), Terraria.Player.PlaceThing_LockChest(), Terraria.Player.PlaceThing_PaintScrapper_LongMoss(), Terraria.Player.PlaceThing_Tiles_BlockPlacementForAssortedThings(), Terraria.Player.PlaceThing_Tiles_PlaceIt(), Terraria.Player.PlaceThing_Tiles_PlaceIt_AutoPaintAndActuate(), Terraria.Player.PlaceThing_Tiles_PlaceIt_KillGrassForSolids(), Terraria.Player.PlaceThing_Tiles_PlaceIt_SpinSmartPlatform(), Terraria.Player.PlaceThing_Tiles_PlaceIt_TriggerLogicLamp(), Terraria.Player.PlaceThing_Tiles_PlaceIt_UnslopeForSolids(), Terraria.Player.PlaceThing_TryReplacingTiles(), Terraria.Player.PlaceThing_TryReplacingWalls(), Terraria.Player.PlaceThing_Walls(), Terraria.Player.PlaceThing_Walls_FillEmptySpace(), Terraria.Player.PlaceWeapon(), Terraria.NetMessage.PlayNetSound(), Terraria.GameContent.PressurePlateHelper.PokeLocation(), Terraria.WorldGen.PoundPlatform(), Terraria.GameContent.MinecartDiggerHelper.PoundTrack(), Terraria.Chat.Commands.EmojiCommand.ProcessOutgoingMessage(), Terraria.Chat.Commands.RockPaperScissorsCommand.ProcessOutgoingMessage(), Terraria.Player.PurgeDD2EnergyCrystals(), Terraria.GameContent.Golf.GolfHelper.ContactListener.PutBallInCup(), Terraria.Player.PutItemInInventoryFromItemUsage(), Terraria.Player.QuickGrapple(), Terraria.Player.QuickSpawnClonedItem(), Terraria.Player.QuickSpawnItem(), Terraria.UI.ChestUI.QuickStack(), Terraria.Player.QuickStackAllChests(), Terraria.GameContent.TreeTopsInfo.RandomizeTreeStyle(), Terraria.GameContent.Tile_Entities.TETeleportationPylon.RejectPlacementFromNet(), Terraria.ModLoader.Default.TEModdedPylon.RejectPlacementFromNet(), Terraria.NPC.ReleaseNPC(), Terraria.GameContent.CoinLossRevengeSystem.RemoveExpiredOrInvalidMarkers(), Terraria.GameContent.PortalHelper.RemoveIntersectingPortals(), Terraria.WorldGen.ReplaceTIle_DoActualReplacement(), Terraria.NPC.RequestBuffRemoval(), Terraria.GameContent.Events.DD2Event.RequestToSkipWaitTime(), Terraria.UI.ChestUI.Restock(), Terraria.ModLoader.Default.StartBag.RightClick(), Terraria.Main.SaveClothesWindow(), Terraria.UI.ItemSlot.SellOrTrash(), Terraria.NetMessage.SendAnglerQuest(), Terraria.NetMessage.SendCoinLossRevengeMarker(), Terraria.GameContent.Events.CreditsRollEvent.SendCreditsRollRemainingTimeToPlayer(), Terraria.NetMessage.SendNPCHousesAndTravelShop(), Terraria.NetMessage.SendObjectPlacement(), Terraria.NetMessage.SendPlayerDeath(), Terraria.NetMessage.SendPlayerHurt(), Terraria.NetMessage.SendPlayerHurt(), Terraria.NetMessage.SendSection(), Terraria.NetMessage.SendStrikeNPC(), Terraria.NetMessage.SendTemporaryAnimation(), Terraria.NetMessage.SendTileSquare(), Terraria.NetMessage.SendTravelShop(), Terraria.NetMessage.sendWater(), Terraria.Chest.ServerPlaceItem(), Terraria.GameContent.Events.DD2Event.SetEnemySpawningOnHold(), Terraria.Mount.SetMount(), Terraria.Player.ShadowDodge(), Terraria.Player.Shellphone_Spawn(), Terraria.Projectile.Shimmer(), Terraria.WorldGen.ShootFromCannon(), Terraria.GameContent.PlayerSittingHelper.SitDown(), Terraria.GameContent.PlayerSittingHelper.SitUp(), Terraria.WorldGen.SmashAltar(), Terraria.Tile.SmoothSlope(), Terraria.UI.ItemSorting.SortChest(), Terraria.Player.Spawn(), Terraria.NPC.SpawnBoss(), Terraria.GameContent.CoinLossRevengeSystem.RevengeMarker.SpawnEnemy(), Terraria.NPC.SpawnFaelings(), Terraria.NPC.SpawnMechQueen(), Terraria.NPC.SpawnNPC(), Terraria.NPC.SpawnSkeletron(), Terraria.WorldGen.SpawnTownNPC(), Terraria.DelegateMethods.SpreadDirt(), Terraria.WorldGen.StartImpendingDoom(), Terraria.GameContent.Events.DD2Event.StartInvasion(), Terraria.GameContent.PlayerSleepingHelper.StartSleeping(), Terraria.Main.StartSlimeRain(), Terraria.Player.StickyMovement(), Terraria.GameContent.Events.DD2Event.StopInvasion(), Terraria.GameContent.PlayerSleepingHelper.StopSleeping(), Terraria.Main.StopSlimeRain(), Terraria.Main.SubmitSignText(), Terraria.GameContent.Events.DD2Event.SummonCrystal(), Terraria.Main.Sundialing(), Terraria.UI.ItemSlot.SwapEquip(), Terraria.Collision.SwitchTiles(), Terraria.Main.SyncAnInvasion(), Terraria.GameContent.Events.DD2Event.SyncInvasionProgress(), Terraria.ObjectData.TileObjectData.SyncObjectPlacement(), Terraria.NetMessage.SyncOnePlayer(), Terraria.NetMessage.SyncOnePlayer_ItemArray(), Terraria.Main.SyncRain(), Terraria.Wiring.Teleport(), Terraria.NPC.Teleport(), Terraria.Player.TeleportationPotion(), Terraria.Player.TileInteractionsUse(), Terraria.WorldGen.ToggleGemLock(), Terraria.GameContent.Events.LanternNight.ToggleManualLanterns(), Terraria.GameContent.Events.BirthdayParty.ToggleManualParty(), Terraria.Player.TorchAttack(), Terraria.NPC.Transform(), Terraria.NPC.TransformCopperSlime(), Terraria.NPC.TransformElderSlime(), Terraria.WorldGen.TreeGrowFXCheck(), Terraria.WorldGen.TriggerLunarApocalypse(), Terraria.GameContent.DoorOpeningHelper.CommonDoorOpeningInfoProvider.TryCloseDoor(), Terraria.GameContent.DoorOpeningHelper.TallGateOpeningInfoProvider.TryCloseDoor(), Terraria.Player.TryDroppingSingleItem(), Terraria.GameContent.Tile_Entities.TEDisplayDoll.TryFitting(), Terraria.GameContent.Tile_Entities.TEHatRack.TryFitting(), Terraria.GameContent.PortalHelper.TryGoingThroughPortals(), Terraria.WorldGen.TryKillingReplaceableTile(), Terraria.WorldGen.TryKillingTreesAboveIfTheyWouldBecomeInvalid(), Terraria.Player.TryLandingOnDetonator(), Terraria.GameContent.DoorOpeningHelper.CommonDoorOpeningInfoProvider.TryOpenDoor(), Terraria.GameContent.DoorOpeningHelper.TallGateOpeningInfoProvider.TryOpenDoor(), Terraria.UI.ItemSlot.TryPickupDyeToCursor(), Terraria.GameContent.Tile_Entities.TEFoodPlatter.TryPlacing(), Terraria.GameContent.Tile_Entities.TEItemFrame.TryPlacing(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.TryPlacing(), Terraria.UI.ChestUI.TryPlacingInChest(), Terraria.NetMessage.TrySendData(), Terraria.GameContent.Events.MysticLogFairiesEvent.TrySpawningFairies(), Terraria.GameContent.Events.CreditsRollEvent.TryStartingCreditsRoll(), Terraria.Player.TrySyncingInput(), Terraria.Main.TrySyncingItemArray(), Terraria.Main.TrySyncingMyPlayer(), Terraria.NPC.TrySyncingUniqueTownNPCData(), Terraria.NPC.TryTeleportingCaughtMysticFrog(), Terraria.Player.TryToPoop(), Terraria.Player.UnityTeleport(), Terraria.NPC.UnlockOrExchangePet(), Terraria.WorldGen.UnspawnTravelNPC(), Terraria.Player.Update(), Terraria.Projectile.Update(), Terraria.Main.UpdateClient(), Terraria.Main.updateCloudLayer(), Terraria.GameContent.Tile_Entities.TELogicSensor.UpdateEndInternal(), Terraria.NPC.UpdateHomeTileState(), Terraria.Main.UpdateInvasion_Inner(), Terraria.Item.UpdateItem(), Terraria.Player.UpdateLuck(), Terraria.NPC.UpdateNetworkCode(), Terraria.NPC.UpdateNPC_BuffApplyDOTs(), Terraria.NPC.UpdateNPC_BuffClearExpiredBuffs(), Terraria.NPC.UpdateNPC_Inner(), Terraria.Main.UpdateServer(), Terraria.GameContent.Events.BirthdayParty.UpdateTime(), Terraria.GameContent.Events.DD2Event.UpdateTime(), Terraria.GameContent.Events.LanternNight.UpdateTime(), Terraria.Main.UpdateTime(), Terraria.Main.UpdateTime_StartDay(), Terraria.Main.UpdateTime_StartNight(), Terraria.Main.UpdateWeather(), Terraria.WorldGen.UpdateWorld_OvergroundTile(), Terraria.WorldGen.UpdateWorld_UndergroundTile(), Terraria.Projectile.UseGasTrapInChest(), Terraria.NPC.VanillaAI_Inner(), Terraria.NPC.VanillaHitEffect(), and Terraria.GameContent.Events.DD2Event.WipeEntities().