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 all, i have a problem with rendering a custom arrow entity. If i shoot it 6 block or near the block i aim, the arrow is rendered in the wrong position. In the spoiler i put two image to explain myself better.

 

 

 

more than 6 block:

23shshg.png

 

less than 6 block:

14n0c9f.png

 

 

 

EntityArrow Class: http://pastebin.com/wNX8imZy

RenderEntityArrow Class: http://pastebin.com/Sp0yL7qF

 

i registered the entity with:

EntityRegistry.registerGlobalEntityID(EntityExplosiveArrow.class, "explosiveArrow", EntityRegistry.findGlobalUniqueEntityId());
EntityRegistry.registerModEntity(EntityExplosiveArrow.class, "explosiveArrow", 1, Yesodmod.instance, 100, 50, true);

  • Author

Still have the issue, after they hit or after 1 sec they hit they are rendered in the wrong position.

Try add these code at the begin of your onUpdate() method. That means, Do not move your arrow entity at the first tick it spawns.

	if(this.ticksExisted == 1) {
		if(!worldObj.isRemote) {
			this.throwerLastX = thrower.posX;
			this.throwerLastY = thrower.posY;
			this.throwerLastZ = thrower.posZ;
		}
		return;
	}

Author of Tao Land Mod.

width=200 height=69http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img]

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

  • Author

Try add these code at the begin of your onUpdate() method. That means, Do not move your arrow entity at the first tick it spawns.

	if(this.ticksExisted == 1) {
		if(!worldObj.isRemote) {
			this.throwerLastX = thrower.posX;
			this.throwerLastY = thrower.posY;
			this.throwerLastZ = thrower.posZ;
		}
		return;
	}

 

This actually work, ty. Just a question: why without it the arrow was rendered in the wrong position?

This actually work, ty. Just a question: why without it the arrow was rendered in the wrong position?

 

I don't know whether it's a bug or intentional. I used to meet this problem, and read the codes, trying to find out why this happens. Finally I found it. In a words, an entity except EntityArrow doesn't transfer its moving information to client in its first tick. So if it moves, entity in client is always behind that in server, which causes a wrong position.

Author of Tao Land Mod.

width=200 height=69http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img]

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

  • Author

It's strange, since i actually copied the code from vanilla arrow O.o. Well, it works, so it's ok i suppose xD

Guest
This topic is now closed to further replies.

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.