Lấy các giá trị cấu hình, bản dịch, mã thông báo động và tài sản từ các bản mod khác bằng mã thông báo Content Patcher đặc biệt.
Mã thông báo Tương thích Cross-Mod bổ sung một số mã thông báo Content Patcher tùy chỉnh đặc biệt, cho phép bạn (nếu bạn là tác giả mod) truy cập các giá trị cấu hình, bản dịch và mã thông báo động từ các mod khác, bao gồm cả các mod không dành riêng cho Content Patcher. Những mã thông báo này có thể hữu ích nếu bạn thực sự không có cách nào khác để đảm bảo tính tương thích hoàn hảo giữa mod của bạn và mod của họ khi bạn cần thay đổi một số thứ tùy thuộc vào bất kỳ giá trị nào đã đề cập ở trên.
Cài đặtSử dụng cho người chơiBản mod này không có chức năng gì riêng biệt. Việc cài đặt bản mod này với tư cách người dùng sẽ không có lợi ích gì nếu bản mod khác bạn đang sử dụng không yêu cầu nó.
Sử dụng cho tác giả bản mod vá nội dungBản mod này thêm bốn mã thông báo:
- Spiderbuttons.CMCT/Config
- Spiderbuttons.CMCT/Bản dịch
- Spiderbuttons.CMCT/Dynamic
- Spiderbuttons.CMCT/Tài sản
Mỗi mã thông báo này sẽ cho phép bạn lấy các giá trị cấu hình, chuỗi dịch, giá trị mã thông báo động hoặc khóa tài sản nội bộ tương ứng. Cả bốn mã thông báo này
yêu cầu Đối số đầu vào. Đối số đầu vào đầu tiên sẽ luôn là UniqueID của mod mà bạn đang cố gắng lấy giá trị. Đối số đầu vào thứ hai sẽ phụ thuộc vào mã thông báo đang được đề cập:
- Config: Tên của giá trị cấu hình cần tìm. Nếu giá trị cấu hình được lồng nhau, bạn phải bao gồm đường dẫn cấu hình đầy đủ dựa trên cấu trúc JSON.
- Bản dịch: Khóa i18n của bản dịch bạn muốn. Nó sẽ luôn lấy bản dịch cho ngôn ngữ hiện đang được chọn.
- Động: Tên của mã thông báo động.
- Tài sản: Đường dẫn của tài sản từ mod khác liên quan đến của họ tệp manifest.json.
Nếu bạn sử dụng bất kỳ mã thông báo nào trong số này, bạn
phải đặt mod khác làm phụ thuộc. Nếu bạn không làm vậy, nó
có thể hoạt động, nhưng nó cũng có thể gây ra một số lỗi kỳ lạ. Dưới đây là bốn ví dụ, mỗi ví dụ cho một mã thông báo, sử dụng
Tra cứu bất cứ điều gì,
Chuột mũ Lacey, Và
Sách bổ sung của Button để trình diễn:
- {{Spiderbuttons.CMCT/Config: Pathoschild.LookupAnything, Controls.ToggleSearch}}
- {{Spiderbuttons.CMCT/Bản dịch: ichortower.HatMouseLacey, houseDisplayName}}
- {{Spiderbuttons.CMCT/Động: ichortower.HatMouseLacey, Lacey}}
- {{Spiderbuttons.CMCT/Tài sản: Spiderbuttons.ButtonsExtraBooks, assets/Books/sheet.png}}
Hạn chếHiện tại, có hai điều chính mà tôi cho là hạn chế:
- Các bản dịch sử dụng mã thông báo làm đầu vào (tức là các giá trị i18n có {{mã thông báo}} riêng bên trong chính i18n) sẽ không hoạt động chính xác và sẽ chỉ lấy chuỗi ký tự có mã thông báo vẫn còn trong dấu ngoặc nhọn.
- Mã thông báo động chỉ được khởi tạo khi tải bản lưu, chứ không phải khi trò chơi được khởi chạy. Điều này có thể quan trọng hoặc không quan trọng với bạn.
Cũng đáng đề cập là bạn nên sử dụng mã thông báo động
càng tiết kiệm càng tốt. Không cần đi sâu vào chi tiết về cách thức hoạt động của Content Patcher, do cách tôi phải triển khai token, họ sẽ luôn báo hiệu rằng các thay đổi của họ nên được lan truyền ngay cả khi token động mà họ đang kiểm tra từ một mod khác không thay đổi. Điều này không tệ lắm nếu token của bạn chỉ cập nhật OnDayStart như token mặc định, nhưng có thể tốn kém nếu bạn cập nhật OnTimeChange hoặc OnLocationChange!
Mã nguồn