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

there is code for forge 28(1.14.4)

    boolean isNotColliding(ClientWorld worldIn, BlockPos pos) {
        val bb = boundingBox(pos);
        worldIn.getEmptyCollisionShapes()
        return !worldIn.containsAnyLiquid(bb)
            && worldIn.isCollisionBoxesEmpty(null, bb);
            && worldIn.checkNoEntityCollision(null, VoxelShapes.create(bb));
    }

 

I was able to get the method `IWorldReader#isCollisionBoxesEmpty(Entity entityIn, AxisAlignedBB aabb)`, but I can't get it after updating to forge 31(1.15.2).

Do you have any ideas?

thanks!

Howdy

 

My usual strategy for solving this sort of problem is

1) For a method in a small class, I just open the new class and browse it looking for code which is similar to the 1.14.4 code

If the class is large or the method has moved out to another class

1) Use my IDE to search for all usages of the method in 1.14.4, and make note of a distinctive class/method which uses it

2) Go to the same class+method in 1.15.2 and see what the same code is calling now.

 

YOu might also find these links helpful

https://gist.github.com/williewillus/353c872bcf1a6ace9921189f6100d09a

Quote

Cross-referencing, a quick how-to

  • Oh no! Method FooClass.BarMethod disappeared in 1.13/1.14! Where did it go? Follow these easy steps for a guaranteed 80% success rate!
  1. Open a 1.12 workspace (this is why you use a separate workspace to update, by the way)
  2. Browse to FooClass.BarMethod
  3. Use your IDE's find usages tool to see where it was called from in vanilla
  4. Pick a call site
  5. Go to that same call site in 1.13/1.14
  6. What does it call instead?
  7. ???
  8. Profit

(if these steps don't apply, then you're allowed to ask)

 

and

https://gist.github.com/williewillus/30d7e3f775fe93c503bddf054ef3f93e

 

Cheers

  TGG

 

  • Author

Oh its true! That is nice strategy.

 

Follow that one, I replaced the method like this

 

    boolean isNotColliding(ClientWorld worldIn, BlockPos pos) {
        val bb = boundingBox(pos);
        return !worldIn.containsAnyLiquid(bb)
            && worldIn.func_226665_a__(null, bb)
            && worldIn.checkNoEntityCollision(null, VoxelShapes.create(bb));
    }

 

Thank you!

 

  • Author

I used old mappings (20200122) that have no map to func_26665_a__ and I found proper map (hasNoCollisions) to it after update to 20200316.

 

thanks again!

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.