Jump to content

make block change on right click?(with a certain item in player hand)[solved]


tuskiomi

Recommended Posts

how would one go about making a block change on rightclick? I mean the proper way, i know some ways to do it (using worldgen to place the new block at the same location as the old block) but what method & parameter would i use to check the item in a payers hand?

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

EDIT:

i have found a way to get the item in hand, would the worldplacing method still work?

 
   public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer p5EP) {
    	if(p5EP.inventory.currentItem == 0){
    		//changeblock here
    	}
    }

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

you could either check from the block the player is right clicking on or you could use the following from your Item override class

 

public boolean onItemUse(ItemStack tool,
		EntityPlayer player, World world, int x, int y,
		int z, int par7, float xFloat, float yFloat, float zFloat)
{

	if (!player.canPlayerEdit(x, y, z, par7, tool))//can the player edit this block? if he cant then dont do anything
	{
		return false;
	}
world.setBlockAndMetadataWithNotify(x, y, z, 0, Block.blockDiamond.blockID); // sets the block to diamond block with the meta data 0 (used for setting metadata if the block needs it
	world.setBlockWithNotify(x, y, z, Block.blockDiamond.blockID); // sets the block to diamond block with no meta data
}

Link to comment
Share on other sites

i got mine to work (mainly because i wanted to be able to select vanilla Items too not just my mod's items) and a peculiar error popped up:

 

2013-03-05 18:11:00 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.7.4.520 for Minecraft 1.4.7 loading

2013-03-05 18:11:02 [iNFO] [sTDOUT] 27 achievements

2013-03-05 18:11:02 [iNFO] [sTDOUT] 210 recipes

2013-03-05 18:11:02 [iNFO] [sTDOUT] Setting user: Player575, -

2013-03-05 18:11:02 [iNFO] [sTDERR] Client asked for parameter: server

2013-03-05 18:11:02 [iNFO] [sTDOUT] LWJGL Version: 2.4.2

2013-03-05 18:11:03 [iNFO] [ForgeModLoader] Attempting early MinecraftForge initialization

2013-03-05 18:11:03 [iNFO] [sTDOUT] MinecraftForge v6.6.0.497 Initialized

2013-03-05 18:11:03 [iNFO] [ForgeModLoader] MinecraftForge v6.6.0.497 Initialized

2013-03-05 18:11:03 [iNFO] [sTDOUT] Replaced 84 ore recipies

2013-03-05 18:11:03 [iNFO] [ForgeModLoader] Completed early MinecraftForge initialization

2013-03-05 18:11:03 [iNFO] [ForgeModLoader] Searching C:\Users\gamer\MCP\jars\mods for mods

2013-03-05 18:11:04 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load

2013-03-05 18:11:04 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0

2013-03-05 18:11:04 [iNFO] [sTDOUT] Starting up SoundSystem...

2013-03-05 18:11:05 [iNFO] [sTDOUT] Initializing LWJGL OpenAL

2013-03-05 18:11:05 [iNFO] [sTDOUT]    (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

2013-03-05 18:11:05 [iNFO] [sTDOUT] OpenAL initialized.

2013-03-05 18:11:05 [iNFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods

2013-03-05 18:11:10 [iNFO] [ForgeModLoader] Loading dimension 0 (48698) (net.minecraft.server.integrated.IntegratedServer@10b5bcb)

2013-03-05 18:11:10 [iNFO] [ForgeModLoader] Loading dimension 1 (48698) (net.minecraft.server.integrated.IntegratedServer@10b5bcb)

2013-03-05 18:11:10 [iNFO] [ForgeModLoader] Loading dimension -1 (48698) (net.minecraft.server.integrated.IntegratedServer@10b5bcb)

2013-03-05 18:11:15 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:15 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:16 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:16 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:16 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:17 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:17 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:17 [iNFO] [sTDOUT] debug tick.

2013-03-05 18:11:26 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Ticking memory connection

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:64)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:108)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:599)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:123)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

