武器MODについてなのですが

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.39692)

武器MODについてなのですが

投稿記事by x裕紀x » 2012年5月20日(日) 18:57

武器MODをサイトを見ながらがんばって作っていたのですが,どうしても下記のエラーが外れず・・
困っています 誰かアドバイス貰えますか?
ソースコードはエラーより下に書いてあります。

== MCP 6.2 (data: 6.2, client: 1.2.5, server: 1.2.5) ==
# found jad, jad patches, ff patches, osx patches, srgs, name csvs, doc csvs, pa
ram csvs, astyle, astyle config
== Recompiling client ==
> Cleaning bin
> Recompiling
'"C:\Program Files\Java\jdk1.7.0_03\bin\javac" -Xlint:-options -deprecation -g -
source 1.6 -target 1....' failed : 1

== ERRORS FOUND ==

src\minecraft\net\minecraft\src\ItemLonginusSword.java:57: エラー: シンボルを見
つけられません
entityplayer.func_35199_b(itemstack, func_35411_c(itemstack));//
剣を防御に使う。
^

シンボル: メソッド func_35199_b(ItemStack,int)
場所: タイプEntityPlayerの変数 entityplayer

注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
エラー1個
==================

== Recompiling server ==
> Cleaning bin
> Recompiling
- Done in 6.21 seconds
続行するには何かキーを押してください . . .

"mod_Yuki.java"
package net.minecraft.src; //MCPのパッケージを読み込む

public class mod_YUKI extends BaseMod //クラス本体 BaseMod(ModLoaderのMOD製作API)を継承
{

public String getVersion()
{ //MODのバージョン
return "1.0.0";
}

public static Block TTNTBlock;//Blockクラス型の変数を宣言します
public static int blockID = 200; //ブロックIDを設定。既存IDとかぶらなければ何でも。
public static Item LonginusSword;
public static int swordID = 5001;

public mod_YUKI()
{
super ();
}

public void load()
{ //ここで大体の処理を行います

TTNTBlock = new BlockTTNT(blockID,0).setBlockName("blockName");
//BlockクラスのオブジェクトttrBlockを作る。
ModLoader.registerBlock(TTNTBlock); //ゲームに新しくブロックを登録する
TTNTBlock.blockIndexInTexture = ModLoader.addOverride("/terrain.png","/yuki/ttnt.png");
//テクスチャを設定(ファイルパスについては後述)
ModLoader.addName(TTNTBlock, "T2NT Block");//ゲーム内で表示する名前を設定

LonginusSword = new ItemLonginusSword(swordID, EnumToolYuki.LONGINUS).setItemName("LonginusSword");
LonginusSword.iconIndex = ModLoader.addOverride("/gui/items.png","/yuki/longinus.png");
ModLoader.addName(LonginusSword,"Lance of Longinus");

ModLoader.addRecipe(new ItemStack(TTNTBlock, 1),
new Object[]{ "XXX",
Character.valueOf('X'),Block.tnt });
ModLoader.addRecipe(new ItemStack(LonginusSword,1),
new Object[]{"#","#","#",
Character.valueOf('#'),TTNTBlock });
//ブロックのレシピを設定(詳しいレシピの作り方は別のチュートリアルで)
}
}

"ItemLonginusSword.java"
package net.minecraft.src;

