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.

CalmBit

Members
  • Joined

  • Last visited

Everything posted by CalmBit

  1. As a last edit, I re-instated the server-sided logic, but made wasActive an instance variable rather than a local variable, with its value being each time its found to be non-congruent with isActive. This achieves all of the desired effects. Thank you!
  2. Alright, figured it out, feel like an idiot. Your class tipped me off to the fact I was running sided logic, and that my update function was probably only being called on the server. Turns out that's a solid yes, and de-sided the logic. Will this have any particular side-effects I should look out for? I'm not exactly sure what the purpose is with siding that kind of logic, but it seems to be the standard. That's not necessarily a solid idea, on my part. Seems like a great way to get weird de-sysncs...
  3. Ok, so I made the requested "no shit" improvements and added the extra two methods detailed in file you linked for TE state syncing (didn't realize there were four separate methods, but alright). Should have all other syncing measures in place. The TE's update now has the following (mirrored from the file, essentially): if(wasActive != isActive) { this.world.markBlockRangeForRenderUpdate(this.pos, this.pos); this.world.notifyBlockUpdate(this.pos, this.world.getBlockState(this.pos), this.world.getBlockState(this.pos), 3); this.world.scheduleBlockUpdate(this.pos, this.getBlockType(), 0, 0); this.markDirty(); } Still not having any luck on the texture updating. The code's definitely being called when it needs to be (tested in debugger), and all other TE sync methods should be in place (packet updating, getActualState(), etc.) (gist contains updated code as well)
  4. Well, shit. Looks like I didn't get the memo. (I haven't worked on a mod since 1.7, so I'm still working on old knowledge from that and other sources, so I'm not exactly the brightest when it comes to all of it). I'll remove that garbage, and see what else I can do. I can't handle how moronic I can be - sorry if this was a waste of your time. Because I'm pretty fucking stupid and totally didn't look for an implementation before doing it myself. Also gonna change this.
  5. Hey there forum, Having some serious issues with getting my block to update its texture when a property is changed - as far as I can tell, i've implemented every single bit of code suggested, and should have a working implementation, and yet for some reason it refuses to work correctly. This gist contains all of the relevant code, along with the blockstate file for the block I'm having trouble with. While the BlockGrinder seems to receive the appropriate property update (with the F3 menu representing state as "grinder_on" when the conditions are met and seamlessly switching to "grinder_off" when they're not), the texture of the block only updates if I press F3+A to reload the chunks. Any ideas what I could be screwing up?

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.