Cách Làm Mod Terraria: Thêm Vật Phẩm Và Công Thức Chế Tạo Bằng tModLoader
Dựa trên luồng phát triển phiên bản ổn định 1.4.4 của Terraria tModLoader, chúng ta sẽ tạo ra một token thực hành làm từ 10 gỗ. Bạn sẽ tìm hiểu vai trò của C# ModItem, kết cấu PNG và CreateRecipe. Hãy nhớ chuẩn bị môi trường chỉ chạy Terraria gốc tách biệt khỏi thế giới mod và nhân vật của tModLoader.
1. Chuẩn Bị Và Xác Minh Phiên Bản
Cài đặt Terraria chính hãng và tModLoader gốc, sau đó chạy trên cùng một nhánh ổn định. Kiểm tra Basic Prerequisites và các yêu cầu .NET SDK từ wiki của nhà phát triển. Hướng dẫn cơ bản hiện tại sử dụng .NET 8.0 SDK và Desktop Runtime không thể thay thế cho các công cụ phát triển. Không trộn lẫn các trường item hoặc ModRecipe của các ví dụ 1.3 cũ vào mã mới nhất. Tạo một nhân vật thử nghiệm mới sau khi sao lưu nhân vật, thế giới và các mod hiện có.

2. Tạo Khung Mod Bên Trong Trò Chơi
- Trong menu chính của tModLoader, chọn Workshop → Develop Mods → Create Mod.
- Đối với ModName nội bộ, hãy sử dụng tên duy nhất không có khoảng trắng như TroubleMakerToken.
- Nhập tên hiển thị (display name), tác giả và tên vật phẩm cơ bản. Tên vật phẩm cơ bản trong ví dụ được đặt là WorkshopToken.
- Sau khi tạo, hãy mở thư mục ModSources thực tế từ Open Sources trong Develop Mods.
- Mở file .csproj đã tạo của thư mục TroubleMakerToken trong IDE và đợi các phụ thuộc cần thiết được nhập.
- Ban đầu, hãy chạy Build + Reload một lần với trạng thái ban đầu của trình tạo để kiểm tra môi trường phát triển trước.
3. Chỉnh Sửa Lớp Vật Phẩm (Item Class)
Thay thế Content/Items/WorkshopToken.cs bằng cấu trúc dưới đây. Nếu trình tạo đã sử dụng đường dẫn hoặc namespace khác, hãy khớp tên đó và đảm bảo không có hai lớp giống nhau được tạo ra. ModItem định nghĩa hành vi của vật phẩm mới và SetDefaults thiết lập kích thước, số lượng xếp chồng tối đa (max stack), độ hiếm (rarity), v.v.
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace TroubleMakerToken.Content.Items;
public class WorkshopToken : ModItem
{
public override void SetDefaults()
{
Item.width = 20;
Item.height = 20;
Item.maxStack = 9999;
Item.value = Item.buyPrice(silver: 1);
Item.rare = ItemRarityID.White;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ItemID.Wood, 10)
.AddTile(TileID.WorkBenches)
.Register();
}
}4. Thêm PNG Và Văn Bản Hiển Thị
Đặt WorkshopToken.png vào cùng thư mục Content/Items. Sửa đổi hình ảnh thực hành đi kèm trong trình tạo hoặc sử dụng PNG nền trong suốt do chính bạn vẽ. Chữ hoa/thường của tên tệp và đường dẫn phải khớp với tên lớp. 20×20 là cài đặt va chạm và hiển thị vật phẩm, điều này không có nghĩa là tất cả các kích thước của bản vẽ gốc phải bằng con số đó. Ví dụ đầu tiên sẽ dễ dàng kiểm tra căn chỉnh hơn nếu bắt đầu bằng một bản vẽ hình vuông nhỏ.
TroubleMakerToken/
TroubleMakerToken.cs
Content/Items/WorkshopToken.cs
Content/Items/WorkshopToken.png
Localization/en-US_Mods.TroubleMakerToken.hjsontModLoader hiện đại quản lý tên hiển thị và mô tả trong bản địa hóa HJSON. Đặt các mục Items bên dưới vào tệp Localization đã tạo hoặc chỉnh sửa các khóa hiện có. Không sao chép cùng một gốc Mods trên toàn bộ tệp, thay vào đó hãy chỉnh sửa dựa trên cấu trúc trình tạo.
Mods: {
TroubleMakerToken: {
Items: {
WorkshopToken: {
DisplayName: Workshop Token
Tooltip: A token for learning how to create a mod.
}
}
}
}
5. Xây Dựng Và Thử Nghiệm Chế Tạo Thực Tế
- Lưu mã đã sửa đổi và chạy Build + Reload từ Develop Mods.
- Nếu xảy ra lỗi, trước tiên hãy kiểm tra tên tệp và số dòng của lỗi biên dịch đầu tiên.
- Kiểm tra xem mod của bạn đã được bật trong danh sách mod chưa và bước vào thế giới thử nghiệm mới.
- Chuẩn bị 10 gỗ và một Work Bench, sau đó mở menu chế tạo cạnh Work Bench.
- Chế tạo Workshop Token và kiểm tra lượng gỗ tiêu thụ, số lượng xếp chồng vật phẩm, tên và mô tả.
- Nếu kết cấu không hiển thị, hãy kiểm tra đường dẫn thực tế và chữ hoa/thường của PNG rồi chạy lại Build + Reload.
6. Các Lỗi Phổ Biến Nhất Và Cách Khắc Phục
Nếu không thấy công thức, hãy kiểm tra xem bạn có ở gần bàn làm việc hay không và đã nhập đúng ItemID.Wood và TileID.WorkBenches chưa. Nếu bạn đã thay đổi namespace, hãy dọn dẹp các lớp được tạo trùng lặp và khớp đường dẫn hình ảnh đi kèm. Tắt mod sẽ đọc tệp lưu mà không có vật phẩm mod, vì vậy đừng áp dụng trực tiếp cho tệp lưu chơi game thực tế. Thoát trò chơi, vô hiệu hóa mod và so sánh với một thế giới thử nghiệm riêng biệt đã được sao lưu.

