=  zombie/savefile/PlayerDBinstanceLzombie/savefile/PlayerDB;  s_allowZ  ()V  java/lang/Object'zombie/savefile/PlayerDB$SQLPlayerStore   m_store'Lzombie/savefile/PlayerDB$IPlayerStore;gnu/trove/set/hash/TIntHashSet    m_usedIDs Lgnu/trove/set/hash/TIntHashSet;!*java/util/concurrent/ConcurrentLinkedQueue $ %& m_toThread,Ljava/util/concurrent/ConcurrentLinkedQueue; ( )& m_fromThread + , m_canSavePlayers.zombie/core/utils/UpdateLimit' -2 3(J)V 5 67m_saveToDBPeriodLzombie/core/utils/UpdateLimit; 9:; <=zombie/core/Core getInstance()Lzombie/core/Core; 9? @AisNoSave()Z C Dcreate FGH IJ%zombie/savefile/PlayerDB$IPlayerStoreinit#(Lgnu/trove/set/hash/TIntHashSet;)V L MNadd(I)ZPjava/lang/Exception RST UV"zombie/core/logger/ExceptionLogger logException(Ljava/lang/Throwable;)V X Y $assertionsDisabled [\] ^zombie/iso/WorldStreamerLzombie/iso/WorldStreamer; [` ab worldStreamerLjava/lang/Thread;djava/lang/AssertionError c g hupdateWorldStreamer j kAisEmpty Fm nReset p qclearsjava/lang/Integer v wNcontainsyjava/lang/RuntimeException{ ran out of unused players.db ids x} ~(Ljava/lang/String;)V poll()Ljava/lang/Object;#zombie/savefile/PlayerDB$PlayerData m_sqlIDI M(Ljava/lang/Object;)Z  m_forceSavePlayers - ACheck  savePlayersAsync  zombie/vehicles/VehiclesDB2Lzombie/vehicles/VehiclesDB2;  setForceSave F save((Lzombie/savefile/PlayerDB$PlayerData;)V  releasePlayerData  zombie/characters/IsoPlayersqlID   allocateID()I  allocPlayerData'()Lzombie/savefile/PlayerDB$PlayerData; setD(Lzombie/characters/IsoPlayer;)Lzombie/savefile/PlayerDB$PlayerData;  numPlayers players[Lzombie/characters/IsoPlayer;  savePlayerAsync (Lzombie/characters/IsoPlayer;)V acceptP(Lzombie/savefile/PlayerDB;)Lzombie/vehicles/VehiclesDB2$IImportPlayerFromOldDB; importPlayersFromOldDB7(Lzombie/vehicles/VehiclesDB2$IImportPlayerFromOldDB;)V  zombie/ZomboidFileSystemLzombie/ZomboidFileSystem; getCurrentSaveDir()Ljava/lang/String; java/io/File  separatorLjava/lang/String; makeConcatWithConstants9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String; } Aexists  zombie/iso/IsoWorldLzombie/iso/IsoWorld;  CurrentCellLzombie/iso/IsoCell; (Lzombie/iso/IsoCell;)V getAbsolutePath ~load Adelete F ((Lzombie/savefile/PlayerDB$PlayerData;)Z  m_byteBufferLjava/nio/ByteBuffer; m_WorldVersion  (Ljava/nio/ByteBuffer;I)V   m_isDead   getBodyDamage+()Lzombie/characters/BodyDamage/BodyDamage;     'zombie/characters/BodyDamage/BodyDamagesetOverallBodyHealth(F)V   setHealth  <()Lzombie/characters/IsoPlayer;  <zombie/iso/IsoCell()Lzombie/iso/IsoCell;   setInstance    loadPlayer!(ILzombie/characters/IsoPlayer;)Z " #$xF&zombie/iso/IsoChunkMapA ) *$y , -.ChunkMap[Lzombie/iso/IsoChunkMap; 0 1getPlayerIndex 3 4 saveoffsetx %6 7WorldX 9 : saveoffsety %< =WorldY?java/util/ArrayList > B CDexecuteT(Lzombie/savefile/PlayerDB;Ljava/util/ArrayList;)Lgnu/trove/procedure/TIntProcedure; F GHforEach&(Lgnu/trove/procedure/TIntProcedure;)Z FJ KloadEverythingExceptBytes M N$m_x %P QWorldXA S T$m_y %V WWorldYA Y Z$m_z %\ ]WorldZA %_ `aSWorldX[I %c daSWorldY > g hm_name j klsetBytes([B)V opq rsjava/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer; uvw xAjava/lang/ClassdesiredAssertionStatusz {|get()Ljava/util/function/Supplier; ~ java/lang/ThreadLocal withInitial6(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;  TL_SliceBufferLjava/lang/ThreadLocal;z  TL_Bytes INVALID_ID ConstantValueMIN_ID Signature.Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal<[B>;SLjava/util/concurrent/ConcurrentLinkedQueue;()Lzombie/savefile/PlayerDB;CodeLineNumberTable StackMapTablesetAllow(Z)VisAllow isAvailableclosejava/lang/Throwable updateMain Exceptions savePlayerssaveLocalPlayersForceimportPlayersFromVehiclesDBuploadLocalPlayers2DBjava/lang/StringloadLocalPlayergetAllLocalPlayers()Ljava/util/ArrayList;6()Ljava/util/ArrayList;loadLocalPlayerInfolambda$getAllLocalPlayers$3(Ljava/util/ArrayList;I)Z$lambda$importPlayersFromVehiclesDB$2(ILjava/lang/String;IIFFFI[BZ)V[Blambda$static$1()[Blambda$static$0()Ljava/nio/ByteBuffer; SourceFile PlayerDB.java NestMembersBootstrapMethods  "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;    $java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; map_p.binN       InnerClassesSQLPlayerStore IPlayerStore PlayerData2zombie/vehicles/VehiclesDB2$IImportPlayerFromOldDBIImportPlayerFromOldDB%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup1  %&)& , 67Y )<C Y p rt ! yz A~ A/  @ R**Y*Y* Y"#* Y"'***-Y/148>*B. fgh%i0k5lCLMQ MD`**E*KWL+QO YOTWZ_ cYe*fW*#i cYe*lL+Q*'o3<?O. 3<?@DKOS KOA*YL=t!*u*KW+ì+çN+-xYz|&2'/2252"#'-7 Df/*'L+ YLW+ cYe+ - /+*'+WZ(**#* *4**!'hE*#L+8*+*+M,Q*+ N*+-*#Lʱ!O.!&.2 !"&+.46D UOL 5++ +**M,+W*#,W N*,-),O2   ),-24OO*<#2M,*,N-QܱO*  # )GO;*** "$ %?*Z_*f)* ,.) *ű 2 Gm*ɶL=dOY+N-ݙ0Y:-*-W :QZ_*f,OROBKM NP%Q,U;VDWJXO]RZT\YN_ahcle$ DO  m*N-*-6*-,---,  , ,6*-:Q*- :*-RO"JROa"JaRYaacaVil moo"q.r5t=uBwGxJOxRzT|Y^ahk"OON NrM,YM,,S*,E,!'n>,('n6+/22h`5+/28h`;M,QgkO>&0;PfhklpJBO9>Y@L**+AEW+NX*M,*,Ix,LO,RU,X[O,2h`OU,8h`U^,L'nOb,R'nO^\.2h`Ob\.8h`O>*,*,N-Q*, :*,Ob '/=KYguGOL a&YN*- +-eW$  [*:  * L R X   ,f   i*  :  Q* ?JMO>35678$9+:1;8<??JDMAOCTEZF!M O c mnbb/tWy}}abc*d @F0*F