No description
Find a file
Tomasz Kramkowski 4b59528b31 Fix race in Contraption simplifiedEntityColliders update
This issue is most obvious in elevators with multiple doors. When the
collider gets invalidated multiple times in quick succession, multiple
futures are created. If a future which was started before all door state
updates were finalized completed after all other futures, the final
simplifiedEntityColliders would be outdated and invalid (containing
ghost doors, or in the case of an elevator in motion, missing door
collisions).

This commit addresses this issue in two ways:

First by cancelling any existing future to ensure that any future which
completes was started after the most recent invalidation.

Second by removing the null assignment of
simplifiedEntityColliderProvider from the future. This prevents the
future from becoming null after a null check and before a cancellation
(the only time where the null value matters). Cancelling a future twice
is not an issue so there's no need to track if the future is null other
than to avoid a null dereference.
2024-09-11 00:23:14 +01:00
.github Issue Label Actor (#6221) 2024-08-10 12:26:26 -07:00
.idea Update intellij icon 2024-08-21 18:06:31 -04:00
gradle/wrapper Add create debuginfo command (#5531) 2023-10-22 11:03:28 +02:00
src Fix race in Contraption simplifiedEntityColliders update 2024-09-11 00:23:14 +01:00
.editorconfig merge & comment cleanup 2021-05-03 18:25:57 +02:00
.gitattributes Force generated jsons to check out with LF line endings on Windows 2020-05-14 21:12:58 -04:00
.gitignore Squashed commit of the following: 2023-05-09 18:23:47 +02:00
build.gradle Update jij version range, Patch H 2024-09-03 15:39:36 +02:00
crowdin.yml update crowdin.yml 2024-08-08 13:24:11 +02:00
gradle.properties Update jij version range, Patch H 2024-09-03 15:39:36 +02:00
gradlew Fix diving helmet check 2023-06-30 14:12:48 -07:00
gradlew.bat Fix diving helmet check 2023-06-30 14:12:48 -07:00
LICENSE Setup Infrastructure 2019-07-11 09:03:08 +02:00
README.md Update intellij icon 2024-08-21 18:06:31 -04:00
settings.gradle Setup build script for maven 2021-08-05 15:09:00 -07:00

Logo

Create
Patreon Supported Versions License Discord CF Modrinth

Welcome to Create, a mod offering a variety of tools and blocks for Building, Decoration, and Aesthetic Automation.

The added elements of tech are designed to leave as many design choices to the player as possible. With Create, the game isn't played inside a bunch of UIs, it challenges you to set up contraptions of animated components working together in many possible arrangements.

Create's visual in-game documentation called 'Ponder' will guide you through all added mechanics and gadgets.

 

Find out more about Create on our Curseforge or Modrinth Page

Looking for the Fabric port? Find it here