by penM » 2020年7月01日(水) 22:47
meta26 さんが書きました: ↑2020年7月01日(水) 18:55
指摘ありがとうざいます。ItemWoodCarbonにItemを継承させるようにプログラムを入れました。
ただ、それでもWoodCarbonのとこの豆電球は消えません。どうすればいいですか?
【マインクラフト Modding】1.15対応 自作MODの作り方 番外編 #1 アイテムティア、アーマーマテリアルの修正からコード拝借します。
DIRTですが、これは7つの引数を持ちます。しかし何が入るかはまだ宣言されていません。
コード: 全て選択
DIRT( "dirtmod:dirt",
15,
new int[] {1,4,5,2},
ArmorMaterial.IRON.getEnchantability(),
SoundEvents.ITEM_ARMOR_EQUIP_LEATHER,
ArmorMaterial.CHAIN.getToughness(),
Ingredient.fromItems( new BlockSuperCompressedDirt().asItem() )
);
で何が入るかは以下の宣言により確定します。ここで7個の引数の型などが宣言されています。アイテムティアでは引数が6個なので対応していることがわかります。thisはインスタンスで保持する変数である意味です。(詳しい意味は調べてください。)
コード: 全て選択
private DirtModArmorMaterials(String nameIn, int maxDamageFactorIn, int[] damageReductionAmountsIn, int enchantabilityIn, SoundEvent equipSoundIn, float p_i48533_8_, Ingredient repairMaterial) {
this.name = nameIn;
this.maxDamageFactor = maxDamageFactorIn;
this.damageReductionAmountArray = damageReductionAmountsIn;
this.enchantability = enchantabilityIn;
this.soundEvent = equipSoundIn;
this.toughness = p_i48533_8_;
this.repairMaterial = repairMaterial;
}
さらにthisで利用する変数は事前に宣言します。
コード: 全て選択
private static final int[] MAX_DAMAGE_ARRAY = new int[]{13, 15, 16, 11};
private final String name;
private final int maxDamageFactor;
private final int[] damageReductionAmountArray;
private final int enchantability;
private final SoundEvent soundEvent;
private final float toughness;
private final Ingredient repairMaterial;
この宣言がないため、WoodCarbonの引数がおかしいと言われているのではないでしょうか?
[quote=meta26 post_id=230 time=1593597357 user_id=194]
指摘ありがとうざいます。ItemWoodCarbonにItemを継承させるようにプログラムを入れました。
ただ、それでもWoodCarbonのとこの豆電球は消えません。どうすればいいですか?
[/quote]
[nturl=https://www.umagame.info/entry/2020/04/04/134047/]【マインクラフト Modding】1.15対応 自作MODの作り方 番外編 #1 アイテムティア、アーマーマテリアルの修正[/nturl]からコード拝借します。
DIRTですが、これは7つの引数を持ちます。しかし何が入るかはまだ宣言されていません。
[code]
DIRT( "dirtmod:dirt",
15,
new int[] {1,4,5,2},
ArmorMaterial.IRON.getEnchantability(),
SoundEvents.ITEM_ARMOR_EQUIP_LEATHER,
ArmorMaterial.CHAIN.getToughness(),
Ingredient.fromItems( new BlockSuperCompressedDirt().asItem() )
);
[/code]
で何が入るかは以下の宣言により確定します。ここで7個の引数の型などが宣言されています。アイテムティアでは引数が6個なので対応していることがわかります。thisはインスタンスで保持する変数である意味です。(詳しい意味は調べてください。)
[code]
private DirtModArmorMaterials(String nameIn, int maxDamageFactorIn, int[] damageReductionAmountsIn, int enchantabilityIn, SoundEvent equipSoundIn, float p_i48533_8_, Ingredient repairMaterial) {
this.name = nameIn;
this.maxDamageFactor = maxDamageFactorIn;
this.damageReductionAmountArray = damageReductionAmountsIn;
this.enchantability = enchantabilityIn;
this.soundEvent = equipSoundIn;
this.toughness = p_i48533_8_;
this.repairMaterial = repairMaterial;
}
[/code]
さらにthisで利用する変数は事前に宣言します。
[code]
private static final int[] MAX_DAMAGE_ARRAY = new int[]{13, 15, 16, 11};
private final String name;
private final int maxDamageFactor;
private final int[] damageReductionAmountArray;
private final int enchantability;
private final SoundEvent soundEvent;
private final float toughness;
private final Ingredient repairMaterial;
[/code]
この宣言がないため、WoodCarbonの引数がおかしいと言われているのではないでしょうか?