をクラッシュします。テスト用の木ブロックのBlockLogクラスを拡張しました。しかし、ゲームにブロックを配置しようとするたびに、ゲームがクラッシュします。ここに私の木のログクラスです:後半のよう、ゲームはこの質問には、バージョン1.9</p> <p>私は改造シーンに新しいですし、私のテスト木材ログブロックとのトラブルを抱えていますがMinecraftのために関係
package bravoman.testmod.blocks;
import net.minecraft.block.BlockLog;
public class MangoLog extends BlockLog{
public MangoLog() {
super();
}
}
、私はユーチューブ上の簡単なチュートリアルを追っていると、これは私が新しいブロックを作成することを学んだ方法でした。私はそれをさらに進め、Block
の代わりにBlockLog
を伸ばしました。
私はBlockLogクラスを使って、特定のメソッドをオーバーライドしたり、列挙型を追加しようとしましたが、役に立たなかったことがあります。巨大なコードが欠落していると私は信じていますが、ミニクラフトを改造した経験がなければ、私はここで取り残されています。私はこの質問にminecraft forums .Crashログを投稿しました。どんな助けもありがとう。
---- Minecraft Crash Report ----
// Why is it breaking :(
Time: 4/25/16 1:22 PM
Description: Unexpected error
java.lang.IllegalArgumentException: Cannot set property PropertyEnum{name=axis, clazz=class net.minecraft.block.BlockLog$EnumAxis, values=[x, y, z, none]} as it does not exist in BlockStateContainer{block=mm:mango_log, properties=[axis]}
at net.minecraft.block.state.BlockStateContainer$StateImplementation.withProperty(BlockStateContainer.java:204)
at net.minecraft.block.BlockLog.onBlockPlaced(BlockLog.java:51)
at net.minecraft.item.ItemBlock.onItemUse(ItemBlock.java:57)
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:156)
at net.minecraft.client.multiplayer.PlayerControllerMP.processRightClickBlock(PlayerControllerMP.java:484)
at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1597)
at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:2268)
at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2052)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1840)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1114)
at net.minecraft.client.Minecraft.run(Minecraft.java:401)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)
あなたは16進数を説明できますか?彼らは何をしますか? –
@BobGonrこの場合、バイナリです。これらの特定の番号を使用する必要はありません(代わりに0,1,2,3)。これらの数値は、通常のログで使用され、0,1,2,3がバリアントに使用されました。最初の2ビットはバリアントで、最後の2つは方向でした。逆コンパイルされたコードでは、それを '4'、' 8'、 '12'と見なしますが、バイナリバージョンを使用すると(私の意見では)上の2ビットしか扱っていないことが分かります。 – Pokechu22