77import net .fabricmc .api .EnvType ;
88import net .fabricmc .api .ModInitializer ;
99import net .fabricmc .fabric .api .command .v2 .CommandRegistrationCallback ;
10- import net .fabricmc .fabric .api .entity .event .v1 .ServerEntityWorldChangeEvents ;
10+ import net .fabricmc .fabric .api .entity .event .v1 .ServerEntityLevelChangeEvents ;
1111import net .fabricmc .fabric .api .event .Event ;
12- import net .fabricmc .fabric .api .event .lifecycle .v1 .ServerWorldEvents ;
12+ import net .fabricmc .fabric .api .event .lifecycle .v1 .ServerLevelEvents ;
1313import net .fabricmc .fabric .api .event .registry .RegistryEntryAddedCallback ;
14- import net .fabricmc .fabric .api .gamerule .v1 .GameRuleFactory ;
15- import net .fabricmc .fabric .api .gamerule .v1 .GameRuleRegistry ;
16- import net .fabricmc .fabric .api .networking .v1 .PacketByteBufs ;
14+ import net .fabricmc .fabric .api .gamerule .v1 .GameRuleBuilder ;
15+ import net .fabricmc .fabric .api .networking .v1 .FriendlyByteBufs ;
1716import net .fabricmc .fabric .api .networking .v1 .PayloadTypeRegistry ;
1817import net .fabricmc .fabric .api .networking .v1 .ServerLoginConnectionEvents ;
1918import net .fabricmc .fabric .api .networking .v1 .ServerLoginNetworking ;
2625import net .minecraft .core .registries .BuiltInRegistries ;
2726import net .minecraft .network .Connection ;
2827import net .minecraft .network .protocol .Packet ;
29- import net .minecraft .resources .ResourceLocation ;
28+ import net .minecraft .resources .Identifier ;
3029import net .minecraft .server .level .ServerLevel ;
3130import net .minecraft .server .level .Ticket ;
3231import net .minecraft .server .level .TicketType ;
3332import net .minecraft .world .level .ChunkPos ;
34- import net .minecraft .world .level .GameRules ;
3533import net .minecraft .world .level .TicketStorage ;
3634import net .minecraft .world .level .block .Block ;
35+ import net .minecraft .world .level .gamerules .GameRule ;
36+ import net .minecraft .world .level .gamerules .GameRuleCategory ;
3737import net .modfest .fireblanket .command .CmdFindReplaceCommand ;
3838import net .modfest .fireblanket .command .DumpCommand ;
3939import net .modfest .fireblanket .command .ItemBanCommand ;
6565import java .util .function .Consumer ;
6666
6767public class Fireblanket implements ModInitializer {
68- public static final ResourceLocation BATCHED_BE_UPDATE = ResourceLocation . fromNamespaceAndPath ( "fireblanket" , "batched_be_sync" );
69- public static final ResourceLocation BATCHED_VELOCITY_SYNC = ResourceLocation . fromNamespaceAndPath ( "fireblanket" , "batched_velocity_sync" );
70- public static final ResourceLocation FULL_STREAM_COMPRESSION = ResourceLocation . fromNamespaceAndPath ( "fireblanket" , "full_stream_compression" );
71- public static final ResourceLocation REGIONS_UPDATE = ResourceLocation . fromNamespaceAndPath ( "fireblanket" , "regions_update" );
68+ public static final Identifier BATCHED_BE_UPDATE = FireblanketConstants . id ( "batched_be_sync" );
69+ public static final Identifier BATCHED_VELOCITY_SYNC = FireblanketConstants . id ( "batched_velocity_sync" );
70+ public static final Identifier FULL_STREAM_COMPRESSION = FireblanketConstants . id ( "full_stream_compression" );
71+ public static final Identifier REGIONS_UPDATE = FireblanketConstants . id ( "regions_update" );
7272
7373 /**
7474 * Whether new entities will be fixed.
7575 *
7676 * @see net.modfest.fireblanket.mixin.entity_immutability
7777 */
78- public static final GameRules .Key <GameRules .BooleanValue > NEW_ENTITIES_IMMUTABLE =
79- GameRuleRegistry .register ("newEntitiesImmutable" , GameRules .Category .MOBS , GameRuleFactory .createBooleanRule (true ));
78+ public static final GameRule <Boolean > NEW_ENTITIES_IMMUTABLE =
79+ GameRuleBuilder .forBoolean (true )
80+ .category (GameRuleCategory .MOBS )
81+ .buildAndRegister (FireblanketConstants .id ("new_entities_immutable" ));
8082
8183 /**
8284 * How far lightning may be observed. Setting this to 0 disables lightning outright.
8385 */
84- public static final GameRules .Key <GameRules .IntegerValue > LIGHTNING_BROADCAST_RADIUS =
85- GameRuleRegistry .register ("fireblanket:lightningBroadcastRadius" , GameRules .Category .UPDATES , GameRuleFactory .createIntRule (-1 , -1 ));
86+ public static final GameRule <Integer > LIGHTNING_BROADCAST_RADIUS =
87+ GameRuleBuilder .forInteger (-1 )
88+ .range (-1 , Integer .MAX_VALUE )
89+ .category (GameRuleCategory .UPDATES )
90+ .buildAndRegister (FireblanketConstants .id ("lightning_broadcast_radius" ));
8691
8792 public static final Logger LOGGER = LoggerFactory .getLogger ("Fireblanket" );
8893
@@ -97,7 +102,7 @@ public record QueuedPacket(Connection conn, Packet<?> packet, ChannelFutureListe
97102 public static boolean CAN_USE_ZSTD = false ;
98103 public static boolean IS_FIREBLANKET_SERVER = false ;
99104
100- public static final TicketType KEEP_LOADED = Registry .register (BuiltInRegistries .TICKET_TYPE , "fireblanket:keep_loaded" , new TicketType (0L , true , TicketType .TicketUse . LOADING ));
105+ public static final TicketType KEEP_LOADED = Registry .register (BuiltInRegistries .TICKET_TYPE , "fireblanket:keep_loaded" , new TicketType (0L , TicketType .FLAG_LOADING ));
101106
102107 @ Override
103108 public void onInitialize () {
@@ -175,17 +180,17 @@ public void onInitialize() {
175180 }
176181
177182 // Networking
178- PayloadTypeRegistry .playS2C ().register (BatchedBEUpdatePayload .ID , BatchedBEUpdatePayload .CODEC );
179- PayloadTypeRegistry .playS2C ().register (BatchedEntityVelocityUpdatePacket .ID , BatchedEntityVelocityUpdatePacket .CODEC );
180- PayloadTypeRegistry .playS2C ().register (CommandBlockPacket .ID , CommandBlockPacket .CODEC );
181- PayloadTypeRegistry .playS2C ().register (RegionSyncRequest .ID , RegionSyncRequest .CODEC );
183+ PayloadTypeRegistry .clientboundPlay ().register (BatchedBEUpdatePayload .ID , BatchedBEUpdatePayload .CODEC );
184+ PayloadTypeRegistry .clientboundPlay ().register (BatchedEntityVelocityUpdatePacket .ID , BatchedEntityVelocityUpdatePacket .CODEC );
185+ PayloadTypeRegistry .clientboundPlay ().register (CommandBlockPacket .ID , CommandBlockPacket .CODEC );
186+ PayloadTypeRegistry .clientboundPlay ().register (RegionSyncRequest .ID , RegionSyncRequest .CODEC );
182187
183188 if (CAN_USE_ZSTD ) {
184189 LOGGER .info ("Enabling full-stream compression" );
185- ServerLoginConnectionEvents .QUERY_START .addPhaseOrdering (ResourceLocation .parse ("fireblanket:pre" ), Event .DEFAULT_PHASE );
186- ServerLoginConnectionEvents .QUERY_START .register (ResourceLocation .parse ("fireblanket:pre" ), (handler , server , sender , synchronizer ) -> {
190+ ServerLoginConnectionEvents .QUERY_START .addPhaseOrdering (Identifier .parse ("fireblanket:pre" ), Event .DEFAULT_PHASE );
191+ ServerLoginConnectionEvents .QUERY_START .register (Identifier .parse ("fireblanket:pre" ), (handler , server , sender , synchronizer ) -> {
187192 if (!server .isSingleplayer ()) {
188- sender .sendPacket (FULL_STREAM_COMPRESSION , PacketByteBufs .empty ());
193+ sender .sendPacket (FULL_STREAM_COMPRESSION , FriendlyByteBufs .empty ());
189194 }
190195 });
191196 }
@@ -202,9 +207,9 @@ public void onInitialize() {
202207
203208 PlayerRolesCompat .init ();
204209
205- ServerWorldEvents .LOAD .register ((server , world ) -> {
210+ ServerLevelEvents .LOAD .register ((server , world ) -> {
206211 if (FireblanketConfig .get (ConfigSpecs .FORCED_LOAD_RADIUS ) > 0 ) {
207- if (!world .dimension ().location ().toString ().equals ("minecraft:overworld" )) return ;
212+ if (!world .dimension ().identifier ().toString ().equals ("minecraft:overworld" )) return ;
208213 int radius = FireblanketConfig .get (ConfigSpecs .FORCED_LOAD_RADIUS );
209214 int min = (int ) Math .floor (-radius / 16 );
210215 int max = (int ) Math .ceil (radius / 16 );
@@ -236,7 +241,7 @@ public void onInitialize() {
236241 fullRegionSync (handler .player .level (), sender ::sendPacket );
237242 });
238243
239- ServerEntityWorldChangeEvents . AFTER_PLAYER_CHANGE_WORLD .register ((player , origin , destination ) -> {
244+ ServerEntityLevelChangeEvents . AFTER_PLAYER_CHANGE_LEVEL .register ((player , origin , destination ) -> {
240245 fullRegionSync (player .level (), player .connection ::send );
241246 });
242247 }
@@ -249,7 +254,7 @@ public static void fullRegionSync(ServerLevel world, Consumer<Packet<?>> sender)
249254 } else {
250255 req = regions .toPacket ();
251256 }
252- sender .accept (ServerPlayNetworking .createS2CPacket (req ));
257+ sender .accept (ServerPlayNetworking .createClientboundPacket (req ));
253258 }
254259
255260 public static LinkedBlocQueue <QueuedPacket > getNextQueue () {
0 commit comments