zxcsqq
本帖最后由 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. package net.hakugyokurou.diracon;

  2. import cpw.mods.fml.common.Mod;
  3. import cpw.mods.fml.common.Mod.EventHandler;
  4. import cpw.mods.fml.common.event.FMLInitializationEvent;
  5. import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent;
  6. import cpw.mods.fml.common.event.FMLPostInitializationEvent;
  7. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  8. import cpw.mods.fml.common.registry.GameRegistry;
  9. import net.minecraft.block.material.Material;
  10. import net.minecraft.creativetab.CreativeTabs;
  11. import net.minecraft.item.ItemBlock;

  12. @Mod(modid = "diracon", name = "Diracon", version = "1.0.0")
  13. public class Diracon {
  14.         public static MyBlock myBlock;
  15.         private static final String MODID = "diracon";
  16.         private static final String DIRACORE = "diracOre";
  17.         public static BlockDiracOre diracBlock;
  18.         
  19.         /**
  20.          * FMLPreInitializationEvent 预初始化
  21.          * CPW建议开发者在预初始化时进行读取配置,创建物品砖块,以及注册相关信息等操作,另外你还能在这时候获得FML给你传来
  22.          * 的配置文件.(Configuration,但是我并不太愿意在基础篇讲这个东西...)
  23.          * 从1.7开始,砖块和物品的初始化必须在这个阶段进行!
  24.          * @param event
  25.          */
  26.         @EventHandler
  27.         public void preLoad(FMLPreInitializationEvent event) {
  28.                 final String myModId = "diracon";
  29.                 final String myBlockId = "myblock";ID
  30.                 myBlock = new MyBlock(Material.rock);
  31.                 myBlock.<u><font color="#ff8c00">setUnlocalizedName</font></u>(myModId + "." + myBlockId);
  32.                 myBlock.<font color="#ff8c00"><u>setRegistryName</u></font>(myModId, myBlockId);
  33.                 myBlock.setCreativeTab(CreativeTabs.tabBlock);
  34. GameRegistry.register(myBlock);
  35.                
  36.                 diracBlock = new BlockDiracOre();
  37.                 diracBlock.<font color="#ff8c00"><u>setUnlocalizedName</u></font>(MODID + "." + DIRACORE);
  38.                 diracBlock.<font color="#ff8c00"><u>setRegistryName</u></font>(MODID, DIRACORE);
  39.                 diracBlock.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
  40.                 GameRegistry.<font color="#ff8c00"><u>register</u></font>(diracBlock);
  41.                 GameRegistry.register(new ItemBlock(diracBlock).<font color="#f4a460">setRegis<u>t</u>ryName</font>(MODID, DIRACORE));
  42.         }

  43.         /**
  44.          * FMLInitializationEvent 初始化
  45.          * 配置Mod设置,添加合成表...另外CPW建议Mod间通讯(通过FMLInterModComms类完成)应当在此时进行.
  46.          * @param event
  47.          */
  48.         @EventHandler
  49.         public void load(FMLInitializationEvent event) {
  50.         }

  51.         /**
  52.          * FMLPostInitializationEvent 初始化后
  53.          * CPW认为初始化后是供Mod间相互交互的时候,此时该载入的Mod都已经载入了,因此开发者们可以在此时为实现Mod间联动的
  54.          * 操作做准备.顺便一提,FMLPostInitializationEvent事件的buildSoftDependProxy方法可以获取一个类的实例,它会先
  55.          * 判断你要求的mod是否存在,如果存在则返还给你你要求的类的实例.
  56.          * @param event
  57.          */
  58.         @EventHandler
  59.         public void postLoad(FMLPostInitializationEvent event) {
  60.         }
  61.         
  62.         /**
  63.          * IMCEvent 接收Mod间通讯
  64.          * 这个事件会排在FMLInitializationEvent之后,它会附带一个保存着其他Mod发来的信息的列表.
  65.          * @param event
  66.          */
  67.         @EventHandler
  68.         public void imcE(IMCEvent event) {
  69.                
  70.         }
  71. }
复制代码
  1. package net.hakugyokurou.diracon;

  2. import net.minecraft.block.Block;
  3. import net.minecraft.block.material.Material;

  4. public class BlockDiracOre extends Block {

  5.         public BlockDiracOre() {
  6.                 super(Material.rock);
  7.                 setHardness(1.5f);//setHardness是设置砖块的硬度,这个硬度是相对于徒手而言的,泥土是0.5,石头是1.5,大部分矿石是3.0.
  8.                 setResistance(10.0f);//setResistance是设置对爆炸的抗性,石头是10.0.
  9.                 setLightLevel(0.0f);//setLightLevel是设置发光亮度,范围是0.0~1.0,南瓜灯,萤石和岩浆是1.0,通往下界的传送门是0.75.采集中的红石是0.625.
  10.                 setHarvestLevel("pickaxe", 0);//setHarvestLevel是设置开采砖块时需要使用的工具,可以是"pickaxe"(镐), "shovel"(铲子)或"axe"(斧头).后面的数值为工具材质要求,-1(默认值)为可以直接手撕,0是木质和金质,1是石质,2是铁质,3是钻石质.
  11.                 //setSoundType(SoundType.STONE);//setSoundType是设置踩在上面的脚步声.默认值就是SoundType.STONE(石头地的声音.) 这里是为了演示这个方法的用途.
  12.         }
  13. }
复制代码
  1. package net.hakugyokurou.diracon;

  2. import net.minecraft.block.Block;
  3. import net.minecraft.block.material.Material;

  4. public class MyBlock extends Block {
  5.         public MyBlock(Material material) {
  6.                 super(material);
  7.         }
  8. }
复制代码



roj234
先把这些方法在
C:\Users\用户名\.gradle\caches\minecraft\de\oceanlabs\mcp\mcp_stable\MCP版本\methods.csv(1.9.4)中
翻译成SRG NAME
然后在1.7.10中的这个csv找SRGNAME对的MCPNAME

WSY666
666666666666

巨锤大仙
我的世界牛逼

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