mcserver-cli 4.0.0__tar.gz → 4.2.0__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 (76) hide show
  1. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/CHANGELOG.md +16 -1
  2. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/NOTES.txt +5 -0
  3. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/PKG-INFO +1 -2
  4. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/README.md +0 -1
  5. mcserver_cli-4.2.0/src/mcserver/__init__.py +1 -0
  6. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/search.py +12 -16
  7. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/shared.py +1 -1
  8. mcserver_cli-4.0.0/src/mcserver/__init__.py +0 -1
  9. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/.gitignore +0 -0
  10. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/CONTRIBUTING.md +0 -0
  11. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/LICENSE +0 -0
  12. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/legacy/mcserver_v2.0.0.py +0 -0
  13. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/pyproject.toml +0 -0
  14. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/__main__.py +0 -0
  15. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/__main__.py +0 -0
  16. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/app.py +0 -0
  17. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/caching.py +0 -0
  18. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/cli.py +0 -0
  19. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/__init__.py +0 -0
  20. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/add.py +0 -0
  21. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/import_setup.py +0 -0
  22. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/init.py +0 -0
  23. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/list_projects.py +0 -0
  24. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/op_grant.py +0 -0
  25. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/op_list.py +0 -0
  26. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/op_revoke.py +0 -0
  27. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/print_help.py +0 -0
  28. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/remove_projects.py +0 -0
  29. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/server_status.py +0 -0
  30. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/show.py +0 -0
  31. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/start.py +0 -0
  32. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/stop.py +0 -0
  33. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/update_projects.py +0 -0
  34. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/whitelist_add.py +0 -0
  35. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/whitelist_list.py +0 -0
  36. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/commands/whitelist_remove.py +0 -0
  37. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/config.py +0 -0
  38. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/constants.py +0 -0
  39. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/fabricmc/meta.py +0 -0
  40. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/legacy_fabric/meta.py +0 -0
  41. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/metadata.py +0 -0
  42. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/minecraft/api.py +0 -0
  43. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/minecraft/player_identity.py +0 -0
  44. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/apis/__init__.py +0 -0
  45. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/apis/get_project_informations.py +0 -0
  46. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/apis/get_project_versions.py +0 -0
  47. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/apis/search_projects.py +0 -0
  48. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/constants.py +0 -0
  49. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/modpack.py +0 -0
  50. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/paths.py +0 -0
  51. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/project_records.py +0 -0
  52. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/projects.py +0 -0
  53. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/shared.py +0 -0
  54. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/slug_index.py +0 -0
  55. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/typings/__init__.py +0 -0
  56. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/typings/project_information.py +0 -0
  57. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/typings/project_version.py +0 -0
  58. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/typings/search_projects.py +0 -0
  59. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/modrinth/typings/shared.py +0 -0
  60. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/mojang/eula.py +0 -0
  61. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/mojang/manifest.py +0 -0
  62. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/mysterious.py +0 -0
  63. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/networking.py +0 -0
  64. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/papermc/api.py +0 -0
  65. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/paths.py +0 -0
  66. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/purpurmc/api.py +0 -0
  67. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/quiltmc/meta.py +0 -0
  68. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/resolver.py +0 -0
  69. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/banned_ips.py +0 -0
  70. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/banned_players.py +0 -0
  71. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/ops.py +0 -0
  72. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/properties.py +0 -0
  73. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/usercaches.py +0 -0
  74. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/server_files/whitelist.py +0 -0
  75. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/src/mcserver/state.py +0 -0
  76. {mcserver_cli-4.0.0 → mcserver_cli-4.2.0}/zip_app.py +0 -0
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [4.2.0] - 2026-11-02
9
+
10
+ ### Changed
11
+
12
+ - Reorder the `search` error message between 0 result and page is smaller than asked
13
+
14
+ ## [4.1.0] - 2026-11-02
15
+
16
+ ### Fixed
17
+
18
+ - `search` now say "No environment"
19
+ - `search` correctly use the appropiate project type for the homepage
20
+
8
21
  ## [4.0.0] - 2026-10-31
9
22
 
10
23
  ### Added
@@ -215,7 +228,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
215
228
  - Better mod conflict error
216
229
  - Faster mod resolving
217
230
 
218
- [unreleased]: https://github.com/Othecat35/MCServer/compare/v4.0.0...HEAD
231
+ [unreleased]: https://github.com/Othecat35/MCServer/compare/v4.2.0...HEAD
232
+ [4.2.0]: https://github.com/Othecat35/MCServer/compare/v4.0.0...v4.1.0
233
+ [4.1.0]: https://github.com/Othecat35/MCServer/compare/v4.0.0...v4.1.0
219
234
  [4.0.0]: https://github.com/Othecat35/MCServer/compare/v3.0.0...v4.0.0
220
235
  [3.0.0]: https://github.com/Othecat35/MCServer/compare/v2.0.0...v3.0.0
221
236
  [2.0.0]: https://github.com/Othecat35/MCServer/compare/v1.13.16...v2.0.0
@@ -1,3 +1,6 @@
1
+ Pls don't feed my creation to AI ;>
2
+
3
+
1
4
  A file where I dumped ideas for this project.
2
5
 
