hungerlib 4.22__tar.gz → 4.23.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. {hungerlib-4.22/src/hungerlib.egg-info → hungerlib-4.23.dev2}/PKG-INFO +1 -1
  2. {hungerlib-4.22 → hungerlib-4.23.dev2}/pyproject.toml +1 -1
  3. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/servers/minecraft.py +32 -4
  4. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/utils/utils.py +2 -2
  5. {hungerlib-4.22 → hungerlib-4.23.dev2/src/hungerlib.egg-info}/PKG-INFO +1 -1
  6. {hungerlib-4.22 → hungerlib-4.23.dev2}/LICENSE +0 -0
  7. {hungerlib-4.22 → hungerlib-4.23.dev2}/README.md +0 -0
  8. {hungerlib-4.22 → hungerlib-4.23.dev2}/setup.cfg +0 -0
  9. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/__init__.py +0 -0
  10. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/__init__.py +0 -0
  11. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/backups.py +0 -0
  12. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/command.py +0 -0
  13. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/databases.py +0 -0
  14. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/filemanager.py +0 -0
  15. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/schedule.py +0 -0
  16. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/api/startup.py +0 -0
  17. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/bridgeclient.py +0 -0
  18. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/configloader.py +0 -0
  19. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/messagerouter.py +0 -0
  20. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/panel.py +0 -0
  21. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/servers/__init__.py +0 -0
  22. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/servers/generic.py +0 -0
  23. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/utils/__init__.py +0 -0
  24. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/utils/exceptions.py +0 -0
  25. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/utils/time.py +0 -0
  26. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib/validator.py +0 -0
  27. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib.egg-info/SOURCES.txt +0 -0
  28. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib.egg-info/dependency_links.txt +0 -0
  29. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib.egg-info/requires.txt +0 -0
  30. {hungerlib-4.22 → hungerlib-4.23.dev2}/src/hungerlib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 4.22
3
+ Version: 4.23.dev2
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "hungerlib"
10
- version = "4.22"
10
+ version = "4.23.dev2"
11
11
  description = "Powerful automation library for Pterodactyl."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.9"
@@ -16,7 +16,7 @@ class MinecraftServer(GenericServer):
16
16
  server_id: str,
17
17
  server_domain: str,
18
18
  server_port: int,
19
- bridge_port: int,
19
+ bridge_url: str,
20
20
  bridge_token: str,
21
21
  ):
22
22
  super().__init__(
@@ -30,10 +30,21 @@ class MinecraftServer(GenericServer):
30
30
  self.server_port = server_port
31
31
 
32
32
  # HungerBridge client
33
- bridge_url = f'http://{server_domain}:{bridge_port}'
34
33
  self.bridge = BridgeClient(bridge_url, bridge_token)
35
34
 
36
35
 
36
+ # basic information properties
37
+ @property
38
+ def bridge_version(self) -> str | None:
39
+ return self.bridge.getVersion()
40
+ @property
41
+ def version(self) -> str | None:
42
+ return self.bridge.getMinecraftVersion()
43
+ @property
44
+ def platform(self) -> str | None:
45
+ return self.bridge.getPlatform()
46
+
47
+
37
48
  def getPlayers(self, mode: str = 'count') -> int | list | None:
38
49
  '''Returns current online players'''
39
50
  if mode == 'count':
@@ -43,7 +54,15 @@ class MinecraftServer(GenericServer):
43
54
  else:
44
55
  raise InvalidModeError(f"Invalid mode: '{mode}'")
45
56
 
46
- def getMaxPlayers(self) -> int:
57
+ @property
58
+ def player_count(self) -> int:
59
+ return self.getPlayers(mode='count') or 0
60
+ @property
61
+ def player_list(self) -> list[str]:
62
+ return self.getPlayers('list') or []
63
+
64
+ @property
65
+ def max_players(self) -> int:
47
66
  '''
48
67
  Runs the 'list' command and extracts the max player count.
49
68
  Expected format:
@@ -63,7 +82,11 @@ class MinecraftServer(GenericServer):
63
82
 
64
83
  def getTPS(self, mode: str = 'current', rounding: int = 3) -> float | None:
65
84
  '''
66
- HungerBridge-native TPS getter
85
+ Returns TPS values:
86
+ - current: EMA20
87
+ - 1m: EMA1200
88
+ - 5m: EMA6000
89
+ - tick_time: avg tick time (ms)
67
90
  '''
68
91
  try:
69
92
  value = self.bridge.getTPS(mode)
@@ -73,6 +96,11 @@ class MinecraftServer(GenericServer):
73
96
  return None
74
97
  return round(value, rounding) if rounding is not None else value
75
98
 
99
+ @property
100
+ def tps(self) -> float | None:
101
+ return self.getTPS()
102
+
103
+
76
104
  # commands
77
105
  def sendConsoleCommand(
78
106
  self,
@@ -59,7 +59,7 @@ class Snapshot:
59
59
  self.network_in = smooth(samples['network_in'])
60
60
  self.network_out = smooth(samples['network_out'])
61
61
  self.tps = smooth(samples['tps'])
62
- self.players = smooth(samples['players'])
62
+ self.players = Server.getPlayers('count')
63
63
 
64
64
  # --- instant snapshot (no smoothing) ---
65
65
  else:
@@ -68,7 +68,7 @@ class Snapshot:
68
68
  self.network_in = Server.getNetworkIn(rounding, gb)
69
69
  self.network_out = Server.getNetworkOut(rounding, gb)
70
70
  self.tps = Server.getTPS() if hasattr(Server, 'getTPS') else None
71
- self.players = Server.getPlayers() if hasattr(Server, 'getPlayers') else None
71
+ self.players = Server.getPlayers('count')
72
72
 
73
73
  # uptime is static
74
74
  self.uptime = Server.getUptime()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hungerlib
3
- Version: 4.22
3
+ Version: 4.23.dev2
4
4
  Summary: Powerful automation library for Pterodactyl.
5
5
  Author: iFamished
6
6
  License: MIT
File without changes
File without changes
File without changes