Repository navigation
Expand file tree
/
Copy pathmod_main.py
More file actions
65 lines (52 loc) · 1.95 KB
/
Copy pathmod_main.py
File metadata and controls
65 lines (52 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# coding=utf-8
#
from mod.common.mod import Mod
from mod_log import logger
from .internal import (
SetModName,
GetModName,
GetModServerEngineName,
GetModClientEngineName,
)
def RegisterMod():
def wrapper(cls):
# type: (type[ToolDeltaMod]) -> type[ToolDeltaMod]
if cls.name is None:
raise ValueError("mod name is None")
SetModName(cls.name)
return Mod.Binding(name=cls.name, version=cls.version_str())(cls) # pyright: ignore[reportOptionalCall]
return wrapper
class ToolDeltaMod(object):
name = None # type: str | None
version = (1, 0, 0) # type: tuple[int, int, int]
def __init__(self):
pass
def OnServerInited(self):
pass
def OnClientInited(self):
pass
@Mod.InitServer() # pyright: ignore[reportOptionalCall]
def _init_mod_server(self):
import mod.server.extraServerApi as serverApi
from .mod_server import ToolDeltaModServer
server_system_name = GetModServerEngineName()
server_system_path = (
ToolDeltaModServer.__module__ + "." + ToolDeltaModServer.__name__
)
serverApi.RegisterSystem(GetModName(), server_system_name, server_system_path)
self.OnServerInited()
logger.debug("ToolDelta: Mod server inited: " + server_system_name)
@Mod.InitClient() # pyright: ignore[reportOptionalCall]
def _init_mod_client(self):
import mod.client.extraClientApi as clientApi
from .mod_client import ToolDeltaModClient
client_system_name = GetModClientEngineName()
client_system_path = (
ToolDeltaModClient.__module__ + "." + ToolDeltaModClient.__name__
)
clientApi.RegisterSystem(GetModName(), client_system_name, client_system_path)
self.OnClientInited()
logger.debug("ToolDelta: Mod client inited: " + client_system_name)
@classmethod
def version_str(cls):
return ".".join(map(str, cls.version))