Jump to content

Recommended Posts

Posted

As the title says, the game crashes when I use bonemeal on my custom crop. Here is the crash report:

 

 

[09:40:07] [server thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5]} as it does not exist in BlockState{block=unlogicii:quartz_crop, properties=[age]}
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5]} as it does not exist in BlockState{block=unlogicii:quartz_crop, properties=[age]}
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_25]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_25]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:677) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5]} as it does not exist in BlockState{block=unlogicii:quartz_crop, properties=[age]}
at net.minecraft.block.state.BlockState$StateImplementation.getValue(BlockState.java:158) ~[blockState$StateImplementation.class:?]
at the_fireplace.unlogicii.blocks.BlockQuartzCrop.canGrow(BlockQuartzCrop.java:75) ~[blockQuartzCrop.class:?]
at net.minecraft.item.ItemDye.applyBonemeal(ItemDye.java:117) ~[itemDye.class:?]
at net.minecraft.item.ItemDye.onItemUse(ItemDye.java:51) ~[itemDye.class:?]
at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:562) ~[ForgeHooks.class:?]
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:132) ~[itemStack.class:?]
at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:446) ~[itemInWorldManager.class:?]
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:595) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:61) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:96) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:18) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_25]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_25]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:676) ~[FMLCommonHandler.class:?]
... 5 more
[09:40:07] [server thread/INFO]: Stopping server
[09:40:07] [server thread/INFO]: Saving players
[09:40:07] [server thread/INFO]: Saving worlds
[09:40:07] [server thread/INFO]: Saving chunks for level 'New UnLogic II Test Zone'/Overworld
[09:40:08] [server thread/INFO]: Saving chunks for level 'New UnLogic II Test Zone'/Nether
[09:40:08] [server thread/INFO]: Saving chunks for level 'New UnLogic II Test Zone'/The End
[09:40:08] [server thread/INFO] [FML]: Unloading dimension 0
[09:40:08] [server thread/INFO] [FML]: Unloading dimension -1
[09:40:08] [server thread/INFO] [FML]: Unloading dimension 1
[09:40:08] [server thread/INFO] [FML]: Applying holder lookups
[09:40:08] [server thread/INFO] [FML]: Holder lookups applied
[09:40:08] [Client thread/FATAL]: Unreported exception thrown!
java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5]} as it does not exist in BlockState{block=unlogicii:quartz_crop, properties=[age]}
at net.minecraft.block.state.BlockState$StateImplementation.getValue(BlockState.java:158) ~[blockState$StateImplementation.class:?]
at the_fireplace.unlogicii.blocks.BlockQuartzCrop.canGrow(BlockQuartzCrop.java:75) ~[blockQuartzCrop.class:?]
at net.minecraft.item.ItemDye.applyBonemeal(ItemDye.java:117) ~[itemDye.class:?]
at net.minecraft.item.ItemDye.onItemUse(ItemDye.java:51) ~[itemDye.class:?]
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:133) ~[itemStack.class:?]
at net.minecraft.client.multiplayer.PlayerControllerMP.func_178890_a(PlayerControllerMP.java:407) ~[PlayerControllerMP.class:?]
at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1483) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:2033) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:345) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
at GradleStart.main(GradleStart.java:45) [start/:?]
[09:40:08] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:568]: ---- Minecraft Crash Report ----
// But it works on my machine.

Time: 3/5/15 9:40 AM
Description: Unexpected error

java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5]} as it does not exist in BlockState{block=unlogicii:quartz_crop, properties=[age]}
at net.minecraft.block.state.BlockState$StateImplementation.getValue(BlockState.java:158)
at the_fireplace.unlogicii.blocks.BlockQuartzCrop.canGrow(BlockQuartzCrop.java:75)
at net.minecraft.item.ItemDye.applyBonemeal(ItemDye.java:117)
at net.minecraft.item.ItemDye.onItemUse(ItemDye.java:51)
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:133)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_178890_a(PlayerControllerMP.java:407)
at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1483)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:2033)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021)
at net.minecraft.client.Minecraft.run(Minecraft.java:345)
at net.minecraft.client.main.Main.main(Main.java:117)
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 net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
at GradleStart.main(GradleStart.java:45)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at net.minecraft.block.state.BlockState$StateImplementation.getValue(BlockState.java:158)
at the_fireplace.unlogicii.blocks.BlockQuartzCrop.canGrow(BlockQuartzCrop.java:75)
at net.minecraft.item.ItemDye.applyBonemeal(ItemDye.java:117)
at net.minecraft.item.ItemDye.onItemUse(ItemDye.java:51)
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:133)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_178890_a(PlayerControllerMP.java:407)
at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1483)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Player80'/0, l='MpServer', x=484.02, y=1.00, z=-41.16]]
Chunk stats: MultiplayerChunkCache: 25, 25
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options: 
Level spawn location: 468.00,4.00,-65.00 - World: (468,4,-65), Chunk: (at 4,0,15 in 29,-5; contains blocks 464,0,-80 to 479,255,-65), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
Level time: 12589 game time, 12589 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 1 total; [EntityPlayerSP['Player80'/0, l='MpServer', x=484.02, y=1.00, z=-41.16]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:350)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2488)
at net.minecraft.client.Minecraft.run(Minecraft.java:374)
at net.minecraft.client.main.Main.main(Main.java:117)
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 net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
at GradleStart.main(GradleStart.java:45)