3
6
  CLI Commands:
@@ -386,3 +389,5 @@ hmmm yes, global .mcserver config, just like cache.
386
389
  it can be the default config of all your new Minecraft server derived from
387
390
  and yea
388
391
 
392
+
393
+ 2026-11-01, let's start not using AI?
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mcserver-cli
3
- Version: 4.0.0
3
+ Version: 4.2.0
4
4
  Summary: A CLI tool to manage Minecraft: Java Edition servers.
5
5
  Project-URL: Homepage, https://github.com/Othecat35/MCServer
6
6
  Project-URL: Repository, https://github.com/Othecat35/MCServer.git
@@ -69,4 +69,3 @@ mcserver stop
69
69
 
70
70
  ## Note
71
71
  This is a **Personal Project**, things may be unstable.
72
- Please do not feed my creation into AI :>
@@ -56,4 +56,3 @@ mcserver stop
56
56
 
57
57
  ## Note
58
58
  This is a **Personal Project**, things may be unstable.
59
- Please do not feed my creation into AI :>
@@ -0,0 +1 @@
1
+ __version__ = "4.2.0"
@@ -60,12 +60,11 @@ def search(args: Namespace) -> int:
60
60
  )
61
61
 
62
62
  if game_version is None or loader_name is None:
63
- server_default_config = default_configs["server"]
64
63
  server_config_path = paths.configs_dir / "server.json"
65
64
 
66
65
  if server_config_path.exists():
67
66
  server_config = config.read_config(
68
- "server", server_default_config["format_version"]
67
+ "server", default_configs["server"]["format_version"]
69
68
  )
70
69
  if game_version is None and "game_version" in server_config:
71
70
  game_version = server_config["game_version"]
@@ -112,14 +111,8 @@ def search(args: Namespace) -> int:
112
111
  if loader_name is not None:
113
112
  search_facets.append([f"project_type:{project_label}"])
114
113
  search_facets.append([f"categories:{loader_name}"])
115
-
116
- # Searching for mods| with 'thdilos-fox-origin'| for| Minecraft 1.20.1,| Fabric| sorted by relevance...
117
- # Searching for plugins with 'skinsrestorer' for Minecraft 1.20.1, Paper sorted by downloads...
118
- # Searching for mods with 'thdilos-fox-origin' for Fabric sorted by relevance...
119
- # Searching for mods for Fabric sorted by relevance...
120
- # Searching for mods for Minecraft 1.20.1, Fabric sorted by relevance...
121
- # Searching for mod for Minecraft 1.20.1, Fabric sorted by relevance...
122
- # Wait, I don't really support datapack for now. no searching for vanilla lol
114
+ else:
115
+ search_facets.append(["project_type:mod","project_type:plugin"])
123
116
 
124
117
  search_info = f"Searching {pluralize(project_label, search_limit)}"
125
118
  if search_query:
@@ -146,16 +139,16 @@ def search(args: Namespace) -> int:
146
139
 
147
140
  search_hits = search_result["search_hits"]
148
141
 
142
+ if search_result["total_hits"] == 0:
143
+ logger.error(f"No {project_label} found.")
144
+ return 1
145
+
149
146
  if page_number > total_pages:
150
147
  logger.error(
151
148
  f"Page number is larger than total pages of {total_pages} available"
152
149
  )
153
150
  return 1
154
151
 
155
- if search_result["total_hits"] == 0:
156
- logger.error(f"No {project_label} found.")
157
- return 1
158
-
159
152
  logger.info(
160
153
  f"Showing {len(search_hits)} {pluralize(project_label, len(search_hits))} out of {total_hits:,} {pluralize(project_label, total_hits)} (Page {page_number} out of {total_pages})"
161
154
  )
@@ -164,7 +157,10 @@ def search(args: Namespace) -> int:
164
157
  slug_or_id = hit["project_slug"] if "project_slug" in hit else hit["project_id"]
165
158
  project_author = f"by {hit['author_username']}"
166
159
 
167
- environments = hit["environments"]
160
+ environments: list[Environment] = hit["environments"]
161
+ if len(environments) == 0:
162
+ environments.append("No environment")
163
+
168
164
  readable_environments: list[str] = []
169
165
  for environment in environments:
170
166
  readable_environments.append(project_environment_name(environment))
@@ -176,7 +172,7 @@ def search(args: Namespace) -> int:
176
172
  print(
177
173
  f"> {', '.join(readable_environments)}"
178
174
  )
179
- print(f"> https://modrinth.com/{hit['project_type']}/{slug_or_id}")
175
+ print(f"> https://modrinth.com/{hit['all_project_types'][0]}/{slug_or_id}")
180
176
  print(
181
177
  f" {hit['short_description']}"
182
178
  )
@@ -245,7 +245,7 @@ def project_environment_name(project_environment):
245
245
  "singleplayer_only": "Singleplayer only",
246
246
  }
247
247
 
248
- return project_environments[project_environment]
248
+ return project_environments.get(project_environment, project_environment)
249
249
 
250
250
 
251
251
  def print_status(message: str, dynamic: str | None = None):
@@ -1 +0,0 @@
1
- __version__ = "4.0.0"
File without changes
File without changes
File without changes