Content Patcher Starter Template
เทมเพลต content pack สำหรับ Content Patcher ใช้ Format 2.9.0 มีตัวอย่าง EditData และ ConfigSchema ที่ไม่ใช้ไฟล์ของเกม ใช้งานได้โดยไม่ต้องเขียนหรือคอมไพล์โค้ด
ความสามารถ
- manifest.json ที่ตั้ง ContentPackFor เป็น Pathoschild.ContentPatcher
- content.json ใช้ Format 2.9.0
- ตัวอย่าง EditData แก้ราคาไอเท็มโดยไม่ต้องแนบไฟล์ภาพหรือข้อมูลของเกม
- ตัวอย่าง ConfigSchema และ When ให้ผู้เล่นเปิดปิดการเปลี่ยนแปลงได้
- README ภาษาไทยพร้อมคำสั่งทดสอบ patch summary
ความเข้ากันได้
| Content Patcher | เวอร์ชันที่รองรับ Format 2.9.0 (2.9.0 ขึ้นไป) |
|---|---|
| SMAPI | ตามที่ Content Patcher เวอร์ชันนั้นต้องการ |
| Stardew Valley | 1.6 (ตัวอย่างใช้ ID ไอเท็มแบบใหม่ของเกม 1.6) |
| ต้องคอมไพล์ | ไม่ต้อง |
ข้อมูลนี้มาจากเอกสารทางการ ไม่ได้รับประกันการทำงานกับทุกเวอร์ชันของเกมหรือมอดอื่น
โครงสร้างไฟล์
- [CP] My First Content Pack/
- content.json
- manifest.json
- README.md
ตัวอย่างไฟล์สำคัญ
manifest.jsonข้อมูลมอด + ContentPackFor
{
"Name": "My First Content Pack",
"Author": "YourName",
"Version": "1.0.0",
"Description": "My first Content Patcher content pack.",
"UniqueID": "YourName.MyFirstContentPack",
"ContentPackFor": {
"UniqueID": "Pathoschild.ContentPatcher"
},
"UpdateKeys": []
}content.jsonรายการ patch ของ Content Patcher
{
"Format": "2.9.0",
"ConfigSchema": {
"EnablePriceChange": {
"AllowValues": "true, false",
"Default": "true"
}
},
"Changes": [
{
"LogName": "Change Moss Soup price",
"Action": "EditData",
"Target": "Data/Objects",
"Fields": {
"MossSoup": {
"Price": 80
}
},
"When": {
"EnablePriceChange": "true"
}
}
]
}README.mdวิธีติดตั้งและทดสอบ
My First Content Pack
My first Content Patcher content pack.
- UniqueID:
YourName.MyFirstContentPack - เวอร์ชัน: 1.0.0
- ผู้สร้าง: YourName
นี่คือ content pack สำหรับ Content Patcher ไม่ต้องคอมไพล์
สิ่งที่ต้องมี
- Stardew Valley 1.6.14 ขึ้นไป
- SMAPI
- Content Patcher เวอร์ชันที่รองรับ
"Format": "2.9.0"(คือ 2.9.0 ขึ้นไป)
วิธีติดตั้งเพื่อทดสอบ
- คัดลอกโฟลเดอร์
[CP] My First Content Packไปไว้ในStardew Valley/Mods/ - เปิดเกมผ่าน SMAPI
- ตัวอย่างใน
content.jsonจะเปลี่ยนราคาขายของ Moss Soup เป็น 80g ปิดการเปลี่ยนแปลงได้โดยแก้config.json(สร้างอัตโนมัติหลังเปิดเกมครั้งแรก) ให้"EnablePriceChange": "false"
ตรวจว่า patch ทำงานหรือไม่ด้วยคำสั่งใน SMAPI console:
patch summary
ไฟล์ในโปรเจกต์
| ไฟล์ | หน้าที่ |
|---|---|
manifest.json |
ข้อมูลมอด และ ContentPackFor ที่บอกว่าเป็น content pack ของ Content Patcher |
content.json |
รายการการเปลี่ยนแปลง (Changes) ที่ Content Patcher จะทำ |
เอกสารอ้างอิง
- คู่มือภาษาไทย: https://svmoddingth.dev/learn/content-patcher/
- Content Patcher Author Guide (ทางการ): https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
- EditData: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md
สร้างด้วย SVMT Mod Generator (https://svmoddingth.dev/tools/mod-generator/) เทมเพลตอยู่ภายใต้ MIT License ตัวอย่างนี้ไม่มีไฟล์ภาพหรือ asset ของเกม
วิธีใช้งาน
- ติดตั้ง Content Patcher ในโฟลเดอร์
Mods - ดาวน์โหลดไฟล์ ZIP แล้วแตกไฟล์ จะได้โฟลเดอร์
[CP] My First Content Pack - แก้
manifest.jsonให้เป็นชื่อและ UniqueID ของคุณ - คัดลอกโฟลเดอร์ไปไว้ใน
Stardew Valley/Mods - เปิดเกมผ่าน SMAPI แล้วพิมพ์
patch summaryใน console เพื่อตรวจว่า patch ทำงาน
แก้ปัญหา
content pack ไม่ถูกโหลด
ตรวจว่าติดตั้ง Content Patcher แล้ว และ manifest.json อยู่ในโฟลเดอร์ระดับแรก ไม่ซ้อนอยู่ในโฟลเดอร์ย่อย
Content Patcher แจ้งว่า Format ใหม่เกินไป
อัปเดต Content Patcher เป็นเวอร์ชันล่าสุด
ราคาไม่เปลี่ยน
ตรวจ config.json ว่า EnablePriceChange เป็น "true" และดูผลของ patch summary
อ่านขั้นตอนละเอียดได้ในบท Content Patcher คืออะไร
Changelog
v1.0.0 ·
- เผยแพร่ครั้งแรก