7. Kiểm Tra Trước Khi Chia Sẻ Lên Workshop
Giải thích về tính duy nhất của ModName nội bộ, phiên bản ổn định, nguyên liệu chế tạo và yêu cầu bàn làm việc, cũng như nguồn gốc của bản vẽ gốc. Tính năng Publish của tModLoader là một đợt tải lên công khai thực tế, vì vậy hãy sắp xếp tệp ZIP phân phối, README và kết quả kiểm tra trước khi sử dụng. Hướng dẫn này giải thích quy trình tạo và không tự động tải lên tài khoản của người đọc. Khi chỉnh sửa và chia sẻ tài sản trò chơi và mod vật phẩm của người khác, hãy tuân theo sự cho phép và điều kiện của tác giả đó.
Tài Liệu Gốc Và Tiêu Chuẩn Xác Minh
Bài viết hướng dẫn nhập môn do nhóm quản lý TroubleMaker viết bằng cách kiểm tra tài liệu công cụ chính thức và nhà tạo lập vào ngày 7 tháng 10 năm 2026. Mã và biểu đồ là các ví dụ tự tạo để giải thích và không phải là kết quả xác minh trò chơi thực tế của trò chơi đó trên máy chủ này. Phân phối sau khi kiểm tra trong tệp lưu thử nghiệm riêng biệt với phiên bản được chỉ định trong văn bản. Đối chiếu các phiên bản mới nhất và các phụ thuộc theo công cụ từ các nguồn gốc bên dưới.
Bản dịch tự động Gemini · Giữ nguyên văn bản và khu vực gốc.
Ngôn ngữ gốc · ko
테라리아 모드 만드는 법: tModLoader로 아이템과 제작 레시피 추가
Terraria tModLoader의 1.4.4 안정판 개발 흐름을 기준으로 나무 10개로 만드는 연습용 토큰을 만듭니다. C# ModItem, PNG 텍스처와 CreateRecipe의 역할을 배웁니다. Terraria 본체만 실행하는 환경과 tModLoader의 모드 세계·캐릭터는 구분해서 준비하세요.
[1. 준비와 버전 확인]
정품 Terraria와 원본 tModLoader를 설치하고 같은 안정판 브랜치로 실행합니다. 개발자 위키의 Basic Prerequisites와 .NET SDK 요구 사항을 확인하세요. 현재 기본 안내는 .NET 8.0 SDK를 사용하며 Desktop Runtime만으로 개발 도구를 대신하지 않습니다. 오래된 1.3 예제의 item 필드나 ModRecipe를 최신 코드에 섞지 않습니다. 캐릭터·월드와 기존 모드를 백업한 뒤 새 테스트 캐릭터를 만듭니다.
[image:conditions]
[2. 게임 안에서 모드 뼈대 만들기]
1. tModLoader 메인 메뉴에서 Workshop → Develop Mods → Create Mod를 선택합니다.
2. 내부 ModName은 TroubleMakerToken처럼 공백 없는 고유 이름을 사용합니다.
3. 표시 이름과 작성자, 기본 아이템 이름을 입력합니다. 예제 기본 아이템 이름은 WorkshopToken으로 정합니다.
4. 생성 후 Develop Mods에서 Open Sources로 실제 ModSources 폴더를 엽니다.
5. TroubleMakerToken 폴더의 생성된 .csproj를 IDE에서 열고 필요한 의존성 가져오기를 기다립니다.
6. 처음에는 생성기 원본 상태로 Build + Reload를 한 번 실행해 개발 환경부터 확인합니다.
[3. 아이템 클래스를 수정하기]
Content/Items/WorkshopToken.cs를 아래 구조로 바꿉니다. 생성기가 다른 경로·namespace를 사용했다면 그 이름을 맞추고 같은 클래스가 두 개 생기지 않게 합니다. ModItem은 새 아이템의 동작을 정의하며 SetDefaults는 크기·최대 스택·희귀도 등을 설정합니다.
```csharp
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace TroubleMakerToken.Content.Items;
public class WorkshopToken : ModItem
{
public override void SetDefaults()
{
Item.width = 20;
Item.height = 20;
Item.maxStack = 9999;
Item.value = Item.buyPrice(silver: 1);
Item.rare = ItemRarityID.White;
}
public override void AddRecipes()
{
CreateRecipe()
.AddIngredient(ItemID.Wood, 10)
.AddTile(TileID.WorkBenches)
.Register();
}
}
```
[4. PNG와 표시 문구 넣기]
같은 Content/Items 폴더에 WorkshopToken.png를 둡니다. 생성기에 포함된 연습용 이미지를 수정하거나 본인이 그린 투명 배경 PNG를 사용하세요. 파일명 대소문자와 경로가 클래스 이름과 맞아야 합니다. 20×20은 아이템 충돌·표시 설정이며 반드시 원본 그림의 모든 치수가 그 숫자여야 한다는 뜻은 아닙니다. 첫 예제는 작은 정사각형 그림으로 시작하면 정렬 확인이 쉽습니다.
```text
TroubleMakerToken/
TroubleMakerToken.cs
Content/Items/WorkshopToken.cs
Content/Items/WorkshopToken.png
Localization/en-US_Mods.TroubleMakerToken.hjson
```
현대 tModLoader는 표시 이름·설명을 HJSON localization에서 관리합니다. 생성된 Localization 파일에 아래 Items 항목을 넣거나 이미 있는 키를 수정합니다. 전체 파일에 같은 Mods 루트를 중복으로 넣지 말고 생성기 구조를 기준으로 편집하세요.
```text
Mods: {
TroubleMakerToken: {
Items: {
WorkshopToken: {
DisplayName: Workshop Token
Tooltip: A token for learning how to create a mod.
}
}
}
}
```
[image:request]
[5. 빌드하고 실제 제작해 보기]
1. 변경한 코드를 저장하고 Develop Mods의 Build + Reload를 실행합니다.
2. 오류가 나면 첫 컴파일 오류의 파일명과 줄 번호부터 확인합니다.
3. 모드 목록에서 자신의 모드가 켜졌는지 확인하고 새 테스트 월드로 들어갑니다.
4. 나무 10개와 작업대(Work Bench)를 준비하고 작업대 옆에서 제작 메뉴를 엽니다.
5. Workshop Token을 제작해 나무 소비량·아이템 스택·이름·설명을 확인합니다.
6. 텍스처가 안 보이면 PNG의 실제 경로와 대소문자를 확인하고 다시 Build + Reload합니다.
[6. 가장 흔한 실패와 해제]
recipe가 안 보이면 작업대 근처인지, ItemID.Wood와 TileID.WorkBenches를 제대로 입력했는지 확인합니다. namespace를 바꿨으면 중복 생성 클래스를 정리하고 이미지 경로도 함께 맞춥니다. 모드를 끄면 모드 아이템이 없는 상태로 세이브를 읽게 되므로 실제 플레이 세이브에 바로 적용하지 않습니다. 게임을 종료하고 모드를 비활성화한 뒤 백업한 별도 테스트 월드로 비교하세요.
[image:contact]
[7. Workshop 공유 전 확인]
내부 ModName의 중복 여부, 안정판 버전, 제작 재료와 작업대 요구 사항, 원본 그림의 출처를 설명합니다. tModLoader의 Publish 기능은 실제 공개 업로드이므로 배포 ZIP과 README, 테스트 결과를 먼저 정리한 뒤 사용하세요. 이 공략은 제작 절차를 설명하며 독자 계정으로 자동 업로드하지 않습니다. 다른 사람의 게임 자산·아이템 모드를 수정해 공유할 때는 해당 제작자의 허가와 조건을 따릅니다.
[원본 문서와 확인 기준]
2026년 10월 7일 제작자·공식 도구 문서를 확인해 TroubleMaker 운영팀이 작성한 입문 공략입니다. 코드와 도식은 설명을 위한 자체 예제이며 이 서버에서 해당 게임의 실제 플레이를 검증한 결과는 아닙니다. 본문에 명시한 버전으로 별도 테스트 세이브에서 확인하고 배포하세요. 도구별 최신 버전·의존성은 아래 원본에서 대조합니다.
https://github.com/tModLoader/tModLoader/wiki/Basic-tModLoader-Modding-Guide
https://github.com/tModLoader/tModLoader/wiki/Basic-Prerequisites
https://github.com/tModLoader/tModLoader/tree/stable/ExampleMod
https://github.com/tModLoader/tModLoader/wiki/Localization
bình luận 0