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.
- {rustplus-5.6.17/rustplus.egg-info → rustplus-5.6.18}/PKG-INFO +2 -2
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/__init__.py +1 -1
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/rust_api.py +25 -1
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/rust_utils.py +34 -0
- {rustplus-5.6.17 → rustplus-5.6.18/rustplus.egg-info}/PKG-INFO +2 -2
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/requires.txt +1 -1
- {rustplus-5.6.17 → rustplus-5.6.18}/LICENSE +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/MANIFEST.in +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/README.md +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/base_rust_api.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/airfield.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/arctic_base.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/bandit.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/barn.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/cargo.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/chinook.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/chinook_blades.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/crate.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/desert_base.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/dome.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/excavator.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/explosion.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/ferryterminal.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/fishing.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/harbour.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/icon.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/junkyard.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/large_oil_rig.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/launchsite.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/lighthouse.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/military_tunnels.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_outpost.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_hqm.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_stone.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/mining_quarry_sulfur.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/missile_silo.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/outpost.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/oxums.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/patrol.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/power_plant.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/satellite.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/sewer.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/small_oil_rig.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/stables.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/supermarket.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/swamp.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/train.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/train_yard.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/underwater_lab.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/vending_machine.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/icons/water_treatment.png +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_constants.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_manager.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/camera_parser.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/camera/structures.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/event_handler.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/event_loop_manager.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/events.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/handler_list.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/map_event_listener.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/events/registered_listener.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/fcm_listener.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/heartbeat.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/ratelimiter.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rplus_version_handler.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rust_remote_interface.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustplus_proto/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustplus_proto/rustplus.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/rustws.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/remote/server_checker.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_chat_message.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_contents.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_entity_info.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_info.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_item.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_map.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_marker.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_team_info.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/rust_time.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/serialization.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/api/structures/util.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_data.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_handler.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/commands/command_options.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation_factory.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/conversation/conversation_prompt.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/exceptions/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/exceptions/exceptions.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/deprecated.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/emojis.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/fonts/PermanentMarker.ttf +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/fonts/__init__.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/grab_items.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/server_id.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus/utils/yielding_event.py +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/SOURCES.txt +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/dependency_links.txt +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/rustplus.egg-info/top_level.txt +0 -0
- {rustplus-5.6.17 → rustplus-5.6.18}/setup.cfg +0 -0
- {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.
|
|
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.
|
|
15
|
+
Requires-Dist: rustPlusPushReceiver==0.6.0
|
|
16
16
|
Requires-Dist: http-ece
|
|
17
17
|
Requires-Dist: requests
|
|
18
18
|
Requires-Dist: numpy
|
|
@@ -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.
|
|
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.
|
|
15
|
+
Requires-Dist: rustPlusPushReceiver==0.6.0
|
|
16
16
|
Requires-Dist: http-ece
|
|
17
17
|
Requires-Dist: requests
|
|
18
18
|
Requires-Dist: numpy
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|