2013-03-05 18:11:26 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException

2013-03-05 18:11:26 [iNFO] [sTDERR] at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.item.ItemInWorldManager.onBlockClicked(ItemInWorldManager.java:184)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:509)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:80)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:136)

2013-03-05 18:11:26 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:57)

2013-03-05 18:11:26 [iNFO] [sTDERR] ... 6 more

2013-03-05 18:11:27 [iNFO] [ForgeModLoader] Unloading dimension 0

2013-03-05 18:11:27 [iNFO] [ForgeModLoader] Unloading dimension -1

2013-03-05 18:11:27 [iNFO] [ForgeModLoader] Unloading dimension 1

2013-03-05 18:11:27 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_STARTED to SERVER_STOPPED. Loading cannot continue

2013-03-05 18:11:27 [sEVERE] [ForgeModLoader]

mcp [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

tuskiomi [hello, tuskiomis mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

2013-03-05 18:11:27 [sEVERE] [ForgeModLoader] The following problems were captured during this phase

2013-03-05 18:11:27 [iNFO] [sTDERR] Exception in thread "Server thread" cpw.mods.fml.common.LoaderException

2013-03-05 18:11:27 [iNFO] [sTDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)

2013-03-05 18:11:27 [iNFO] [sTDERR] at cpw.mods.fml.common.Loader.serverStopped(Loader.java:752)

2013-03-05 18:11:27 [iNFO] [sTDERR] at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:459)

2013-03-05 18:11:27 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:559)

2013-03-05 18:11:27 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

2013-03-05 18:11:28 [iNFO] [sTDERR] java.lang.NullPointerException

2013-03-05 18:11:28 [iNFO] [sTDERR] at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)

2013-03-05 18:11:28 [iNFO] [sTDERR] at net.minecraft.client.multiplayer.PlayerControllerMP.clickBlock(PlayerControllerMP.java:205)

2013-03-05 18:11:28 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1320)

2013-03-05 18:11:28 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1805)

2013-03-05 18:11:28 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:846)

2013-03-05 18:11:28 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:771)

2013-03-05 18:11:28 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source)

2013-03-05 18:11:38 [iNFO] [sTDOUT] Stopping!

2013-03-05 18:11:38 [iNFO] [sTDOUT] SoundSystem shutting down...

2013-03-05 18:11:38 [iNFO] [sTDOUT]    Author: Paul Lamb, www.paulscode.com

2013-03-05 18:12:02 [iNFO] [sTDERR] Someone is closing me!

 

 

 

 

my block code:

 

 

package tuskiomi.common;

 

import org.lwjgl.Sys;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.world.World;

 

public class TGrayCobble extends Block{

protected static final int BIDR = 3821;

public TGrayCobble(int par1) {

super(par1, Material.rock);

setTextureFile("/tuskiomi/painted blocks.png");

setHardness(5.0F);

setResistance(7.0F);

setBlockName("Gray Cobble");

setCreativeTab(CreativeTabs.tabAllSearch);

 

}

    public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)

    {

        return false;

    }

    public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer p5EP) {

    if(p5EP.inventory.getCurrentItem().itemID == 1){

    par1World.setBlockWithNotify(par2, par3, par4, 4);

   

    }

    System.out.println("debug tick.");

    }

    public int getBlockTextureFromSide(int par1)

    {

        return 116;//same texture for all sides

    }

 

 

}

 

 

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

the corect way would be

private Block toBlock = new BlockNewBlockHere()
public void onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer player) {
     if(player.inventory.currentItem == 0){
      par1World.setBlockId(par2,par3,par4,toBlock.blockID);
     }
    }

The Korecraft Mod

Link to comment
Share on other sites

i get the same error:

