提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
4行目: | 4行目: | ||
== 周辺機器の追加 == | == 周辺機器の追加 == | ||
何もしない周辺機器ブロックを追加します。 | 何もしない周辺機器ブロックを追加します。 | ||
− | |||
− | |||
− | |||
− | |||
このサンプルでは周辺機器ブロックのレシピを登録していないので、適当なレシピを追加するか、クリエイティブ・インベントリから取り出してください。 | このサンプルでは周辺機器ブロックのレシピを登録していないので、適当なレシピを追加するか、クリエイティブ・インベントリから取り出してください。 | ||
25行目: | 21行目: | ||
import dan200.computercraft.api.ComputerCraftAPI; | import dan200.computercraft.api.ComputerCraftAPI; | ||
− | @Mod(modid= | + | |
− | name= | + | @Mod(modid="SamplePeripheralMod", name="SamplePeripheralMod", version="1.0", |
− | version= | + | dependencies = "after:ComputerCraft") |
− | dependencies = | ||
public class SamplePeripheralCore { | public class SamplePeripheralCore { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
public static Block blockSamplePeripheral; | public static Block blockSamplePeripheral; | ||
41行目: | 31行目: | ||
public void preInit(FMLPreInitializationEvent event) { | public void preInit(FMLPreInitializationEvent event) { | ||
blockSamplePeripheral = new BlockSamplePeripheral() | blockSamplePeripheral = new BlockSamplePeripheral() | ||
− | GameRegistry.registerBlock(blockSamplePeripheral, " | + | .setBlockName("blockSamplePeripheral") |
+ | .setCreativeTab(CreativeTabs.tabBlock); | ||
+ | GameRegistry.registerBlock(blockSamplePeripheral, "blockSamplePeripheral"); | ||
} | } | ||
@EventHandler | @EventHandler | ||
public void init(FMLInitializationEvent event) { | public void init(FMLInitializationEvent event) { | ||
− | GameRegistry.registerTileEntity(TileSamplePeripheral.class, " | + | GameRegistry.registerTileEntity(TileSamplePeripheral.class, "tileSamplePeripheral"); |
ComputerCraftAPI.registerPeripheralProvider(new PeripheralProvider()); | ComputerCraftAPI.registerPeripheralProvider(new PeripheralProvider()); | ||
} | } | ||
56行目: | 48行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
package mods.sample.peripheral; | package mods.sample.peripheral; | ||
+ | |||
+ | import java.util.Random; | ||
import net.minecraft.block.BlockContainer; | import net.minecraft.block.BlockContainer; | ||
66行目: | 60行目: | ||
public BlockSamplePeripheral() { | public BlockSamplePeripheral() { | ||
super(Material.ground); | super(Material.ground); | ||
− | |||
− | |||
− | |||
} | } | ||
124行目: | 115行目: | ||
return other == this; | return other == this; | ||
} | } | ||
− | |||
return false; | return false; | ||
} | } | ||
148行目: | 138行目: | ||
return (IPeripheral)tile; | return (IPeripheral)tile; | ||
} | } | ||
− | |||
return null; | return null; | ||
} | } | ||
161行目: | 150行目: | ||
*dependencies | *dependencies | ||
<source lang = "java"> | <source lang = "java"> | ||
− | + | dependencies = "after:ComputerCraft" | |
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
@Modのdependenciesで、このmodがComputerCraftの後に読み込まれるように設定しています。 | @Modのdependenciesで、このmodがComputerCraftの後に読み込まれるように設定しています。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*PeripheralProviderの登録 | *PeripheralProviderの登録 | ||
191行目: | 167行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
public class BlockSamplePeripheral extends BlockContainer { | public class BlockSamplePeripheral extends BlockContainer { | ||
+ | |||
+ | // 省略 | ||
@Override | @Override | ||
196行目: | 174行目: | ||
return new TileSamplePeripheral(); | return new TileSamplePeripheral(); | ||
} | } | ||
+ | } | ||
</source> | </source> | ||
周辺機器はTileEntityを持つブロックとして実装するので、BlockContainerを継承し、createNewTileEntity()で周辺機器のTileEntityのインスタンスを生成して返しています。 | 周辺機器はTileEntityを持つブロックとして実装するので、BlockContainerを継承し、createNewTileEntity()で周辺機器のTileEntityのインスタンスを生成して返しています。 | ||
263行目: | 242行目: | ||
return other == this; | return other == this; | ||
} | } | ||
− | |||
return false; | return false; | ||
} | } | ||
288行目: | 266行目: | ||
return (IPeripheral)tile; | return (IPeripheral)tile; | ||
} | } | ||
− | |||
return null; | return null; | ||
} | } |