提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
10行目: 10行目:
 
package custom.tool.item;
 
package custom.tool.item;
  
import net.minecraft.block.Block;
 
 
import net.minecraft.item.EnumToolMaterial;
 
import net.minecraft.item.EnumToolMaterial;
 
import net.minecraft.item.Item;
 
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
 
 
import net.minecraft.item.ItemTool;
 
import net.minecraft.item.ItemTool;
 
import net.minecraftforge.client.IItemRenderer;
 
import net.minecraftforge.client.IItemRenderer;
21行目: 19行目:
 
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
 
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
 
import cpw.mods.fml.common.network.NetworkMod;
 
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
 
 
import cpw.mods.fml.common.registry.LanguageRegistry;
 
import cpw.mods.fml.common.registry.LanguageRegistry;
  
 
@Mod(
 
@Mod(
     modid = CustomModelTools.modid,
+
     modid = "CustomModelTools",
     name = CustomModelTools.name,
+
     name = "Custom Model Tools",
     version = CustomModelTools.version
+
     version = "1"
 
)
 
)
 
@NetworkMod(
 
@NetworkMod(
35行目: 32行目:
 
public class CustomModelTools
 
public class CustomModelTools
 
{
 
{
    public static final String modid = "CustomModelTools";
 
    public static final String name = "Custom Model Tools Modification";
 
    public static final String version = "1";
 
   
 
 
     public static final boolean clientSideRequiredBoolean = true;
 
     public static final boolean clientSideRequiredBoolean = true;
 
     public static final boolean serverSideRequiredBoolean = false;
 
     public static final boolean serverSideRequiredBoolean = false;
44行目: 37行目:
 
     public static boolean Model_ON_OFF_Boolean = true;
 
     public static boolean Model_ON_OFF_Boolean = true;
 
     public static String ModelTexture;
 
     public static String ModelTexture;
     public static String texture = "model";
+
     public static String texture;
    public static int textureWidth = 64;
 
    public static int textureHeight = 32;
 
 
      
 
      
 
     public static EnumToolMaterial toolMaterial;
 
     public static EnumToolMaterial toolMaterial;
 
      
 
      
 
     public static ItemTool mainItem;
 
     public static ItemTool mainItem;
    public static int itemID = 3001; //default 3001 = 3257
 
    public static int damageFloat = (int) 1.0;
 
    public static String domain = "CustomModelItem";
 
    public static String item_name = "CustomModelItem";
 
 
      
 
      
 
     @EventHandler
 
     @EventHandler
 
     public void mainLoading(FMLPreInitializationEvent event)
 
     public void mainLoading(FMLPreInitializationEvent event)
 
     {
 
     {
         mainItem = (ItemTool) new ItemCustomModelTools(itemID, toolMaterial.IRON).setData(domain, item_name, damageFloat);
+
         mainItem = (ItemTool) new ItemCustomModelTools(3001, toolMaterial.IRON).setData("CustomModelItem", "CustomModelItem", 1.0F);
         registerItem(mainItem, "CustomModelItem", "Custom Model Item", "カスタムモデルアイテム", new ItemCustomModelToolsRenderer(), true, texture, textureWidth, textureHeight);
+
         registerItem(mainItem, "CustomModelItem", "Custom Model Item", "カスタムモデルアイテム", new ItemCustomModelToolsRenderer(), true, texture, 64, 32);
        GameRegistry.addRecipe(new ItemStack(mainItem, 1, 0), new Object[] {" S ", "DCF", " X ", 'S', Item.pickaxeIron, 'D', Item.shovelIron, 'F', Item.axeIron, 'X', Item.stick, 'C', Block.stone});
 
 
     }
 
     }
 
     public void registerItem(Item items, String name, String en_US, String ja_JP, IItemRenderer itemRenderer, boolean modeling, String texture, int width, int height)
 
     public void registerItem(Item items, String name, String en_US, String ja_JP, IItemRenderer itemRenderer, boolean modeling, String texture, int width, int height)
71行目: 57行目:
 
         Model_ON_OFF_Boolean = modeling;
 
         Model_ON_OFF_Boolean = modeling;
 
         ModelTexture = texture;
 
         ModelTexture = texture;
        ModelCustomModelTools modelings = new ModelCustomModelTools();
 
        modelings.setTextureSize(width, height);
 
    }
 
    public static void configInformation(int ItemID, String domain, String name, int damage, boolean modeling, int width, int height)
 
    {
 
        itemID = ItemID;
 
        CustomModelTools.domain = domain;
 
        item_name = name;
 
        damageFloat = damage;
 
        Model_ON_OFF_Boolean = modeling;
 
 
         ModelCustomModelTools modelings = new ModelCustomModelTools();
 
         ModelCustomModelTools modelings = new ModelCustomModelTools();
 
         modelings.setTextureSize(width, height);
 
         modelings.setTextureSize(width, height);
195行目: 171行目:
 
{
 
{
 
     private ModelCustomModelTools modeling;
 
     private ModelCustomModelTools modeling;
 +
    protected Minecraft mc;
 
     public ItemCustomModelToolsRenderer()
 
     public ItemCustomModelToolsRenderer()
 
     {
 
     {
234行目: 211行目:
 
                 GL11.glTranslatef(-0.304800F, -0.500F, -0.09F);
 
                 GL11.glTranslatef(-0.304800F, -0.500F, -0.09F);
 
   
 
   
                 Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(CustomModelTools.domain, "textures/model/" + CustomModelTools.texture + ".png"));
+
                 mc.renderEngine.bindTexture(new ResourceLocation(CustomModelTools.ModelTexture));
 
   
 
   
 
                 modeling.render((Entity) data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
 
                 modeling.render((Entity) data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
379行目: 356行目:
 
</source>
 
</source>
  
==解説==
+
未完成<br>
 
+
[[チュートリアル一覧]]に乗せる方がいるのなら、まだ乗せないで下さい
注意、Mod開発上級者しかわからないと思いますが、すべて解説していきます。
 
 
 
===CustomModelTools.java===
 
 
 
<source lang = java>
 
public void mainLoading(FMLPreInitializationEvent event)
 
</source>
 
これは、最前列に実行するポイントで、メドッソ名のmainLoadingはpreInit限定ではありません。<br>
 
<source lang = java>
 
public static void configInformation(int ItemID, String domain, String name, int damage, boolean modeling, int width, int height)
 
</source>
 
ここでは、メドッソ名道理、コンフィグ用のところです。<br>
 
なので、使わない場合、消去してかまいません。<br>
 
UTF-8で保存してください。
 
 
 
<source lang = java>
 
mainItem = (ItemTool) new ItemCustomModelTools(itemID, toolMaterial.IRON).setData("CustomModelItem", "CustomModelItem", damageFloat);
 
</source>
 
ここの最初のコンテナで、アイテム登録します。<br>
 
setDataは、最初のストリングは「場所」、2番目のストリングは「アイテム名、テクスチャ名」、3番目は「アイテムのダメージカウント」
 
 
 
<source lang = java>
 
registerItem(mainItem, "CustomModelItem", "Custom Model Item", "カスタムモデルアイテム", new ItemCustomModelToolsRenderer(), true, texture, textureWidth, textureHeight);
 
</source>
 
ここでは、アイテムデータを詳しく登録するところです。<br>
 
1番目は「アイテムコンテナ」、2番目は「アイテム名」、3番目は「英語名」、4番目は「日本語名」、5番目は「モデルデータ」、6番目は「モデルを使うか」、7_8番目は「モデルテクスチャサイズ」<br>
 
 
 
===ItemCustomModelTools.java===
 
 
 
<source lang = java>
 
private static final Block[] setBleakingList = new Block[] {..., ...., ..., ....};
 
</source>
 
ここでは、壊せるブロックのリストです。<br>
 
ここに、登録されてなくても壊せるものはありますが、ここで登録しといたほうがいいです。
 
 
 
<source lang = java>
 
public static float damageFloat = 1.0F;
 
</source>
 
ここでは、対mobに使うところです。
 
 
 
<source lang = java>
 
public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block)
 
</source>
 
ここでは、掘れるマテリアル属性を登録するところです。
 
 
 
===ItemCustomModelToolsRenderer.java===
 
 
 
<source lang = java>
 
private ModelCustomModelTools modeling;
 
public ItemCustomModelToolsRenderer()
 
{
 
    modeling = new ModelCustomModelTools();
 
}
 
</source>
 
ここでは、モデルデータを登録するところです。
 
 
 
<source lang = java>
 
public boolean handleRenderType(ItemStack item, ItemRenderType type)
 
</source>
 
ここでは、モデルをつけるかどうかを認識するところです。<br>
 
IItemRendererないにある、EnumクラスのItemRenderType.javaにある、「ENTITY」「EQUIPPED」「EQUIPPED_FIRST_PERSON」「INVENTORY」「FIRST_PERSON_MAP」の五つあり、
 
ENTITYは、EntityItem認識を行うところです。<br>
 
EQUIPPEDは、今回使うもので、モデル認識を行うところです。<br>
 
EQUIPPED_FIRST_PERSONは、三人称視点でのモデル認識を行うところです<br>
 
INVENTORYは、インベントリ内のみモデル認識を行うところです。<br>
 
FIRST_PERSON_MAPは、MapData.javaの認識転移範囲内にプレイヤーがあるかどうかを確認させて、実行させるかどうかです。
 
 
 
<source lang = java>
 
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
 
</source>
 
ここでは、モデルデータを詳しく登録するところで、先ほど出した「EQUIPPED」の内容を登録するところです。<br>
 
テクスチャロードは、CustomModelItemをドメインにしてるので、
 
assets/CustomModelItem/...
 
となり、モデル名前が「model」なので、
 
assets/CustomModelItem/textures/model/model.png
 
となります。
 
テクスチャの場所は「assets/CustomModelItem/textures/model/model.png」
 
 
 
===ModelCustomModelTools.java===
 
 
 
ここでは、アイテムに使うモデルを設定するところです。
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)