2013-03-06 17:00:03 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.7.4.520 for Minecraft 1.4.7 loading
2013-03-06 17:00:05 [iNFO] [sTDOUT] 27 achievements
2013-03-06 17:00:05 [iNFO] [sTDOUT] 210 recipes
2013-03-06 17:00:05 [iNFO] [sTDOUT] Setting user: Player923, -
2013-03-06 17:00:05 [iNFO] [sTDERR] Client asked for parameter: server
2013-03-06 17:00:05 [iNFO] [sTDOUT] LWJGL Version: 2.4.2
2013-03-06 17:00:06 [iNFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2013-03-06 17:00:06 [iNFO] [sTDOUT] MinecraftForge v6.6.0.497 Initialized
2013-03-06 17:00:06 [iNFO] [ForgeModLoader] MinecraftForge v6.6.0.497 Initialized
2013-03-06 17:00:06 [iNFO] [sTDOUT] Replaced 84 ore recipies
2013-03-06 17:00:06 [iNFO] [ForgeModLoader] Completed early MinecraftForge initialization
2013-03-06 17:00:06 [iNFO] [ForgeModLoader] Searching C:\Users\gamer\MCP\jars\mods for mods
2013-03-06 17:00:07 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2013-03-06 17:00:08 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2013-03-06 17:00:08 [iNFO] [sTDOUT] Starting up SoundSystem...
2013-03-06 17:00:08 [iNFO] [sTDOUT] Initializing LWJGL OpenAL
2013-03-06 17:00:08 [iNFO] [sTDOUT]     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
2013-03-06 17:00:09 [iNFO] [sTDOUT] OpenAL initialized.
2013-03-06 17:00:09 [iNFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
2013-03-06 17:00:36 [iNFO] [ForgeModLoader] Loading dimension 0 (48698) (net.minecraft.server.integrated.IntegratedServer@178ef53)
2013-03-06 17:00:36 [iNFO] [ForgeModLoader] Loading dimension 1 (48698) (net.minecraft.server.integrated.IntegratedServer@178ef53)
2013-03-06 17:00:36 [iNFO] [ForgeModLoader] Loading dimension -1 (48698) (net.minecraft.server.integrated.IntegratedServer@178ef53)
2013-03-06 17:01:00 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Ticking memory connection
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:64)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:108)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:599)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:123)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
2013-03-06 17:01:00 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.item.ItemInWorldManager.onBlockClicked(ItemInWorldManager.java:184)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:509)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:80)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:136)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:57)
2013-03-06 17:01:00 [iNFO] [sTDERR] 	... 6 more
2013-03-06 17:01:01 [iNFO] [ForgeModLoader] Unloading dimension 0
2013-03-06 17:01:01 [iNFO] [ForgeModLoader] Unloading dimension -1
2013-03-06 17:01:01 [iNFO] [ForgeModLoader] Unloading dimension 1
2013-03-06 17:01:02 [iNFO] [sTDERR] java.lang.NullPointerException
2013-03-06 17:01:02 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_STARTED to SERVER_STOPPED. Loading cannot continue
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.client.multiplayer.PlayerControllerMP.clickBlock(PlayerControllerMP.java:205)
2013-03-06 17:01:02 [sEVERE] [ForgeModLoader] 
mcp [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
tuskiomi [hello, tuskiomis mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1320)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1805)
2013-03-06 17:01:02 [sEVERE] [ForgeModLoader] The following problems were captured during this phase
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:846)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.run(Minecraft.java:771)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at java.lang.Thread.run(Unknown Source)
2013-03-06 17:01:02 [iNFO] [sTDERR] Exception in thread "Server thread" cpw.mods.fml.common.LoaderException
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at cpw.mods.fml.common.Loader.serverStopped(Loader.java:752)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:459)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:559)
2013-03-06 17:01:02 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
2013-03-06 17:01:12 [iNFO] [sTDOUT] Stopping!
2013-03-06 17:01:12 [iNFO] [sTDOUT] SoundSystem shutting down...
2013-03-06 17:01:12 [iNFO] [sTDOUT]     Author: Paul Lamb, www.paulscode.com

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

