本帖最后由 zxcsqq 于 2019-5-24 05:06 编辑
我是1.7.10的mod开发环境
按照这个帖子的教程 http://blog.hakugyokurou.net/?page_id=126
由于此帖使用的1.9.4的版本
setUnlocalizedName() 和 setRegistryName() 和 register() 方法报错 因为在1.7.10中没有 该如何解决 或者说是用什么方法代替
复制代码复制代码复制代码
我是1.7.10的mod开发环境
按照这个帖子的教程 http://blog.hakugyokurou.net/?page_id=126
由于此帖使用的1.9.4的版本
setUnlocalizedName() 和 setRegistryName() 和 register() 方法报错 因为在1.7.10中没有 该如何解决 或者说是用什么方法代替
- package net.hakugyokurou.diracon;
- import cpw.mods.fml.common.Mod;
- import cpw.mods.fml.common.Mod.EventHandler;
- import cpw.mods.fml.common.event.FMLInitializationEvent;
- import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent;
- import cpw.mods.fml.common.event.FMLPostInitializationEvent;
- import cpw.mods.fml.common.event.FMLPreInitializationEvent;
- import cpw.mods.fml.common.registry.GameRegistry;
- import net.minecraft.block.material.Material;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.item.ItemBlock;
- @Mod(modid = "diracon", name = "Diracon", version = "1.0.0")
- public class Diracon {
- public static MyBlock myBlock;
- private static final String MODID = "diracon";
- private static final String DIRACORE = "diracOre";
- public static BlockDiracOre diracBlock;
-
- /**
- * FMLPreInitializationEvent 预初始化
- * CPW建议开发者在预初始化时进行读取配置,创建物品砖块,以及注册相关信息等操作,另外你还能在这时候获得FML给你传来
- * 的配置文件.(Configuration,但是我并不太愿意在基础篇讲这个东西...)
- * 从1.7开始,砖块和物品的初始化必须在这个阶段进行!
- * @param event
- */
- @EventHandler
- public void preLoad(FMLPreInitializationEvent event) {
- final String myModId = "diracon";
- final String myBlockId = "myblock";ID
- myBlock = new MyBlock(Material.rock);
- myBlock.<u><font color="#ff8c00">setUnlocalizedName</font></u>(myModId + "." + myBlockId);
- myBlock.<font color="#ff8c00"><u>setRegistryName</u></font>(myModId, myBlockId);
- myBlock.setCreativeTab(CreativeTabs.tabBlock);
- GameRegistry.register(myBlock);
-
- diracBlock = new BlockDiracOre();
- diracBlock.<font color="#ff8c00"><u>setUnlocalizedName</u></font>(MODID + "." + DIRACORE);
- diracBlock.<font color="#ff8c00"><u>setRegistryName</u></font>(MODID, DIRACORE);
- diracBlock.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
- GameRegistry.<font color="#ff8c00"><u>register</u></font>(diracBlock);
- GameRegistry.register(new ItemBlock(diracBlock).<font color="#f4a460">setRegis<u>t</u>ryName</font>(MODID, DIRACORE));
- }
- /**
- * FMLInitializationEvent 初始化
- * 配置Mod设置,添加合成表...另外CPW建议Mod间通讯(通过FMLInterModComms类完成)应当在此时进行.
- * @param event
- */
- @EventHandler
- public void load(FMLInitializationEvent event) {
- }
- /**
- * FMLPostInitializationEvent 初始化后
- * CPW认为初始化后是供Mod间相互交互的时候,此时该载入的Mod都已经载入了,因此开发者们可以在此时为实现Mod间联动的
- * 操作做准备.顺便一提,FMLPostInitializationEvent事件的buildSoftDependProxy方法可以获取一个类的实例,它会先
- * 判断你要求的mod是否存在,如果存在则返还给你你要求的类的实例.
- * @param event
- */
- @EventHandler
- public void postLoad(FMLPostInitializationEvent event) {
- }
-
- /**
- * IMCEvent 接收Mod间通讯
- * 这个事件会排在FMLInitializationEvent之后,它会附带一个保存着其他Mod发来的信息的列表.
- * @param event
- */
- @EventHandler
- public void imcE(IMCEvent event) {
-
- }
- }
- package net.hakugyokurou.diracon;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- public class BlockDiracOre extends Block {
- public BlockDiracOre() {
- super(Material.rock);
- setHardness(1.5f);//setHardness是设置砖块的硬度,这个硬度是相对于徒手而言的,泥土是0.5,石头是1.5,大部分矿石是3.0.
- setResistance(10.0f);//setResistance是设置对爆炸的抗性,石头是10.0.
- setLightLevel(0.0f);//setLightLevel是设置发光亮度,范围是0.0~1.0,南瓜灯,萤石和岩浆是1.0,通往下界的传送门是0.75.采集中的红石是0.625.
- setHarvestLevel("pickaxe", 0);//setHarvestLevel是设置开采砖块时需要使用的工具,可以是"pickaxe"(镐), "shovel"(铲子)或"axe"(斧头).后面的数值为工具材质要求,-1(默认值)为可以直接手撕,0是木质和金质,1是石质,2是铁质,3是钻石质.
- //setSoundType(SoundType.STONE);//setSoundType是设置踩在上面的脚步声.默认值就是SoundType.STONE(石头地的声音.) 这里是为了演示这个方法的用途.
- }
- }
- package net.hakugyokurou.diracon;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- public class MyBlock extends Block {
- public MyBlock(Material material) {
- super(material);
- }
- }
先把这些方法在
C:\Users\用户名\.gradle\caches\minecraft\de\oceanlabs\mcp\mcp_stable\MCP版本\methods.csv(1.9.4)中
翻译成SRG NAME
然后在1.7.10中的这个csv找SRGNAME对的MCPNAME
C:\Users\用户名\.gradle\caches\minecraft\de\oceanlabs\mcp\mcp_stable\MCP版本\methods.csv(1.9.4)中
翻译成SRG NAME
然后在1.7.10中的这个csv找SRGNAME对的MCPNAME
666666666666
我的世界牛逼