xii D Devoxx4Kids Minecraft Minecraft Google Minecraft Minecraft wiki YouTube A Minecraft Minecraft Forg

Similar documents
Java 1 Java String Date

x 前言 Python Python ETL extract transform load Python Python / Python Python Python

附录J:Eclipse教程

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

epub83-1

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

目次 

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

PPBSalesDB.doc

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

Java

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

untitled

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

Chapter 2

RUN_PC連載_12_.doc

闖 關 組 4. 任 一 隊 員 曾 獲 得 第 一 屆 第 2 次 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 菁 英 組 前 三 名 或 歷 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 挑 戰 組 前 三 名 應 報 此 組 5. 任 一

Microsoft Word - CPE會議紀錄151022

CC213

RunPC2_.doc

Microsoft Word - 第1章 Android基本概念.docx

Learning Java

Microsoft Word zw

mvc

01 用 ActionScript 3.0 開始認識 Flash CS3 Flash 是應用在網路上非常流行且高互動性的多媒體技術, 由於擁有向量圖像體積小的優點, 而且 Flash Player 也很小巧精緻, 很快的有趣的 Flash 動畫透過設計師的創意紅遍了整個網際網路 雖然很多人都對 Fl

Microsoft Word - PS2_linux_guide_cn.doc

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

eZiosuite

基于CDIO一体化理念的课程教学大纲设计

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Oracle 4

CHAPTER VC#

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

FileMaker 16 ODBC 和 JDBC 指南

1. 2. Flex Adobe 3.

基于UML建模的管理管理信息系统项目案例导航——VB篇

Microsoft PowerPoint - ch6 [相容模式]

言1.PDF


f2.eps

Sophos Central 快速安裝手冊

The golden pins of the PCI card can be oxidized after months or years

電機工程系認可證照清單 /7/1

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Microsoft Word - 苹果脚本跟我学.doc

FileMaker 15 ODBC 和 JDBC 指南

新・解きながら学ぶJava

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

4.1 AMI MQSeries API AMI MQI AMI / / AMI JavaC C++ AMI / AMI AMI - / /

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

像 客 样 使 命令行 徐 东

Microsoft Word - test01.docx

IoC容器和Dependency Injection模式.doc

100學年度資訊處滿意度調查回應表(教師組)

111

untitled

ebook

untitled

Microsoft PowerPoint - 第一讲 概论.ppt

投影片 1

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win

ttian

EJB-Programming-4-cn.doc

概述

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

untitled

目 录 一 安 全 漏 洞 态 势... 4 ( 一 ) 漏 洞 类 型 分 布... 4 ( 二 ) 操 作 系 统 的 漏 洞 分 布... 5 ( 三 ) 漏 洞 利 用 斱 式 分 布... 6 ( 四 ) 漏 洞 厂 商 分 布... 7 二 危 急 漏 洞 实 例... 7 ( 一 )

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

untitled

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

RunPCPB8 new feature.PDF

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

為民服務不定期考核項目及評分表...附表1

RUN_PC連載_8_.doc

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

今天 年春季号 总 92 期

*

( ) / / / / / / /

(Microsoft Word - 8\244T\244\362\277\337\272]\244W\265L\246W.doc)

Microsoft Word - 專家本色 doc

Transcription:

JAR snapshot Java JAR Minecraft Java mod JAR Minecraft Java 2012 Minecraft Minecraft 12 Java Minecraft Minecraft Java 2013 11 Devoxx4Kids http://devoxx4kids.org/usa/

xii D Devoxx4Kids Minecraft Minecraft Google Minecraft Minecraft wiki http://minecraft.gamepedia.com/minecraft_wiki YouTube A Minecraft Minecraft Forge TNT bouncy sponges zombie knights Forge

xiii Java keyword syntax class method annotation array Eclipse Java Italic URL Constant width Constant width bold Constant width italic 這個圖示代表一個提示或建議 這個圖示代表一般註釋 這個圖示代表警告或注意事項

第一章 Minecraft 方塊 blocks 材料 materials 3D 物品 item 工具 tools entities Minecraft monsters creepers Bosses A Minecraft 改造 modifications TNT 用戶端 client server 單人遊戲模式 singleplayer mode Minecraft 多人遊戲模式 multiplayer mode Minecraft Minecraft Minecraft Minecraft Forge

