Skip to content

Commit a973de9

Browse files
committed
fix: 🐛 Fixed storage containers closing at extended reach
1 parent 09d62f1 commit a973de9

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ org.gradle.caching=true
55

66
mod_id=sophisticatedstorage
77
mod_group_id=net.p3pp3rf1y
8-
mod_version=1.4.84
8+
mod_version=1.4.85
99
sonar_project_key=sophisticatedstorage:SophisticatedStorage
1010
github_package_url=https://maven.pkg.github.com/P3pp3rF1y/SophisticatedStorage
1111

src/main/java/net/p3pp3rf1y/sophisticatedstorage/common/gui/StorageContainerMenu.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public boolean detectSettingsChangeAndReload() {
135135
public boolean stillValid(Player player) {
136136
BlockPos pos = storageBlockEntity.getBlockPos();
137137
BlockEntity be = player.level().getBlockEntity(pos);
138-
return be instanceof StorageBlockEntity && (player.distanceToSqr(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D) <= 64.0D)
138+
return be instanceof StorageBlockEntity && player.canReach(pos, 4.0D)
139139
&& (!(be instanceof WoodStorageBlockEntity woodStorageBlockEntity) || !woodStorageBlockEntity.isPacked());
140140
}
141141

src/main/java/net/p3pp3rf1y/sophisticatedstorage/entity/MovingStorageOpenersCounter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void incrementOpeners(Player player, Entity entity) {
3535
nextOpenRecheck = player.level().getGameTime() + CHECK_TICK_DELAY;
3636
}
3737

38-
maxInteractionRange = Math.max(5, maxInteractionRange);
38+
maxInteractionRange = Math.max(player.getEntityReach(), maxInteractionRange);
3939
}
4040

4141
public void decrementOpeners(Player player, Entity entity) {
@@ -62,7 +62,8 @@ public void tick(Level level, Entity entity) {
6262
public void recheckOpeners(Entity entity) {
6363
Level level = entity.level();
6464
List<Player> playersWithStorageOpen = getPlayersWithContainerOpen(level, entity.blockPosition());
65-
maxInteractionRange = 5;
65+
maxInteractionRange = 0.0;
66+
playersWithStorageOpen.forEach(player -> maxInteractionRange = Math.max(player.getEntityReach(), maxInteractionRange));
6667

6768
int numberOfPlayers = playersWithStorageOpen.size();
6869
if (openCount != numberOfPlayers) {

0 commit comments

Comments
 (0)