public class ItemLonginusSword extends Item
{
public ItemLonginusSword(int i,EnumToolYuki enumtoolyuki)//剣の初期化を行う。
{
super(i);//各アイテム共通の初期化を行う。
maxStackSize = 1;//インベントリで重ねられる数を設定する。剣は重ねられないので1。
setMaxDamage(enumtoolyuki.getMaxUses());//剣の耐久度を設定する。材料によって変わる。
weaponDamage = 4 + enumtoolyuki.getDamageVsEntity() * 2;
//剣の攻撃力を設定する。材料(enumtooltutorial.~)によって変わる。
}

public float getStrVsBlock(ItemStack itemstack, Block block)//ブロックの破壊速度を返す。
{
return block.blockID != Block.web.blockID ? 1.5F : 15F;
//もしクモの巣ブロックであれば素手の15倍、それ以外のブロックは1.5倍。
}

public boolean hitEntity(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1)
//この武器を使ってentityliving1(通常はプレイヤー)がentityliving(通常はMob)を攻撃したときに呼ばれる。
{
itemstack.damageItem(1,entityliving1);//剣の耐久度を1減らす。
return true;//攻撃が成功したことを返す。
}

public boolean onBlockDestroyed(ItemStack itemstack, int i, int j, int k, int l, EntityLiving entityliving)
//この武器を使ってブロックが破壊されたときに呼ばれる。
{
itemstack.damageItem(2,entityliving);//剣の耐久度を2減らす。
return true;//ブロック破壊が成功したことを返す。
}

public int getDamageVsEntity(Entity entity)//剣の攻撃力を返す。
{
return weaponDamage;//初期化のときに設定した攻撃力を返す。
}

public boolean isFull3D()//手に持ったときに厚みを持たせるかどうか。
{
return true;//剣なので厚みを持たせる。
}

public EnumAction func_35412_b(ItemStack itemstack)//剣を使ったときの動作を返す。
{
return EnumAction.block;//ブロックと同じ(振る)動作を行う。
}

public int func_35411_c(ItemStack itemstack)//剣を防御に使ったときの持続時間。
{
return 0x11940;//10進数では72000。
}

public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
//アイテムを持って右クリックしたときに呼ばれる。
{
entityplayer.func_35199_b(itemstack, func_35411_c(itemstack));//剣を防御に使う。
return itemstack;//使ったアイテムを返す。
}

public boolean canHarvestBlock(Block block)
//素手で壊してもアイテムにならないブロックを剣で壊した際、アイテムが得られるかどうか。
{
return block.blockID == Block.web.blockID;//クモの巣であればアイテムを得られる。
}

private int weaponDamage;//剣の攻撃力を表す変数。
}

"EnumToolYuki.java"
package net.minecraft.src;

public enum EnumToolYuki
{
LONGINUS("LONGINUS",0,20,2000,20F,20);

private EnumToolYuki(String s, int i, int j, int k, float f, int l)
{
harvestLevel = j;
maxUses = k;
efficiencyOnProperMaterial = f;
damageVsEntity = l;
}

public int getMaxUses()
{
return maxUses;
}

public float getEfficiencyOnproperMaterial()
{
return efficiencyOnProperMaterial;
}

public int getDamageVsEntity()
{
return damageVsEntity;
}

public int getHarvestLevel()
{
return harvestLevel;
}

private final int harvestLevel;
private final int maxUses;
private final float efficiencyOnProperMaterial;
private final int damageVsEntity;
private static final EnumToolYuki field_21209_j[]; /* synthetic field */

static
{
field_21209_j = (new EnumToolYuki[]{
LONGINUS
});
}
}
x裕紀x
ID:70743d1d
 

  • (PostNo.41828)

Re: 武器MODについてなのですが

投稿記事by edke » 2012年6月04日(月) 01:27

x裕紀x さんが書きました:src\minecraft\net\minecraft\src\ItemLonginusSword.java:57: エラー: シンボルを見
つけられません
entityplayer.func_35199_b(itemstack, func_35411_c(itemstack));//
剣を防御に使う。

原因がしっかり書いてあるでしょう。それを解決してあげてください。
解決方法はよくわかりません。
あと、ソース等を貼る時はspoiler
こういうの
やCode
コード: 全て選択
こういうの
タグを利用してトピックを見やすくしてください。
*初心もっだーの成れの果て*
アバター
edke
ID:a76b853b
金掘り
 
記事: 382
登録日時: 2011年12月12日(月) 21:42

  • (PostNo.43390)

Re: 武器MODについてなのですが

投稿記事by SpringMine » 2012年6月15日(金) 20:45

問題の箇所は
コード: 全て選択
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
        par3EntityPlayer.setItemInUse(par1ItemStack, getMaxItemUseDuration(par1ItemStack));
        return par1ItemStack;
    }

に変わっていますな。

メソッド名なんかはMCPの更新で変わったりするので丸写しせずに確認してください。
SpringMine
ID:7bacda2c
石炭掘り
 
記事: 177
登録日時: 2011年12月07日(水) 22:14


Return to 質問:開発・制作関連

x