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

I want to make the player be able to attach a leash to a fence without a mob leashed to it.

So essentially have a fence persisting like this
t9GOX83.png

However when I realod the world the leash knot is gone, and I don't understand why (I know it's a vanilla feature, but even looking at the entity code I can't find out why it breaks so I can override it).

What I've tried so far is to intercept the EntityLeaveLevelEvent, but that seems to not be firing when reloading the world and removing the entity.
So what is actually been fired when the lead disappear, so I can prevent it? Where should I look into?

Don't blame me if i always ask for your help. I just want to learn to be better :)

HangingEntity.survives() ?

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.comย  You should also read the support forum sticky post.

  • Author
27 minutes ago, warjort said:

HangingEntity.survives() ?

That was the first method I've looked into, but doesn't seem to be called on world reload. Also the leash knot entity overrides the base method by simply checking the block is "knotted" to is a fence block, which in this case it is

Don't blame me if i always ask for your help. I just want to learn to be better :)

Don't know then. Looks like a job for your debugger.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.comย  You should also read the support forum sticky post.

Unless what you are actually doing is just creating a ghost entity on the client?

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.comย  You should also read the support forum sticky post.

  • Author

I think I figured out what the problem is: the leash knot entity type has the noSave() attribute set
ย 

public static final EntityType<LeashFenceKnotEntity> LEASH_KNOT = register("leash_knot", EntityType.Builder.<LeashFenceKnotEntity>of(LeashFenceKnotEntity::new, MobCategory.MISC).noSave().sized(0.375F, 0.5F).clientTrackingRange(10).updateInterval(Integer.MAX_VALUE));

What I've tried is to create a custom entity that extends the LeashFenceKnotEntity class and when registering it I removed the noSave attribute, and sure enough it worked: the leash stayed through world reloads.
But that raises another question: can I remove this attribute from the vanilla entity? Since having to create a custom entity imply that I have to replace all vanilla leash knots with custom ones when they are added (which is not optimal I guess)

Don't blame me if i always ask for your help. I just want to learn to be better :)

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.