Commit Graph

60 Commits

Author SHA1 Message Date
48275c543c InputPacket: Instead of checking for any state other than ACTIVE, it will check for the JOINING or AFK state before updating the state. 2022-06-08 12:51:43 +01:00
493c45cf6e OnLivingSetAttackTargetEventHandler: Checks for new grace states before cancelling event. 2022-06-08 12:50:43 +01:00
696feae22a OnPlayerDamageEventHandler: Removed old grace period time remaining check. 2022-06-08 12:49:24 +01:00
13b7bf6389 Event Handlers: added some whitespace. 2022-06-07 15:59:25 +01:00
091e148dcd ProtectedPlayerManager: State changes.
- Updated updateState method to fit in all current config options as well as the new grace states.
- Added Javadoc to startAfkTimer method.
- Removed old todo comments.
- Removed unnecessary state check in the afk timer task.
- Renamed startGracePeriod method to startGraceTimer. Added delay parameter. Updated Javadoc. Removed old grace period time initialization in the protected player. Rewrote the timer task to now just update the player state after the delay.
- Removed unnecessary check at the end of applyPostEffects to remove player if afk is disabled. This is now done in the updateState method.
2022-06-07 14:35:12 +01:00
1ad35ed9d9 ProtectedPlayer: Grace period changes.
- Removed old way of tracking how much time is left in the grace period.
- Added delay parameter to the setGracePeriodTimerTask method.
- Added two new States: LOGIN_GRACE and AFK_GRACE.
2022-06-07 14:29:30 +01:00
d9f68f6162 Updated Config.
- Removed old config options for the grace period and replaced them with separate options for a grace period after login and after afk.
- Changed naming convention for config file sections.
- Renamed config options IGNORE_PLAYER_ENABLED to MOBS_IGNORE_PLAYER.
- Added new config option for applying post effects after login.
2022-06-07 14:27:03 +01:00
f90ecc160a Changed setLastInputTick method in Client Proxy to a simpler updateLastInputTick method which doesn't need a parameter since it was only ever passed one value. 2022-06-06 13:12:29 +01:00
1e44d02789 Updated RequestLastInputTickPacket.
- Removed unnecessary default constructor.
- When handling the packet the client will first check if input is allowed which should update the last input tick if needs be before sending it to the server.
2022-06-06 13:06:27 +01:00
b38dc29f76 Rewrote OnClientInputEventHandler.
It now keeps track of whether any of configurable keys is pressed in or not. It also will now check whether any of the pressed keys are allowed or not before updating last input tick and sending an input packet. This was done to fix the issue of GLFW_REPEAT stopping after another key is typed. This will prevent a player from going afk while still moving after jumping etc.
2022-06-06 13:04:52 +01:00
d9a541ab5e Removed unnecessary constructor. 2022-06-05 16:18:01 +01:00
e7a8452898 Created a new packet for sending the last input tick to the server and deciding whether the player is afk or not. 2022-06-05 13:50:43 +01:00
09d38a6d1e Created new packet for requesting the last input tick from a client. 2022-06-05 13:50:05 +01:00
9134b4cbb6 Removed OnPlayerTickEventHandler and added client-sided last input tick field with getter and setter to proxy. 2022-06-05 13:49:17 +01:00
572e40f158 ProtectedPlayerManager adjustments and AFK timer.
- No longer adding a player that might not exist to then instantly remove them if they don't.
- Updated method calls to match new ones in ProtectedPlayer.
- Updated packet names to new ones.
- Grace period timer no longer cancels the timer but itself instead.
- Created new method for starting the afk timer for a player, starting a new afk timer whenever a player becomes active.
2022-06-05 13:47:36 +01:00
697522ca7d Changed ProtectedPlayer's timers.
-Removed lastInputTick field along with the getter and setter.
-Changed timer name and added two TimerTask fields for the grace period and afk.
-Changed the getter for the timer.
-Added new setters for both of the timer tasks.
2022-06-05 13:41:10 +01:00
26bb8bfb3b Changed packet names of existing packets. Registering two new packets to be made. 2022-06-05 13:38:12 +01:00
e13e0c378e Moved to new package for server to client packets. Renamed ServerPlayerStatePacket to PlayerStatePacket. 2022-06-05 13:35:17 +01:00
c3f62f182e Moved to new package for client to server packets. Renamed ClientInputPacket to InputPacket. 2022-06-05 13:34:51 +01:00
7f608a5374 Additionally, checking if player is active and afk protection is enabled before setting player as afk. 2022-05-24 02:19:35 +01:00
c03ef11d22 Fixed client not sending input packets when the key is not allowed. 2022-05-24 02:17:51 +01:00
0e6334e06e Created mixin config. 2022-05-24 02:16:56 +01:00
c194483b50 Created initial mixin for drawing the state text on screen. 2022-05-24 02:16:35 +01:00
59b73e2cd6 Added mixin support. 2022-05-24 02:16:07 +01:00
95d83882bd Registering new player tick event handler. 2022-05-24 00:30:59 +01:00
a609333f88 Created player tick event for setting player to afk. 2022-05-24 00:30:45 +01:00
fa0794bf13 Setting last input tick of a player when a player becomes active. 2022-05-24 00:29:39 +01:00
64a4c3331f Added a field, getter and setter for the last tick a player inputted anything. 2022-05-24 00:28:53 +01:00
7402973efb Lowered limit for the afk time threshold option as it needs to be converted into ticks later. 2022-05-24 00:26:27 +01:00
0aeb39fe7c Fixed damage event not cancelling when it should. 2022-05-24 00:00:46 +01:00
ef65fb7d9b Fixed net and mod version patterns being incorrect. 2022-05-24 00:00:14 +01:00
5d81f93a13 Sending player state to the client when added to protected players. 2022-05-23 23:59:40 +01:00
93dd59d693 Updated to use new ProtectedPlayerManager and new config options. 2022-05-22 03:18:34 +01:00
4195b7fbf4 Removed event handler for player tick since grace period is done with timers now. 2022-05-22 03:17:35 +01:00
213cc1604e Renamed and reworked the OnClientInputEventHandler to prevent pointless packets from being sent and for it to work with the afk allowed keys too. 2022-05-22 03:16:58 +01:00
d32f19c931 Registered new player state packet. 2022-05-22 03:16:01 +01:00
d0f6f432de Created new packet for sending the player state to the client. 2022-05-22 03:15:47 +01:00
cc987312ab Removing player from protected players if afk protection is disabled after applying effects and when the grace period runs out. Sending player state packet to player when it gets updated. 2022-05-22 03:15:09 +01:00
e88bdabd06 Added player state field with getter and setter to the Client Proxy. Registering events. 2022-05-22 03:13:38 +01:00
0472b8ecc5 Removed old network channel. 2022-05-21 21:17:19 +01:00
83f5423b92 Registered the ClientInputPacket. Added method to get the channel. 2022-05-21 21:16:57 +01:00
bdd67eae02 Renamed and reworked C2SKeyPress packet class. 2022-05-21 21:16:11 +01:00
a74a3b1290 Removed Registration class. 2022-05-21 21:15:20 +01:00
779f5a132d Removed old initialization of the protected player manager. Added methods for creating a resource location and getting the mod version. 2022-05-21 20:59:44 +01:00
e2bb99f280 Initializing the protected player manager whenever a server is started. This should help prevent any unwanted remnants from another server to be present on other servers. 2022-05-21 20:58:58 +01:00
babc73a8dc Renamed and rewrote the manager for protected players. Most protected player logic should now be handled by the manager. 2022-05-21 20:57:32 +01:00
c756ad9fa8 Rewrote the ProtectedPlayer class. 2022-05-21 20:56:28 +01:00
137b9cd670 Created a network manager for better implementation of network related content. 2022-05-21 20:55:46 +01:00
79a298a4ef Created a new exception for mismatched mod versions. 2022-05-21 20:55:38 +01:00
e0e75994ac Reduced the max value for the water, lava and fire duration options. Moved the KEYS enum. 2022-05-21 20:52:19 +01:00