File tree Expand file tree Collapse file tree
src/main/java/com/mmodding/mmodding_lib Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,6 +28,11 @@ public static void toggleEntityWatcher(Entity entity) {
2828 }
2929 }
3030
31+ // Used by the integrated server.
32+ public static void removeEntityWatcher (Entity entity ) {
33+ WatcherManager .ENTITY_WATCHERS .remove (entity .getUuid ());
34+ }
35+
3136 // Used by the client.
3237 public static Set <Map .Entry <UUID , WatcherProvider >> getEntries () {
3338 return WatcherManager .ENTITY_WATCHERS .entrySet ();
Original file line number Diff line number Diff line change 66import com .mmodding .mmodding_lib .ducks .PortalForcerDuckInterface ;
77import com .mmodding .mmodding_lib .ducks .ServerPlayerDuckInterface ;
88import com .mmodding .mmodding_lib .interface_injections .EntitySyncableDataRegistry ;
9+ import com .mmodding .mmodding_lib .library .debug .WatcherManager ;
910import com .mmodding .mmodding_lib .library .entities .data .syncable .SyncableData ;
1011import com .mmodding .mmodding_lib .library .portals .squared .CustomSquaredPortal ;
1112import com .mmodding .mmodding_lib .library .portals .squared .CustomSquaredPortalBlock ;
1617import net .minecraft .entity .EntityDimensions ;
1718import net .minecraft .entity .EntityPose ;
1819import net .minecraft .server .MinecraftServer ;
20+ import net .minecraft .server .integrated .IntegratedServer ;
1921import net .minecraft .server .network .ServerPlayerEntity ;
2022import net .minecraft .server .world .ServerWorld ;
2123import net .minecraft .state .property .Properties ;
@@ -139,6 +141,13 @@ private float changeVelocityMultiplier(float original) {
139141 return original ;
140142 }
141143
144+ @ Inject (method = "remove" , at = @ At ("HEAD" ))
145+ private void remove (Entity .RemovalReason reason , CallbackInfo ci ) {
146+ if (this .getWorld () instanceof ServerWorld serverWorld && serverWorld .getServer () instanceof IntegratedServer ) {
147+ WatcherManager .removeEntityWatcher ((Entity ) (Object ) this );
148+ }
149+ }
150+
142151 @ Override
143152 public SyncableData .Registry getSyncableDataRegistry () {
144153 return this .syncableDataRegistry ;
You can’t perform that action at this time.
0 commit comments