2 Java Development Kit Minecraft Forge Eclipse 你也可以跟著 YouTube 上的安裝說明影片來學習 (http://bit.ly/1bqmq2z) Java Notch Markus Notch Persson Notch Twitter @notch(http://twitter.com/notch) Java Minecraft Java Notch Java.png.gif.jpg.mov.mp4.oggy Java.java Java 原始 source Java 0 1 編譯 compile Java Java 開發工具 Java Development Kit 簡稱 JDK Java Java javac Java 編譯器.java binary.class.class Java compilation

3 java Java Java virtual machine 簡稱 JVM.class JVM interpretation jar.class archive.jar Minecraft Java.class JDK JAR Minecraft JDK JDK Oracle http://bit.ly/tea7ic http:// bit.ly/1estuoy JDK JDK Minecraft Forge Minecraft Forge Forge Bukkit ModLoader Forge Minecraft Forge http://files.minecraftforge.net/ 1.1 Minecraft 1-1 Forge 1.8 1-2

4 在本書編寫期間, 最新的 Forge 版本是 1.8, 這個版本可能會隨著書籍的出版或你開始閱讀的日期不同而有所變動 請跟著選取最適合的版本 本書的模組是以 Forge1.8 來製作 倘若之後 Forge 的版本不適用於本書的模組, 我們會更新本書, 以及 GitHub 上的原始碼, 附錄 C 則包含了 GitHub 原始碼的有關細節 1-2 Forge 1.2 1.8 Src AdFly Skip Ad ZIP Forge Installer Minecraft Forge library ZIP Minecraft Eclipse Eclipse integrated development environment 簡稱 IDE IDE package IDE Eclipse Eclipse Eclipse

5 Eclipse Eclipse http://www.eclipse.org/downloads/ 1-3 Window Windows 1-3 Eclipse Eclipse 的版本在撰寫本書時是 4.4.1 版, 它的版本有可能會隨著出版日 期以及你閱讀本書的時刻而有所變更 下載最新可取得的 Eclipse 版本是 沒有問題的 Eclipse Eclipse https://wiki.eclipse.org/eclipse/installation Eclipse Forge Eclipse Forge forge Windows Ctrl Esc Windows 8.0 8.1 R cmd Enter Command Prompt Mac command control Spotlight Spotlight Mac terminal Terminal Window Mac Forge

6 cd Desktop mkdir forge cd forge ZIP Mac Windows ZIP forge/ cd forge Windows dir Mac ls 1-4 dir ls 1-4 1-4 Forge 1-1 Forge 1-1 Forge workspace gradlew setupdecompworkspace eclipse Mac./gradlew gradlew 在執行這些指令前, 請確認你的電腦已連上網路了

7 1-1 5 30 BUILD SUCCESSFUL Minecraft Forge http://bit.ly/1nfdpvn 1.6.4 1.6.4 1.8 Execution failed for task ':deobfuscatejar'. > Java heap space Windows gradlew.bat Mac gradlew Windows Notepad notepad Enter... gradlew.bat Mac TextEdit Applications TextEdit... gradlew DEFAULT_JVM_OPTS="" DEFAULT_JVM_OPTS="-Xmx1024m" Minecraft Forge http://www. minecraftforge.net/forum/ Eclipse Eclipse Windows eclipse.exe Mac eclipse Eclipse Java Minecraft Forge 專案 Project 1-1

8 workspace workspace Eclipse 1-5 1-5 Browse... forge/ eclipse/ Open OK 確認你有選取 eclipse/ 檔案夾, 否則你將無法進入你的專案 OK Eclipse Eclipse 1-6

9 1-6 Eclipse Eclipse Package Explorer tab Eclipse Minecraft console X

10.java.class Java.java class Java Eclipse Minecraft/ 1-7 1-7 Eclipse Minecraft Forge JAR src/main/java Java com.example.examplemod ExampleMod.java Java Forge IDE Java 1-2

11 1-2 package com.example.examplemod; ❶ import net.minecraft.init.blocks; ❷ import net.minecraftforge.fml.common.mod; import net.minecraftforge.fml.common.mod.eventhandler; import net.minecraftforge.fml.common.event.fmlinitializationevent; @Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) ❸ public class ExampleMod ❹ { public static final String MODID = "examplemod"; ❺ public static final String VERSION = "1.0"; } @EventHandler ❻ public void init(fmlinitializationevent event) ❼ { // ❽ System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); ❾ } Java keyword Java ❶ 套件 package Java package ; Java /example/ examplemod Java 套件可以讓邏輯上相關的類別群組在一起 這允許了相似的類別名稱可以在不同套件中使用 這好比像是在不同的桶子中搜尋不同的蠟筆一樣 如果沒有透過分類, 很難找出正確的蠟筆, 同樣的, 如果在多個套件中如果沒有組織好類別, 將會不容易做尋找 ❷ Java Java 導入 import

12 statement import Blocks net.minecraft.init net.minecraft.init.blocks Mod net.minecraftforge.fml.common net.mine craftforge.fml.common.mod ❸ @Mod Forge @ Java 註釋 annotation Java Forge Java element = @Mod modid version MODID VERSION 變數 variable ❹ Java Java class.java ExampleMod ExampleMod.java 範圍 scope { } ❺ MODID VERSION type MODID VERSION String = MODID examplemod VERSION 1.0 Java 是個大小寫有別的程式語言, 所以確認你的程式要跟本書上面的程式完全相同才行 舉例來說 String 的 S 如果你打成小寫, 那就會出現錯誤, 因為 string 不是一個 Java 類別,String 才是 因此 MODID 與 modid 分別是代表不同的變數 ❻ Forge listening events chat message 事件處理器 event

13 handler Forge @EventHandler ❼ Java 方法 method 名稱 init 參數 Parameter 參數名 型態 FMLInitializationEvent event ( ) 主體 Body { } Java 回傳型態 Return type caller void init Forge ❽ Java 註解 comment // /* */ ❾ Java System.out.println Minecraft ( ) DIRT BLOCK >> + Blocks.dirt.getUnlocalizedName()

14 Minecraft 1-8 1-8 Eclipse Minecraft javac java jar JDK Eclipse Forge Java JAR JAR Minecraft client launcher 1-9 1-9 Minecraft

15 Forge 1.8 Forge Eclipse 1-10 1-10 Eclipse 1-10 log Minecraft [Client thread/info] [STDOUT]: [com.example.examplemod.examplemod:init:18]: DIRT BLOCK >> tile.dirt Forge init Minecraft Forge Minecraft Eclipse Eclipse Java Minecraft