-- System Details --
Details:
Minecraft Version: 1.8
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0_25, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 791447800 bytes (754 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.10 FML v8.0.26.1306 Minecraft Forge 11.14.1.1306 5 mods loaded, 5 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{8.0.26.1306} [Forge Mod Loader] (forgeSrc-1.8-11.14.1.1306.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{11.14.1.1306} [Minecraft Forge] (forgeSrc-1.8-11.14.1.1306.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
fireplacecore{2.1.1.0} [Fireplace Core] (fireplacecore-deobf.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
unlogicii{2.0.0.1} [unLogic II] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Launched Version: 1.8
LWJGL: 2.9.1
OpenGL: Intel(R) HD Graphics GL version 3.1.0 - Build 9.17.10.3347, Intel
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

Using VBOs: No
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
[09:40:09] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:568]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Lance\Documents\unlogic-ii\eclipse\.\crash-reports\crash-2015-03-05_09.40.08-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

 

And here is the crop's code:

 

 

public class BlockQuartzCrop extends BlockCrops{
    public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 5);

public BlockQuartzCrop(){
        this.setTickRandomly(true);
        float f = 0.5F;
        this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f);
	setUnlocalizedName("quartz_crop");
	//this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0)));
        this.setHardness(0.0F);
        this.setStepSound(soundTypeGrass);
        this.disableStats();
}

@Override
public Item getSeed(){
	return UnLogicII.quartz_seeds;
}

@Override
public Item getCrop(){
	return Item.getItemFromBlock(Blocks.quartz_block);
}

@Override
protected boolean canPlaceBlockOn(Block ground)
    {
        return ground == UnLogicII.obsidian_farmland;
    }

@Override
public void grow(World worldIn, BlockPos pos, IBlockState state)
    {
        int i = ((Integer)state.getValue(AGE)).intValue() + MathHelper.getRandomIntegerInRange(worldIn.rand, 2, 5);

        if (i > 5)
        {
            i = 5;
        }

        worldIn.setBlockState(pos, state.withProperty(AGE, Integer.valueOf(i)), 2);
    }

@Override
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
    {
        return (worldIn.getBlockState(pos.down()).getBlock().canSustainPlant(worldIn, pos.down(), net.minecraft.util.EnumFacing.UP, this));
    }

@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return ((Integer)state.getValue(AGE)).intValue() == 5 ? this.getCrop() : this.getSeed();
    }

@Override
public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient)
    {
        return ((Integer)state.getValue(AGE)).intValue() < 5;
    }

@Override
    public java.util.List<ItemStack> getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
    {
        java.util.List<ItemStack> ret = super.getDrops(world, pos, state, fortune);
        int age = ((Integer)state.getValue(AGE)).intValue();
        Random rand = world instanceof World ? ((World)world).rand : new Random();

        if (age >= 5)
        {
            int k = 3 + fortune;

            for (int i = 0; i < 3 + fortune; ++i)
            {
                if (rand.nextInt(15) <= age)
                {
                    ret.add(new ItemStack(this.getSeed(), 1, 0));
                }
            }
        }
        return ret;
    }
}

 

 

If I helped please press the Thank You button.

 

Check out my mods at http://www.curse.com/users/The_Fireplace/projects

Posted

If you extend BlockCrops you have to re-use it's AGE property, don't make your own. Extend BlockBush and implement IPlantable instead if you want to make your own Property.

 

Is that due to the field being final?  If you named it differently and override the createBlockState() method to only work with your property that would be okay, right?

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.