Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hi Forge-Modder & Co.

I have a problem because I will make a teleport staff, but if i teleport me it teleport me to myself and it should teleport me a few blocks in viewing direction...

And can i make that the Staff has durability?

I hope you can answer me, thanks in advanced ~ML

Here is my code:

ย 

@Override
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player)
{

	player.setPositionAndUpdate(player.posX , player.posY , player.posZ);
	return super.onItemRightClick(itemstack, world, player);
}

I doesnt Mine I only Loading!

  • Author

Ok thanks, now I can teleport me with the staff, but the staff doesn't take damage, I have find a command but it doesent work :/

My code:

ย 

	@Override

ย  ย  public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer player)
ย  ย  {
ย  ย  	if(Minecraft.getMinecraft().objectMouseOver!=null)
ย  ย  	{
ย  ย  		int xm=Minecraft.getMinecraft().objectMouseOver.blockX;
ย  ย  		int ym=Minecraft.getMinecraft().objectMouseOver.blockY;
ย  ย  		int zm=Minecraft.getMinecraft().objectMouseOver.blockZ;ย   		
ย  ย  	
ย  ย  		player.setPositionAndUpdate(xm, ym, zm);
ย  ย  		player.fallDistance=0F;
ย  ย  		par1ItemStack.damageItem(1, player); //with this command it should be take damage 
ย  ย  	}

ย  ย  	return par1ItemStack;
ย  ย  }

I doesnt Mine I only Loading!

Give it a max damge "setMaxDamage(int);" I think if you extend the Tool class you can use the method "damageItem" if not you might have to make your own public method that does that for you something like:

ย 

public void damageItem(Itemstack is, int dmg)
{
ย   setDamage(is, is.getDamage(is) - dmg);
}

ย 

then in your method you'd have:

	@Override

ย  ย  public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer player)
ย  ย  {
ย  ย  	if(Minecraft.getMinecraft().objectMouseOver!=null)
ย  ย  	{
ย  ย  		int xm=Minecraft.getMinecraft().objectMouseOver.blockX;
ย  ย  		int ym=Minecraft.getMinecraft().objectMouseOver.blockY;
ย  ย  		int zm=Minecraft.getMinecraft().objectMouseOver.blockZ;ย   		
ย  ย  	
ย  ย  		player.setPositionAndUpdate(xm, ym, zm);
ย  ย  		player.fallDistance=0F;
ย  ย  		//par1ItemStack.damageItem(1, player); //with this command it should be take damage 
ย  ย  ย  ย  ย  ย  ย  ย  damageItem(par1ItemStack,1);
ย  ย  	}

ย  ย  	return par1ItemStack;
ย  ย  }

ย 

Of course in the end all you probably need is a maxDamage on your item if you haven't set that yet.

ย 

That's weird that par1ItemStack.damageItem(1, player); doesn't damage the item, it works for me in 1.7.10.

Have you done setMaxDamage(n) at the beginning of the item class?

Also, what version of Minecraft are you modding? I don't know if they changed the way that you damage items between 1.6 - 1.7 but it might have something to do with it.

  • Author

That's weird that par1ItemStack.damageItem(1, player); doesn't damage the item, it works for me in 1.7.10.

Have you done setMaxDamage(n) at the beginning of the item class?

Also, what version of Minecraft are you modding? I don't know if they changed the way that you damage items between 1.6 - 1.7 but it might have something to do with it.

I had forget setMaxDamage() , now its goingย  :D

Thanks you all for your support!

~MineLoad

I doesnt Mine I only Loading!

  • Author

Your code will cause crash on server. Minecraft class is client-side only.

How can I edit the code , so that it doesn't crash on Server, so what command?

I hope you can answer me, thanks in advanced!

~MineLoad

I doesnt Mine I only Loading!

You will have to send a packet containing the xm, ym and zm to the server so that the tp is executed at the server.

Google "forge 1.7 netty tutorial".

ย 

However, keep in mind that this could be a possible exploit for Hackers. You should check if its actually possible to that position.(range, can the player really see that position,...)

Here could be your advertisement!

  • Author

You will have to send a packet containing the xm, ym and zm to the server so that the tp is executed at the server.

Google "forge 1.7 netty tutorial".

ย 

However, keep in mind that this could be a possible exploit for Hackers. You should check if its actually possible to that position.(range, can the player really see that position,...)

I do not quite understand because I doesn't speak english so good...

can anyone give me a short tutorial to this? Or gives it a german tutorial, because I doesn't find anyone?

I hope you can answer me, thanks in advance!

~MineLoad

I doesnt Mine I only Loading!

I do not quite understand because I doesn't speak english so good...

can anyone give me a short tutorial to this? Or gives it a german tutorial, because I doesn't find anyone?

I hope you can answer me, thanks in advance!

~MineLoad

Lol, ich auch :D

ย 

Until now i always managed to avoid packets and used workarounds. maybe its possible to get the Block the player is looking at on the server side without packets.

But i don't know how you would do that, sry.

Here could be your advertisement!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.