Skip to content

Commit ef97d54

Browse files
committed
fix: Attractor obelisk calling setChanged from setLevel
No need to set the machine owner, we can just fallback onto a random UUID if we need it. Closes: #1179
1 parent c7cf952 commit ef97d54

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

enderio-machines/src/main/java/com/enderio/machines/common/blocks/base/blockentity/MachineBlockEntity.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,10 @@ public UUID getMachineOwner() {
325325
return this.owner;
326326
}
327327

328+
public UUID getMachineOwnerOrRandom() {
329+
return Objects.requireNonNullElseGet(getMachineOwner(), UUID::randomUUID);
330+
}
331+
328332
// region Resource Distribution
329333

330334
// TODO: I kind of want to rewrite this without relying on getSelfCapability.

enderio-machines/src/main/java/com/enderio/machines/common/blocks/obelisks/attractor/AttractorObeliskBlockEntity.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,7 @@ public String getColor() {
9393
public void setLevel(Level level) {
9494
super.setLevel(level);
9595
if (level instanceof ServerLevel sl) {
96-
if (this.getMachineOwner() == null) {
97-
this.setMachineOwner(UUID.randomUUID()); // Fallback
98-
}
99-
fakePlayer = new FakePlayer(sl, new GameProfile(getMachineOwner(), "enderio:attractor:" + worldPosition));
96+
fakePlayer = new FakePlayer(sl, new GameProfile(getMachineOwnerOrRandom(), "enderio:attractor:" + worldPosition));
10097
fakePlayer.setPos(targetPos.x, targetPos.y, targetPos.z);
10198
}
10299
}

0 commit comments

Comments
 (0)