Sams Teach Yourself Mod Development for Minecraft in 24 Hours / Edition 2

Sams Teach Yourself Mod Development for Minecraft in 24 Hours / Edition 2

by Jimmy Koene
ISBN-10:
0672337630
ISBN-13:
9780672337635
Pub. Date:
11/12/2015
Publisher:
Sams
ISBN-10:
0672337630
ISBN-13:
9780672337635
Pub. Date:
11/12/2015
Publisher:
Sams
Sams Teach Yourself Mod Development for Minecraft in 24 Hours / Edition 2

Sams Teach Yourself Mod Development for Minecraft in 24 Hours / Edition 2

by Jimmy Koene
$34.99 Current price is , Original price is $34.99. You
$34.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Overview

In just 24 sessions of one hour or less, Sams Teach Yourself Mod Development for Minecraft in 24 Hours will help you transform Minecraft into anything you can imagine–and share your vision with millions of players worldwide! You’ll learn all the mod development skills you need as you walk through a complete step-by-step project, complete with a mob, new tools, new armor, food, ores, and much more. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for building any mod and creating any world!

Step-by-step instructions carefully walk you through the most common Minecraft mod development tasks.

Quizzes and exercises at the end of each chapter help you test your knowledge.

Notes present interesting information related to the discussion.

Tips offer advice or show you easier ways to perform tasks.

Cautions alert you to possible problems and give you advice on how to avoid them.

Minecraft is a registered trademark of Mojang Synergies / Notch Development AB. This book is not affiliated with or sponsored by Mojang Synergies / Notch Development AB.

Learn how to...

  • Set up the environment where you’ll write your mod for Minecraft 1.8
  • Create the basics for your mod with the Forge API
  • Establish a framework that makes it easier to build complex mods
  • Work with recipes and other small modifications
  • Create multiple recipes, items, blocks, and entities at once
  • Cook up food items that heal your players
  • Make custom pickaxes, shovels, and completely original tools
  • Use Tile Entities to create complex and unique mods
  • Create interesting custom armor for players
  • Generate entire worlds, including ores and plants
  • Design and generate new structures with MCEdit
  • Understand Entities and create Entity Models with Techne
  • Code mobs with a custom Entity Model
  • Manufacture Throwables
  • Edit Minecraft functionality without breaking other mods
  • Structure, package, and release your mod
  • Master Java programming techniques you can use far beyond Minecraft

On the Web:

Register your book at informit.com/title/9780672337635 for access to all code examples and resources from this book, as well as updates and corrections as they become available.


Product Details

ISBN-13: 9780672337635
Publisher: Sams
Publication date: 11/12/2015
Series: Sams Teach Yourself Series
Pages: 448
Sales rank: 1,176,573
Product dimensions: 6.90(w) x 9.00(h) x 0.80(d)

About the Author

Jimmy Koene maintains one of the world’s most popular Minecraft mod websites ( www.wuppy29.com/minecraft/modding-tutorials/forge-modding/ ). He is one of the only Minecraft modders who consistently maintains and updates his online tutorials. Also an expert Java and C++ programmer and Unity developer, he has written an Android Minecraft app that has been downloaded more than 45,000 times, along with various other smaller apps. He also maintains several Minecraft mods that cover many aspects of Minecraft, ranging from slight changes to how food works to mods that completely change the way you play.

Table of Contents

Introduction 1

Part I: Introduction

HOUR 1: Setting Up the Minecraft Development Environment 7

Understanding How Minecraft Is Written and What You Will Do with It . . . . 7

Learning About Forge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Setting Up the JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Setting Up Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Setting Up Forge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Troubleshooter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

HOUR 2: Creating the Basics for Forge 23

Understanding the Java in the ExampleMod . . . . . . . . . . . . . . . . . . . . . . . 23

Creating Your Own Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Creating Your Own Class File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Creating the Mod File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

HOUR 3: Working with Recipes and Other Small Modifications 39

Learning About Recipes in Minecraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Crafting a Recipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Creating a Shapeless Recipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Creating a Smelting Recipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Using Special ItemStacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Changing the Mob Spawn in a Dungeon . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Changing Chest Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

The Results in the Mod File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Part II: Items

HOUR 4: Making Your First Item 53

Understanding What an Item Is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Coding a Basic Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Giving the Item a Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

HOUR 5: Creating Multiple Items in a Smart Way 69

Adding Multiple Items Using the Same File . . . . . . . . . . . . . . . . . . . . . . . . 69

Adding Metadata to Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Changing the Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Making Metadata Jsons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

HOUR 6: Cooking Up a Food Item 87

Understanding Food in Minecraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Creating a Food Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Adding a Potion Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

HOUR 7: Making Your Own Tools 101

Creating a ToolMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Creating a Pickaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Creating Special Tools for Harvesting Different Blocks . . . . . . . . . . . . . . . . 111

Creating the ItemSamPaxel Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

HOUR 8: Creating Armor 119

Creating Your ArmorMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Creating the Armor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Customizing Armor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Part III: Blocks

HOUR 9: Making Your First Block 131

Understanding What a Block Is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Creating a Basic Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Making the Texture Jsons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Using a Custom Block in a Recipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

HOUR 10: Block States 143

Coding Block State Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Making Block State Jsons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

HOUR 11: Making Your Blocks Unique 163

Adding Sided Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Making Half Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

Creating a Plant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

HOUR 12: Creating a Tile Entity 195

Understanding What a Tile Entity Is . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Creating a Tile Entity Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Creating a Tile Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

Server Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Part IV: World Generation

HOUR 13: Generating Ores 217

Using Forge and an EventHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Creating a SamEventHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Using OreDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

HOUR 14: Generating Plants 229

Creating a Custom WorldGen Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Adding Code to SamEventHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

HOUR 15: Using MCEdit 245

Why Use MCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Getting MCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Using MCEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

HOUR 16: Generating Your Structure 255

Installing the Schematic Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Using the Schematic Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Adding Mobs to Your Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Part V: Entities

HOUR 17: Learning About Entities 269

Understanding What an Entity Is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Creating Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Creating a Basic Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

HOUR 18: Creating an Entity Model Using Techne 277

What Are Models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Downloading and Installing Techne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Using Techne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

HOUR 19: Coding a Mob 289

Rendering the Mob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Making the Mob Spawn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Making EntitySamMob a Mob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

HOUR 20: Creating a Throwable 307

Registering a Throwable Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Creating the Entity Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Using the Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Rendering the Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Part VI: Final Pointers

HOUR 21: Editing Vanilla Minecraft 319

How to Change Minecraft Indirectly . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Other Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Giving Your Armor Egg-Throwing Abilities . . . . . . . . . . . . . . . . . . . . . . . . 326

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

HOUR 22: Structuring Your Mod 333

Why It Is Important to Structure Your Mod . . . . . . . . . . . . . . . . . . . . . . . 333

How to Structure Your Mod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

HOUR 23: Releasing Your Mod 349

Exporting Your Mod with Forge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Making Your Mod Public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

HOUR 24: What's Next 357

Using IRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

Using Open Source Mods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

Learning Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

APPENDICES

APPENDIX A: Additional Code Fragments 365

TOC, 9780672337635, 10/12/2015

From the B&N Reads Blog

Customer Reviews