just going on a hunch here, but have you tried using null checks (given that your error is caused by a null value) is just add a few bits like

if(player != null){

or

if(player.inventory.getCurrentItem() != null){

 

again this is just a hunch as i don't know what is on line 27 of TGrayCobble, where it seems throwing a null pointer exception

Link to comment
Share on other sites

just going on a hunch here, but have you tried using null checks (given that your error is caused by a null value) is just add a few bits like

if(player != null){

or

if(player.inventory.getCurrentItem() != null){

 

again this is just a hunch as i don't know what is on line 27 of TGrayCobble, where it seems throwing a null pointer exception

if(p5EP.inventory.getCurrentItem().itemID == 1){

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

my code along w/ another error

 

package tuskiomi.common;

import org.lwjgl.Sys;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;

public class TGrayCobble extends Block{
protected static final int BIDR = 3821;
public TGrayCobble(int par1) {
	super(par1, Material.rock);
	setTextureFile("/tuskiomi/painted blocks.png");
	setHardness(5.0F); 
	setResistance(7.0F);
	setBlockName("Gray Cobble");
	setCreativeTab(CreativeTabs.tabAllSearch);

}
    public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
    {
        return false;
    }
    public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer p5EP) {
    	if(p5EP.inventory.getCurrentItem().itemID == 1 && p5EP.inventory.getCurrentItem().itemID != 0 && p5EP != null && par2 * par3 != 0 && par2 * par4 != 0){
    		par1World.setBlock(par2, par3, par4, 4);
    		
    		}
    	System.out.println("debug tick.");
    }
    public int getBlockTextureFromSide(int par1)
    {
        return 116;//same texture for all sides
    }


}

 

 

 

ERROR:

 

2013-03-09 19:18:10 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.7.4.520 for Minecraft 1.4.7 loading
2013-03-09 19:18:11 [iNFO] [sTDOUT] 27 achievements
2013-03-09 19:18:11 [iNFO] [sTDOUT] 210 recipes
2013-03-09 19:18:12 [iNFO] [sTDOUT] Setting user: Player28, -
2013-03-09 19:18:12 [iNFO] [sTDERR] Client asked for parameter: server
2013-03-09 19:18:12 [iNFO] [sTDOUT] LWJGL Version: 2.4.2
2013-03-09 19:18:13 [iNFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2013-03-09 19:18:13 [iNFO] [sTDOUT] MinecraftForge v6.6.0.497 Initialized
2013-03-09 19:18:13 [iNFO] [ForgeModLoader] MinecraftForge v6.6.0.497 Initialized
2013-03-09 19:18:13 [iNFO] [sTDOUT] Replaced 84 ore recipies
2013-03-09 19:18:13 [iNFO] [ForgeModLoader] Completed early MinecraftForge initialization
2013-03-09 19:18:13 [iNFO] [ForgeModLoader] Searching C:\Users\gamer\MCP\jars\mods for mods
2013-03-09 19:18:14 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2013-03-09 19:18:14 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2013-03-09 19:18:14 [iNFO] [sTDOUT] Starting up SoundSystem...
2013-03-09 19:18:15 [iNFO] [sTDOUT] Initializing LWJGL OpenAL
2013-03-09 19:18:15 [iNFO] [sTDOUT]     (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
2013-03-09 19:18:15 [iNFO] [sTDOUT] OpenAL initialized.
2013-03-09 19:18:15 [iNFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
2013-03-09 19:18:26 [iNFO] [ForgeModLoader] Loading dimension 0 (48698) (net.minecraft.server.integrated.IntegratedServer@dbc4bb)
2013-03-09 19:18:26 [iNFO] [ForgeModLoader] Loading dimension 1 (48698) (net.minecraft.server.integrated.IntegratedServer@dbc4bb)
2013-03-09 19:18:26 [iNFO] [ForgeModLoader] Loading dimension -1 (48698) (net.minecraft.server.integrated.IntegratedServer@dbc4bb)
2013-03-09 19:18:32 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Ticking memory connection
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:64)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:108)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:599)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:123)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
2013-03-09 19:18:32 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.item.ItemInWorldManager.onBlockClicked(ItemInWorldManager.java:184)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.handleBlockDig(NetServerHandler.java:509)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.packet.Packet14BlockDig.processPacket(Packet14BlockDig.java:67)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:80)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:136)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:57)
2013-03-09 19:18:32 [iNFO] [sTDERR] 	... 6 more
2013-03-09 19:18:33 [iNFO] [ForgeModLoader] Unloading dimension 0
2013-03-09 19:18:33 [iNFO] [ForgeModLoader] Unloading dimension -1
2013-03-09 19:18:33 [iNFO] [ForgeModLoader] Unloading dimension 1
2013-03-09 19:18:33 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_STARTED to SERVER_STOPPED. Loading cannot continue
2013-03-09 19:18:33 [sEVERE] [ForgeModLoader] 
mcp [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
tuskiomi [hello, tuskiomis mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
2013-03-09 19:18:33 [sEVERE] [ForgeModLoader] The following problems were captured during this phase
2013-03-09 19:18:33 [iNFO] [sTDERR] Exception in thread "Server thread" cpw.mods.fml.common.LoaderException
2013-03-09 19:18:33 [iNFO] [sTDERR] 	at cpw.mods.fml.common.LoadController.transition(LoadController.java:117)
2013-03-09 19:18:33 [iNFO] [sTDERR] 	at cpw.mods.fml.common.Loader.serverStopped(Loader.java:752)
2013-03-09 19:18:33 [iNFO] [sTDERR] 	at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:459)
2013-03-09 19:18:33 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:559)
2013-03-09 19:18:33 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
2013-03-09 19:18:34 [iNFO] [sTDERR] java.lang.NullPointerException
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at tuskiomi.common.TGrayCobble.onBlockClicked(TGrayCobble.java:27)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at net.minecraft.client.multiplayer.PlayerControllerMP.clickBlock(PlayerControllerMP.java:205)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1320)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1805)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:846)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at net.minecraft.client.Minecraft.run(Minecraft.java:771)
2013-03-09 19:18:34 [iNFO] [sTDERR] 	at java.lang.Thread.run(Unknown Source)

 

