rustplus 5.6.17__tar.gz → 5.6.18__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 (111) hide show
  1. {rustplus-5.6.17/rustplus.egg-info → rustplus-5.6.18}/PKG-INFO +2 -2
  2. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/__init__.py +1 -1
  3. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/rust_api.py +25 -1
  4. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/rust_utils.py +34 -0
  5. {rustplus-5.6.17 → rustplus-5.6.18/rustplus.egg-info}/PKG-INFO +2 -2
  6. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/requires.txt +1 -1
  7. {rustplus-5.6.17 → rustplus-5.6.18}/LICENSE +0 -0
  8. {rustplus-5.6.17 → rustplus-5.6.18}/MANIFEST.in +0 -0
  9. {rustplus-5.6.17 → rustplus-5.6.18}/README.md +0 -0
  10. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/__init__.py +0 -0
  11. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/base_rust_api.py +0 -0
  12. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/__init__.py +0 -0
  13. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/airfield.png +0 -0
  14. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/arctic_base.png +0 -0
  15. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/bandit.png +0 -0
  16. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/barn.png +0 -0
  17. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/cargo.png +0 -0
  18. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/chinook.png +0 -0
  19. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/chinook_blades.png +0 -0
  20. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/crate.png +0 -0
  21. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/desert_base.png +0 -0
  22. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/dome.png +0 -0
  23. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/excavator.png +0 -0
  24. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/explosion.png +0 -0
  25. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/ferryterminal.png +0 -0
  26. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/fishing.png +0 -0
  27. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/harbour.png +0 -0
  28. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/icon.png +0 -0
  29. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/junkyard.png +0 -0
  30. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/large_oil_rig.png +0 -0
  31. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/launchsite.png +0 -0
  32. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/lighthouse.png +0 -0
  33. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/military_tunnels.png +0 -0
  34. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_outpost.png +0 -0
  35. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_hqm.png +0 -0
  36. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_stone.png +0 -0
  37. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_sulfur.png +0 -0
  38. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/missile_silo.png +0 -0
  39. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/outpost.png +0 -0
  40. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/oxums.png +0 -0
  41. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/patrol.png +0 -0
  42. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/power_plant.png +0 -0
  43. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/satellite.png +0 -0
  44. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/sewer.png +0 -0
  45. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/small_oil_rig.png +0 -0
  46. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/stables.png +0 -0
  47. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/supermarket.png +0 -0
  48. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/swamp.png +0 -0
  49. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/train.png +0 -0
  50. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/train_yard.png +0 -0
  51. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/underwater_lab.png +0 -0
  52. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/vending_machine.png +0 -0
  53. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/water_treatment.png +0 -0
  54. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/__init__.py +0 -0
  55. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/__init__.py +0 -0
  56. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_constants.py +0 -0
  57. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_manager.py +0 -0
  58. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_parser.py +0 -0
  59. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/structures.py +0 -0
  60. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/__init__.py +0 -0
  61. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/event_handler.py +0 -0
  62. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/event_loop_manager.py +0 -0
  63. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/events.py +0 -0
  64. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/handler_list.py +0 -0
  65. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/map_event_listener.py +0 -0
  66. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/registered_listener.py +0 -0
  67. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/fcm_listener.py +0 -0
  68. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/heartbeat.py +0 -0
  69. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/ratelimiter.py +0 -0
  70. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rplus_version_handler.py +0 -0
  71. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rust_remote_interface.py +0 -0
  72. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustplus_proto/__init__.py +0 -0
  73. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustplus_proto/rustplus.py +0 -0
  74. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustws.py +0 -0
  75. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/server_checker.py +0 -0
  76. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/__init__.py +0 -0
  77. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_chat_message.py +0 -0
  78. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_contents.py +0 -0
  79. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_entity_info.py +0 -0
  80. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_info.py +0 -0
  81. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_item.py +0 -0
  82. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_map.py +0 -0
  83. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_marker.py +0 -0
  84. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_team_info.py +0 -0
  85. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_time.py +0 -0
  86. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/serialization.py +0 -0
  87. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/util.py +0 -0
  88. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/__init__.py +0 -0
  89. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command.py +0 -0
  90. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_data.py +0 -0
  91. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_handler.py +0 -0
  92. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_options.py +0 -0
  93. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/__init__.py +0 -0
  94. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation.py +0 -0
  95. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation_factory.py +0 -0
  96. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation_prompt.py +0 -0
  97. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/exceptions/__init__.py +0 -0
  98. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/exceptions/exceptions.py +0 -0
  99. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/__init__.py +0 -0
  100. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/deprecated.py +0 -0
  101. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/emojis.py +0 -0
  102. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/fonts/PermanentMarker.ttf +0 -0
  103. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/fonts/__init__.py +0 -0
  104. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/grab_items.py +0 -0
  105. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/server_id.py +0 -0
  106. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/yielding_event.py +0 -0
  107. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/SOURCES.txt +0 -0
  108. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/dependency_links.txt +0 -0
  109. {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/top_level.txt +0 -0
  110. {rustplus-5.6.17 → rustplus-5.6.18}/setup.cfg +0 -0
  111. {rustplus-5.6.17 → rustplus-5.6.18}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rustplus
3
- Version: 5.6.17
3
+ Version: 5.6.18
4
4
  Summary: A python wrapper for the Rust Plus API
5
5
  Home-page: https://github.com/olijeffers0n/rustplus
6
6
  Author: olijeffers0n
@@ -12,7 +12,7 @@ License-File: LICENSE
12
12
  Requires-Dist: websockets
13
13
  Requires-Dist: Pillow
14
14
  Requires-Dist: asyncio
15
- Requires-Dist: rustPlusPushReceiver==0.4.1
15
+ Requires-Dist: rustPlusPushReceiver==0.6.0
16
16
  Requires-Dist: http-ece
17
17
  Requires-Dist: requests
18
18
  Requires-Dist: numpy
@@ -22,5 +22,5 @@ from .utils import *
22
22
 
23
23
  __name__ = "rustplus"
24
24
  __author__ = "olijeffers0n"
25
- __version__ = "5.6.17"
25
+ __version__ = "5.6.18"
26
26
  __support__ = "Discord: https://discord.gg/nQqJe8qvP8"
@@ -37,6 +37,7 @@ from ..utils import (
37
37
  translate_id_to_stack,
38
38
  deprecated,
39
39
  generate_grid,
40
+ avatar_processing,
40
41
  )
41
42
 
42
43
 
@@ -168,6 +169,7 @@ class RustSocket(BaseRustSocket):
168
169
  add_icons: bool = False,
169
170
  add_events: bool = False,
170
171
  add_vending_machines: bool = False,
172
+ add_team_positions: bool = False,
171
173
  override_images: dict = None,
172
174
  add_grid: bool = False,
173
175
  ) -> Image.Image:
