Hoe248
本帖最后由 Hoe248 于 2014-8-26 21:38 编辑

//背景:无聊,刚学java,有趣。


//用途:开发mod



//构建环境的方法好多,而且差别还很大。
//我试过好几种,论坛上的这两种我都试过。(其实不止这两种。)
[ModLoader]Mod制作教程索引贴 (12.8.8更新,更新至MCP7.0a)
http://www.mcbbs.net/thread-18949-1-1.html
http://www.mcbbs.net/thread-38211-1-1.html
//本人写贴经验好烂。
//根据这两个教程都可以构建出对应的开发环境。


//问题1:其中一个的构建环境,编程的时候MOD文件和源文件必须放在一起。(觉得很不方便管理,所以放弃。)
//一定程度上是我不会分开MOD文件和源文件。

//问题2:要用R-S(重编译-开始)方法测试。(极度不方便,所以放弃。)
//一定程度上还是我的技术问题。

//问题3:版本差别。
//旧版本(1.7之前)存在上面两个问题。
//新版本(1.7之后)代码中,很多方法和类有更改,导致很多旧教程没用。//可能是本人技术问题。


//于是我一直寻找一个令自己舒服的开发环境。(小白感觉这个很重要)
//最后我找到这个资料
szszss' blog~http://www.hakugyokurou.net/wordpress/?page_id=126

//最后出现的问题还是有不少。

//问题1:构建过程非常麻烦。。。需要一点耐心,运气。
//说真的,很多步骤我都不懂,中间还乱操作了一下,不过还是能操作完成的。

//问题2:我选择的版本是forge1.7.10版。比起szszss教程中1.7.2版也存在一定的差异。主要是,有很多方法和类名遭到改变。但是基本可用。


//问题3:图片素材的加入非常麻烦。(只是加入麻烦而已)

但是总体结果我很满意。
1.MOD文件和源文件分开。管理方便。
2.源文件受保护[不能更改](同时也导致加入素材的时候很恶心。)
3.可以直接用ecipse测试MOD。
//有很多问题都可能是因为我的能力不足产生的。


szszss的教程写的很细了,我这里讲其中的安装困难。
//配置过程需要一点点耐性,和运气。。。。

//知识准备:看的懂教程(文字上),会安装软件(JDK,eclipse)
//java编程?我们在配置环境而已,编程知识慢慢学嘛。

第一步:准备基本软件。
eclipse(我装的是4.4版)
JDK(版本不清楚,6以上较好)
//这些下好,装好后放一边。(JDK的安装可能有点恶心。环境变量的配置问题?)

第二步:按照szszss教程安装。
//有些地方有点不清楚。
安装问题1:Forge源代码。
我当时完全不知道怎么下载。或者下载什么。救命啊!
半小时尝试后~~~~
我找到上面的版本号(10.13.0.1180)这一行,点击Src后面的*号即可。
下载下来的就是Forge源代码。
//我下载的是Forge1.7.10-Rexxxxxxxxx版。

安装问题2:ForgeGradle on Wall
我被这个东西搞到死去活来。

问题1:块
块这个概念我也不知道从哪里来的。
//我的理解
例如buildscript块代表这个东西:
buildscript{
···
}
“块中”相当于“括号中”。
//类比了java语言的类概率。(事实证明是准确的,因为我安装成功了。)

问题2:repos块
教程提供了2种方案。用哪种?
//我的理解
用哪种都可以,不过要坚持。
貌似下载是可续的。
所以。一次失败。next.
我用第二个断了7次后下载完成。
用第一个连了10几次才连上,断两次后下载完成。(可想而知我搞了多少次。)
教程中的第三点可以不看(因为看不懂,而且貌似没用)
//然后根据教程继续安装问题应该不大了。。。



//刚学java没多久,现在面临的困难有
1.版本问题:缺少教程,变化很多,教程资料很少。
2.素材的加入问题:已解决,但是还是很麻烦。
3.刚学java,现在学制MOD给我感觉,困难的不是写代码。而是看代码。
很多类的成员方法,成员变量,构造方法都要一个一个的看。Block,Item···

//现在做的工作
1.有关类的阅读和翻译。(我相信任何开发者都要做这个吧。)
2.简单物品的创建。练习。


hoe露脸完成。
//目测,贴发错地方,贴子违反XXXXX条例。
//最后表示一下,我会定期发出我整理好的类,介绍其中的方法和变量。
//这是学习过程,求大神指点。

//留下一段内容给比我还小白的小白
如果你跟我一样使用Forge1.7.10版,恭喜你了。
先给你一些代码。
//这是我MOD主类中的一段。
public void preLoad(FMLPreInitializationEvent event)
  {
   //FMLPreInitializationEvent 预初始化
   //这是创建Block
   hoeBlock=new BlockHoe(Material.rock);  
  }
//这是我的新类(Block)中的一段
public class BlockHoe extends Block
{
public BlockHoe(Material mat)
{
  super(mat);
//这里设置属性
  //素材
  this.setBlockTextureName("hoeblock");
  //硬度
  this.setHardness(1.5f);
  //砖名
  this.setBlockName("Hoe's first block");
  //亮度
  this.setLightLevel(0.0f);
  //走在上面的声音
  this.setStepSound(Block.soundTypeStone);
  //开采工具
  this.setHarvestLevel("shovel", 1);
  //这里注册Block
  this.setCreativeTab(CreativeTabs.tabBlock);
  GameRegistry.registerBlock(this, "hoeblock");
  LanguageRegistry.addName(this, "我的第一个砖块");  
}
我把其中分成三个部分。
创建
设置属性
各种方块属性的设置:素材,硬度,亮度,声音等等。基本涉及Block的各种属性和方法。如果要这个砖块还有其他功能的话(目测还要了解更多的类和包)
注册
这里的机制我还不太清楚,因为其中的方法都不是Block中的。
不过应该包括这几个方面:
1,物品表中的注册:使砖块出现在创造模式的物品表中
2,游戏的注册:加入游戏世界的方块成员中
3,应该还有一个要注册的地方,不过我不知道。
4,还有一些合成表,熔炼表的注册,这里没展示。
一个砖块应该要通过这3部分才能被实现。
//供小白参考。

//代码可能有错误,求大神指教。
//游戏很有趣,求基友。


最后感谢szszss的教程。

最后的最后,hoe再次表示露个脸。

最后的最后的最后,维基那个答案是什么啊!!!!   验证经常问。我找维基找不到。











Hoe248
{:10_504:}····坑爹,一开始发不了,发个空贴,然后修改却可以了。

黄凯航
  1. #include <iostream>

  2. int main() {
  3.     std::cout << "你可以别一直使用那个//么。看起来很凌乱";

  4.     return 0;
  5. }
复制代码

Hoe248

下次注意{:10_499:}

xmfxmf
本帖最后由 xmfxmf 于 2014-8-29 22:40 编辑

楼主,求联系方式,我快被gradle搞崩溃了{:10_498:}!!或者给我一个配置好的,感激不尽啊!!

第一页 上一页 下一页 最后一页