This is in the crash report:
code]java.lang.NullPointerException: Rendering entity in world
at alchemymouse.arcana.RenderArcanaThrowable.doRender(RenderArcanaThrowable.java:43)
So in line 43 is something null, so could you show that exact line?
Can't you still use the HarvestDropsEvent and set the dropChance to 1.0f? By lokking at this line:
public float dropChance; // Change to e.g. 1.0f, if you manipulate the list and want to guarantee it always drops
it should actually work.
I think the color of the drum is based on the color of the fluid block in the world, so for that you don't have to worry about that. For MFR, see the API for it.
Look at what i did, i added a not sign (the thingy on the same key as the number, forget how to call it in english), before the ForgeHook.isToolEffective() call so if the was NOT effective, it would cancel it.
So you say you are never gonna update because of RedPower2? Just use Project Red, a good alternative to RedPower2. RedPower2 is never gonna be updated because Eloraam, the writer of the mod, decided to go missing and not update the mod anymore.
No, you need to do it this way:
if(!ForgeHoos.isToolEffective(event.entityPlayer.getCurrentEquippedItem(),event.block,event.metadata))
{
event.setCanceled(true);
}
Please don't copy paste, but try to figure out what i did, so you can learn from it.
Ok, the first parameter, stack, is the stack the player is currently using for mining the block. the second parameter, block is the block being broken, you get that passed in via the event, and the same goes for metadate, you get that passed in via the event.
You can use the ForgeHooks.isToolEffective method to check if the tool is effective for that block, and if it is, don't cancel it, but if it isn't, then cancel it.
In the PlayerEvent.BreakSpeed you are given an entityPlayer object. You can use that to get the current item instead of the other @SubscribeEvent (EntityPlayer is not even an event). For your purpose you can use event.entityPlayer.getCurrentEquippedItem == null.
In the event (or actually the parent class, which is PlayerEvent), you also get a EntityPlayer object, so you can use that to check if entityPlayer.getCurrentEquippedItem() is null and then cancel the event.
First,you need to make a class and register that in the MinecraftForge.EVENT_BUS. Then you need to make a method, eg. setBreakSpeed and put the PlayerEvent.BreakSpeed in that as a parameter. After that, put the @SubscribeEvent annotation above the method. In that method you can set the newSpeed of the event and that's it! If you need more help, post your code so we can help.
You can lock it on the right-top of the main post, so people can't reply to the post anymore, but they can still read that post and maybe solve their problem with it.
Ignore it. The FMLRenderAccessLibrary class is a class provided by forge for rendering, so you shouldn't have to worry about it. In my opinion, they need to make a check if the class is FMLRenderAccessLibrary, and if it so, not spill out a message so people would not get worried.