Also, I should have you know that you are reading my signature.

Link to comment
Share on other sites

you can do it two ways... one is to just on block activated then check the players current item and the other(more laggy unless is meant for more than 1 use) is to have a on right clicked in the item

The Korecraft Mod

Link to comment
Share on other sites

If the player's hand is empty the ItemStack is null, not item ID 0. You can either null check or try/catch.

 

    public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer p5EP) {
     if( p5ep != null && && p5EP.inventory.getCurrentItem().itemID != null){
      if(p5EP.inventory.getCurrentItem().itemID == 1 && par2 * par3 != 0 && par2 * par4 != 0){
       par1World.setBlock(par2, par3, par4, 4);
      }
     }
     System.out.println("debug tick.");
    }

 

Thought I should add:

When null checking, go from least specific to most specific.

For example:

if(Object1.method1() != null && Object1 != null){
System.out.println(Object1.method1().toString());
}

This will cause a null pointer exception if Object1 is null because it is trying to call a method (method1) from a null object. However, if you did this:

if(Object1 != null && Object1.method1() != null){
System.out.println(Object1.method1().toString());
}

This will not cause a null pointer exception because it will break out of the if statement before it tries to call a method from a null object.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
    • It is an issue with quark - update it to this build: https://www.curseforge.com/minecraft/mc-mods/quark/files/3642325
    • Remove Instant Massive Structures Mod from your server     Add new crash-reports with sites like https://paste.ee/  
    • Update your drivers: https://www.amd.com/en/support/graphics/amd-radeon-r9-series/amd-radeon-r9-200-series/amd-radeon-r9-280x
  • Topics

×
×
  • Create New...

Important Information

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