@@ -181,7 +183,7 @@ class RustSocket(BaseRustSocket):
181
183
  + (
182
184
  1
183
185
  if [add_icons, add_events, add_vending_machines].count(True) >= 1
184
- else 0
186
+ else 0 + 1 if add_team_positions else 0
185
187
  )
186
188
  )
187
189
 
@@ -271,6 +273,28 @@ class RustSocket(BaseRustSocket):
271
273
  (int(marker.x) - 50, map_size - int(marker.y) - 50),
272
274
  vending_machine,
273
275
  )
276
+ if add_team_positions:
277
+ team = await self.get_team_info()
278
+ for member in team.members:
279
+ if member.is_alive:
280
+ avatar = (
281
+ Image.open(
282
+ requests.get(
283
+ f"https://companion-rust.facepunch.com/api/avatar/{member.steam_id}",
284
+ stream=True,
285
+ ).raw
286
+ )
287
+ .resize((100, 100), Image.LANCZOS)
288
+ .convert("RGBA")
289
+ )
290
+
291
+ player_avatar = avatar_processing(avatar, 5, member.is_online)
292
+
293
+ game_map.paste(
294
+ player_avatar,
295
+ (format_coord(int(member.x), int(member.y), map_size)),
296
+ player_avatar,
297
+ )
274
298
 
275
299
  return game_map.resize((2000, 2000), Image.LANCZOS)
276
300
 
@@ -11,6 +11,9 @@ ICONS_PATH = "rustplus.api.icons"
11
11
  FONT_PATH = "rustplus.utils.fonts"
12
12
  GRID_DIAMETER = 146.28571428571428
13
13
 
14
+ PLAYER_MARKER_ONLINE_COLOR = (201, 242, 155, 255)
15
+ PLAYER_MARKER_OFFLINE_COLOR = (128, 128, 128, 255)
16
+
14
17
 
15
18
  def format_time(protobuf: AppMessage) -> RustTime:
16
19
  def convert_time(time) -> str:
@@ -261,3 +264,34 @@ def generate_grid(
261
264
  d.text(text_pos, text, fill=color, font=font)
262
265
 
263
266
  return img
267
+
268
+
269
+ def avatar_processing(
270
+ image: Image.Image, border_size: int, player_online: bool = False
271
+ ) -> Image.Image:
272
+ size_with_border = (
273
+ image.size[0] + 2 * border_size,
274
+ image.size[1] + 2 * border_size,
275
+ )
276
+
277
+ border_image = Image.new("RGBA", size_with_border, (0, 0, 0, 0))
278
+
279
+ mask = Image.new("L", size_with_border, 0)
280
+ draw = ImageDraw.Draw(mask)
281
+
282
+ draw.ellipse([0, 0, size_with_border[0], size_with_border[1]], fill=255)
283
+
284
+ border_layer = Image.new(
285
+ "RGBA",
286
+ size_with_border,
287
+ PLAYER_MARKER_ONLINE_COLOR if player_online else PLAYER_MARKER_OFFLINE_COLOR,
288
+ )
289
+ border_image.paste(border_layer, mask=mask)
290
+
291
+ image_mask = Image.new("L", image.size, 0)
292
+ draw = ImageDraw.Draw(image_mask)
293
+ draw.ellipse([0, 0, image.size[0], image.size[1]], fill=255)
294
+
295
+ border_image.paste(image, (border_size, border_size), image_mask)
296
+
297
+ return border_image
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rustplus
3
- Version: 5.6.17
3
+ Version: 5.6.18
4
4
  Summary: A python wrapper for the Rust Plus API
5
5
  Home-page: https://github.com/olijeffers0n/rustplus
6
6
  Author: olijeffers0n
@@ -12,7 +12,7 @@ License-File: LICENSE
12
12
  Requires-Dist: websockets
13
13
  Requires-Dist: Pillow
14
14
  Requires-Dist: asyncio
15
- Requires-Dist: rustPlusPushReceiver==0.4.1
15
+ Requires-Dist: rustPlusPushReceiver==0.6.0
16
16
  Requires-Dist: http-ece
17
17
  Requires-Dist: requests
18
18
  Requires-Dist: numpy
@@ -1,7 +1,7 @@
1
1
  websockets
2
2
  Pillow
3
3
  asyncio
4
- rustPlusPushReceiver==0.4.1
4
+ rustPlusPushReceiver==0.6.0
5
5
  http-ece
6
6
  requests
7
7
  numpy
File without changes
File without changes
File without changes
File without changes
File without changes