提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
13行目: | 13行目: | ||
=== ソースコード === | === ソースコード === | ||
+ | Packageは適宜設定してください。 | ||
+ | |||
==== SamplePeripheralCore.java ==== | ==== SamplePeripheralCore.java ==== | ||
<source lang = "java"> | <source lang = "java"> | ||
− | package mods.sample.peripheral; | + | // package mods.sample.peripheral; |
import net.minecraft.block.Block; | import net.minecraft.block.Block; | ||
30行目: | 32行目: | ||
− | @Mod( modid = SamplePeripheralCore.MOD_ID, | + | @Mod(modid=SamplePeripheralCore.MOD_ID, |
− | + | name=SamplePeripheralCore.MOD_NAME, | |
− | + | version=SamplePeripheralCore.MOD_VERSION, | |
− | + | dependencies = SamplePeripheralCore.MOD_DEPENDENCIES) | |
− | |||
public class SamplePeripheralCore { | public class SamplePeripheralCore { | ||
41行目: | 42行目: | ||
public static final String MOD_VERSION = "1.0"; | public static final String MOD_VERSION = "1.0"; | ||
public static final String MOD_DEPENDENCIES = "after:ComputerCraft"; | public static final String MOD_DEPENDENCIES = "after:ComputerCraft"; | ||
− | |||
public static Block blockSamplePeripheral; | public static Block blockSamplePeripheral; | ||
48行目: | 48行目: | ||
public void preInit(FMLPreInitializationEvent event) { | public void preInit(FMLPreInitializationEvent event) { | ||
blockSamplePeripheral = new BlockSamplePeripheral(); | blockSamplePeripheral = new BlockSamplePeripheral(); | ||
− | GameRegistry.registerBlock(blockSamplePeripheral, " | + | GameRegistry.registerBlock(blockSamplePeripheral, "blockSamplePeripheral"); |
if (event.getSide().isClient()) { | if (event.getSide().isClient()) { | ||
ModelLoader.setCustomModelResourceLocation( | ModelLoader.setCustomModelResourceLocation( | ||
Item.getItemFromBlock(blockSamplePeripheral), 0, | Item.getItemFromBlock(blockSamplePeripheral), 0, | ||
− | new ModelResourceLocation(MOD_ID + ":" + " | + | new ModelResourceLocation(MOD_ID + ":" |
+ | + "blockSamplePeripheral", "inventory")); | ||
} | } | ||
} | } | ||
59行目: | 60行目: | ||
@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()); | ||
} | } | ||
68行目: | 69行目: | ||
==== BlockSamplePeripheral.java ==== | ==== BlockSamplePeripheral.java ==== | ||
<source lang = "java"> | <source lang = "java"> | ||
− | package mods.sample.peripheral; | + | // package mods.sample.peripheral; |
import net.minecraft.block.BlockContainer; | import net.minecraft.block.BlockContainer; | ||
81行目: | 82行目: | ||
super(Material.ground); | super(Material.ground); | ||
− | setUnlocalizedName(" | + | setUnlocalizedName("blockSamplePeripheral"); |
setCreativeTab(CreativeTabs.tabBlock); | setCreativeTab(CreativeTabs.tabBlock); | ||
} | } | ||
100行目: | 101行目: | ||
==== TileSamplePeripheral.java ==== | ==== TileSamplePeripheral.java ==== | ||
<source lang = "java"> | <source lang = "java"> | ||
− | package mods.sample.peripheral; | + | // package mods.sample.peripheral; |
import net.minecraft.tileentity.TileEntity; | import net.minecraft.tileentity.TileEntity; | ||
155行目: | 156行目: | ||
==== PeripheralProvider.java ==== | ==== PeripheralProvider.java ==== | ||
<source lang = "java"> | <source lang = "java"> | ||
− | package mods.sample.peripheral; | + | // package mods.sample.peripheral; |
import net.minecraft.tileentity.TileEntity; | import net.minecraft.tileentity.TileEntity; | ||
180行目: | 181行目: | ||
</source> | </source> | ||
− | ==== | + | ==== blocksampleperipheral.json (blockstates) ==== |
assets\sampleperipheralmod\blockstates ディレクトリに設置します。 | assets\sampleperipheralmod\blockstates ディレクトリに設置します。 | ||
<source lang = "javascript"> | <source lang = "javascript"> | ||
{ | { | ||
"variants": { | "variants": { | ||
− | "normal": { "model": "sampleperipheralmod: | + | "normal": { "model": "sampleperipheralmod:blocksampleperipheral" } |
} | } | ||
} | } | ||
</source> | </source> | ||
− | ==== | + | ==== blocksampleperipheral.json (models/block) ==== |
assets\sampleperipheralmod\models\block ディレクトリに設置します。 | assets\sampleperipheralmod\models\block ディレクトリに設置します。 | ||
<source lang = "javascript"> | <source lang = "javascript"> | ||
201行目: | 202行目: | ||
</source> | </source> | ||
− | ==== | + | ==== blocksampleperipheral.json (models/item) ==== |
assets\sampleperipheralmod\models\item ディレクトリに設置します。 | assets\sampleperipheralmod\models\item ディレクトリに設置します。 | ||
<source lang = "javascript"> | <source lang = "javascript"> | ||
{ | { | ||
− | "parent": "sampleperipheralmod:block/ | + | "parent": "sampleperipheralmod:block/blocksampleperipheral", |
"display": { | "display": { | ||
"thirdperson": { | "thirdperson": { | ||
223行目: | 224行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
@Mod( | @Mod( | ||
− | dependencies = SamplePeripheralCore.MOD_DEPENDENCIES | + | dependencies = SamplePeripheralCore.MOD_DEPENDENCIES) |
− | |||
public class SamplePeripheralCore { | public class SamplePeripheralCore { | ||
230行目: | 230行目: | ||
</source> | </source> | ||
このmodがComputerCraftの後に読み込まれるように設定しています。 | このmodがComputerCraftの後に読み込まれるように設定しています。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*周辺機器のブロックとTileEntityの登録 | *周辺機器のブロックとTileEntityの登録 | ||
<source lang = "java"> | <source lang = "java"> | ||
blockSamplePeripheral = new BlockSamplePeripheral(); | blockSamplePeripheral = new BlockSamplePeripheral(); | ||
− | GameRegistry.registerBlock(blockSamplePeripheral, " | + | GameRegistry.registerBlock(blockSamplePeripheral, "blockSamplePeripheral"); |
</source> | </source> | ||
<source lang = "java"> | <source lang = "java"> | ||
− | GameRegistry.registerTileEntity(TileSamplePeripheral.class, " | + | GameRegistry.registerTileEntity(TileSamplePeripheral.class, "tileSamplePeripheral"); |
</source> | </source> | ||
258行目: | 245行目: | ||
ModelLoader.setCustomModelResourceLocation( | ModelLoader.setCustomModelResourceLocation( | ||
Item.getItemFromBlock(blockSamplePeripheral), 0, | Item.getItemFromBlock(blockSamplePeripheral), 0, | ||
− | new ModelResourceLocation(MOD_ID + ":" + " | + | new ModelResourceLocation(MOD_ID + ":" |
+ | + "blockSamplePeripheral", "inventory")); | ||
} | } | ||
</source> | </source> | ||
今回は1ブロックIDに対して1モデルだけなので、ファイル名はブロックの登録名と同じにしています。<br> | 今回は1ブロックIDに対して1モデルだけなので、ファイル名はブロックの登録名と同じにしています。<br> | ||
+ | 実際に読み込まれるJSONファイル名は、アルファベットをすべて小文字にした登録名 + ".json" です。 | ||
*PeripheralProviderの登録 | *PeripheralProviderの登録 | ||
405行目: | 394行目: | ||
今回は周辺機器のTileEntityでIPeripheralを実装したため、座標から周辺機器のTileEntityを取得し、IPeripheralのインスタンスとして返しています。 | 今回は周辺機器のTileEntityでIPeripheralを実装したため、座標から周辺機器のTileEntityを取得し、IPeripheralのインスタンスとして返しています。 | ||
− | ==== | + | ==== blocksampleperipheral.json (blockstates) ==== |
BlockState別のモデルJSONファイルの指定を行います。<br> | BlockState別のモデルJSONファイルの指定を行います。<br> | ||
assets\<MOD_ID>\blockstates ディレクトリに配置します。 | assets\<MOD_ID>\blockstates ディレクトリに配置します。 | ||
− | 今回の周辺機器ブロックはBlockStateが無いので、" | + | 今回の周辺機器ブロックはBlockStateが無いので、"noemal"で単一のモデルJSONファイルを指定しています。<br> |
− | ==== | + | ==== blocksampleperipheral.json (models/block) ==== |
ブロックのモデルを指定するJSONファイルです。<br> | ブロックのモデルを指定するJSONファイルです。<br> | ||
assets\<MOD_ID>\models\block ディレクトリに設置します。 | assets\<MOD_ID>\models\block ディレクトリに設置します。 | ||
418行目: | 407行目: | ||
また、テクスチャにはバニラの石半ブロックの上面の画像を指定しています。 | また、テクスチャにはバニラの石半ブロックの上面の画像を指定しています。 | ||
− | ==== | + | ==== blocksampleperipheral.json (models/item) ==== |
ブロックのアイテムモデルを指定するJSONファイルです。<br> | ブロックのアイテムモデルを指定するJSONファイルです。<br> | ||
assets\<MOD_ID>\models\item ディレクトリに設置します。 | assets\<MOD_ID>\models\item ディレクトリに設置します。 |