Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
at net.minecraft.src.ItemStack.isItemStackDamageable(ItemStack.java:196)
at net.minecraft.src.ItemStack.isItemDamaged(ItemStack.java:209)
at net.minecraft.src.InventoryPlayer.addItemStackToInventory(InventoryPlayer.java:323)
at net.minecraft.src.EntityItem.onCollideWithPlayer(EntityItem.java:241)
at net.minecraft.src.EntityPlayer.collideWithPlayer(EntityPlayer.java:539)
at net.minecraft.src.EntityPlayer.onLivingUpdate(EntityPlayer.java:530)
at net.minecraft.src.EntityLiving.onUpdate(EntityLiving.java:668)
at net.minecraft.src.EntityPlayer.onUpdate(EntityPlayer.java:262)
at net.minecraft.src.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:221)
at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:98)
at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:45)
at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:98)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:635)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:555)
at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:122)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:464)
at net.minecraft.src.ThreadServerApplication.run(ThreadServerApplication.java:17)
TechGuy, This happens when I pick up my new block!
Hi, I'm trying to make a block that faces toward the player when it's placed...
This is what I have so far:
public void onBlockPlacedBy(World world, int par2, int par3, int par4, EntityLiving entity)
{
byte var10 = 0;
int var11 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var11 == 0)
{
var10 = 2;
}
if(var11 == 1)
{
var10 = 5;
}
if(var11 == 2)
{
var10 = 3;
}
if(var11 == 3)
{
var10 = 4;
}
world.setBlockMetadataWithNotify(par2, par3, par4 - 1, var10 - 1);
}
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 1)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 2)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 3)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 4)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else
return mod_Raspberries.freezerBack
}
I got the code for onBlockPlacedBy from BlockChest and I wrote the code for getBlockTextureAndMetadata. What seems to be happening is that the else statement goes every time and it just uses the freezerBack texture. What did I do wrong?
Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
at net.minecraft.src.ItemStack.isItemStackDamageable(ItemStack.java:196)
at net.minecraft.src.ItemStack.isItemDamaged(ItemStack.java:209)
at net.minecraft.src.InventoryPlayer.addItemStackToInventory(InventoryPlayer.java:323)
at net.minecraft.src.EntityItem.onCollideWithPlayer(EntityItem.java:241)
at net.minecraft.src.EntityPlayer.collideWithPlayer(EntityPlayer.java:539)
at net.minecraft.src.EntityPlayer.onLivingUpdate(EntityPlayer.java:530)
at net.minecraft.src.EntityLiving.onUpdate(EntityLiving.java:668)
at net.minecraft.src.EntityPlayer.onUpdate(EntityPlayer.java:262)
at net.minecraft.src.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:221)
at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:98)
at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:45)
at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:98)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:635)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:555)
at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:122)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:464)
at net.minecraft.src.ThreadServerApplication.run(ThreadServerApplication.java:17)
TechGuy, This happens when I pick up my new block!
Post the block file.
If it seems like this error is something that's just out of the blue, you could always use a try|catch clause.
Rollback Post to RevisionRollBack
When life gives you a potato, wonder why the heck life just gave you a potato. Why not something else? Like money? Or a combustable lemon? No, you get a potato. Nothing else.
Hi, I'm trying to make a block that faces toward the player when it's placed...
This is what I have so far:
public void onBlockPlacedBy(World world, int par2, int par3, int par4, EntityLiving entity)
{
byte var10 = 0;
int var11 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var11 == 0)
{
var10 = 2;
}
if(var11 == 1)
{
var10 = 5;
}
if(var11 == 2)
{
var10 = 3;
}
if(var11 == 3)
{
var10 = 4;
}
world.setBlockMetadataWithNotify(par2, par3, par4 - 1, var10 - 1);
}
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 1)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 2)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 3)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 4)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else
return mod_Raspberries.freezerBack
}
I got the code for onBlockPlacedBy from BlockChest and I wrote the code for getBlockTextureAndMetadata. What seems to be happening is that the else statement goes every time and it just uses the freezerBack texture. What did I do wrong?
Where could I find some example code on hitting an entity particles appear or rather how would I implement it onto a sword?
Probably in the EntityCow/Creeper/whatever file or the EntityCritFX file.
As far as implementing it in to a sword, I don't really know; I'm not very proficient in particle emitting yet.
Rollback Post to RevisionRollBack
When life gives you a potato, wonder why the heck life just gave you a potato. Why not something else? Like money? Or a combustable lemon? No, you get a potato. Nothing else.
I'm looking forward to if you do some Forge tutorials. You've got such nice ModLoader ones. They're consistent, and probably the most complete tutorials I've seen in general. (And up to date)
I'm sorry I haven't been around to help more. But I've put modding on hold until I've come to better understand java itself. Keep up the great work, Techguy.
Rollback Post to RevisionRollBack
I used to maintain the Minecraft Forums Mod List. However, life has stepped in the way of that. Perhaps later...
I'm looking forward to if you do some Forge tutorials. You've got such nice ModLoader ones. They're consistent, and probably the most complete tutorials I've seen in general. (And up to date)
I'm sorry I haven't been around to help more. But I've put modding on hold until I've come to better understand java itself. Keep up the great work, Techguy.
“Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination."
I think you have to change the name of your "Glasscraft_.java" to "mod_Glassscraft.java".
And you should use only one mod_ file.
Holly poop! I just realised what you were trying to say (Well succesfully saying but I was misunderstanding). I didn't know that the ModLoader file in the spoiler of Techguy's Tutorials was an example! That's why I split it into two. Thank you I feel like such a noob.
Hi, I'm trying to make a block that faces toward the player when it's placed...
This is what I have so far:
public void onBlockPlacedBy(World world, int par2, int par3, int par4, EntityLiving entity)
{
byte var10 = 0;
int var11 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var11 == 0)
{
var10 = 2;
}
if(var11 == 1)
{
var10 = 5;
}
if(var11 == 2)
{
var10 = 3;
}
if(var11 == 3)
{
var10 = 4;
}
world.setBlockMetadataWithNotify(par2, par3, par4 - 1, var10 - 1);
}
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 1)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 2)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 3)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 4)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else
return mod_Raspberries.freezerBack
}
I got the code for onBlockPlacedBy from BlockChest and I wrote the code for getBlockTextureAndMetadata. What seems to be happening is that the else statement goes every time and it just uses the freezerBack texture. What did I do wrong?
Well, no. At least I don't know a way to do this without changing the Pickaxe.class
aww...
well then I'll try to find a way myself, I'll post it here if i do! (i.e. go looking through ModLoader.java and see if any of the functions are for what I want...)
Hi, I'm trying to make a block that faces toward the player when it's placed...
This is what I have so far:
public void onBlockPlacedBy(World world, int par2, int par3, int par4, EntityLiving entity)
{
byte var10 = 0;
int var11 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var11 == 0)
{
var10 = 2;
}
if(var11 == 1)
{
var10 = 5;
}
if(var11 == 2)
{
var10 = 3;
}
if(var11 == 3)
{
var10 = 4;
}
world.setBlockMetadataWithNotify(par2, par3, par4 - 1, var10 - 1);
}
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(j == 1)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 2)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 3)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else if (j == 4)
return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide;
else
return mod_Raspberries.freezerBack
}
I got the code for onBlockPlacedBy from BlockChest and I wrote the code for getBlockTextureAndMetadata. What seems to be happening is that the else statement goes every time and it just uses the freezerBack texture. What did I do wrong?
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
TechGuy, This happens when I pick up my new block!
Thank you I'll try that, and you also answered a reply of mine that got burried
Um, it's still not working...
This is what I have so far:
public void onBlockPlacedBy(World world, int par2, int par3, int par4, EntityLiving entity) { byte var10 = 0; int var11 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if(var11 == 0) { var10 = 2; } if(var11 == 1) { var10 = 5; } if(var11 == 2) { var10 = 3; } if(var11 == 3) { var10 = 4; } world.setBlockMetadataWithNotify(par2, par3, par4 - 1, var10 - 1); } public int getBlockTextureFromSideAndMetadata(int i, int j) { if(j == 1) return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide; else if (j == 2) return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide; else if (j == 3) return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide; else if (j == 4) return i == 3 ? mod_Raspberries.freezerFront : i == 2 ? mod_Raspberries.freezerBack : i == 1 || i == 0 ? mod_Raspberries.freezerTop : i == 4 ? mod_Raspberries.freezerLeftSide : i == 5 ? mod_Raspberries.freezerRightSide : mod_Raspberries.freezerRightSide; else return mod_Raspberries.freezerBack }Bumping for this.
-
View User Profile
-
View Posts
-
Send Message
Retired StaffPost the block file.
If it seems like this error is something that's just out of the blue, you could always use a try|catch clause.
Now I have one more question, How do I change it so that only a Diamond Pick can mine it?
Where could I find some example code on hitting an entity particles appear or rather how would I implement it onto a sword?
got buried...
-
View User Profile
-
View Posts
-
Send Message
Retired StaffProbably in the EntityCow/Creeper/whatever file or the EntityCritFX file.
As far as implementing it in to a sword, I don't really know; I'm not very proficient in particle emitting yet.
-
View User Profile
-
View Posts
-
Send Message
Retired StaffI'm sorry I haven't been around to help more. But I've put modding on hold until I've come to better understand java itself. Keep up the great work, Techguy.
Thanks
together they are powerful beyond imagination."
Holly poop! I just realised what you were trying to say (Well succesfully saying but I was misunderstanding). I didn't know that the ModLoader file in the spoiler of Techguy's Tutorials was an example! That's why I split it into two. Thank you
Is there a way to do this without editing a base class?
buried again, someone help please!
aww...
well then I'll try to find a way myself, I'll post it here if i do! (i.e. go looking through ModLoader.java and see if any of the functions are for what I want...)
Wouldn't it be mod_***.YourBlock, not Block.YourBlock?
-
View User Profile
-
View Posts
-
Send Message
Moderatorprivate static Block[] blocksEffectiveAgainst = new Block[] { mod_yourBlock, ... }; public boolean canHarvestBlock(Block par1Block) { return par1Block == mod_yourBlock ? this.toolMaterial.getHarvestLevel() == 3 : ... }