From 1a0e64863f60ecdbc14b68ef66676a3cd70a1337 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Wed, 25 Oct 2023 10:13:55 -0700 Subject: [PATCH] Fix group refresh packet spam when entering a rogue map --- .../java/emu/lunarcore/game/rogue/RogueEntityLoader.java | 2 +- .../java/emu/lunarcore/game/scene/SceneEntityLoader.java | 4 ++-- .../java/emu/lunarcore/game/scene/entity/EntityProp.java | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java index cfbb470..1daee97 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java @@ -89,7 +89,7 @@ public class RogueEntityLoader extends SceneEntityLoader { prop.setPropInfo(propInfo); prop.setGroupId(group.getId()); prop.setInstId(propInfo.getID()); - prop.setState(state); + prop.setState(state, false); // Overrides if (propExtra != null) { diff --git a/src/main/java/emu/lunarcore/game/scene/SceneEntityLoader.java b/src/main/java/emu/lunarcore/game/scene/SceneEntityLoader.java index 20ec2d2..03e2a3f 100644 --- a/src/main/java/emu/lunarcore/game/scene/SceneEntityLoader.java +++ b/src/main/java/emu/lunarcore/game/scene/SceneEntityLoader.java @@ -49,14 +49,14 @@ public class SceneEntityLoader { prop.setPropInfo(propInfo); prop.setGroupId(group.getId()); prop.setInstId(propInfo.getID()); - prop.setState(propInfo.getState()); + prop.setState(propInfo.getState(), false); // Cache if (prop.getPropId() == 1003) { // Hacky fix to open simulated universe if (propInfo.getMappingInfoID() == 2220) { // Regular simulated universe is locked behind a mission requirement by default - prop.setState(PropState.Open); + prop.setState(PropState.Open, false); } else { // Skip tutorial simulated universe return null; diff --git a/src/main/java/emu/lunarcore/game/scene/entity/EntityProp.java b/src/main/java/emu/lunarcore/game/scene/entity/EntityProp.java index 845c935..435e76d 100644 --- a/src/main/java/emu/lunarcore/game/scene/entity/EntityProp.java +++ b/src/main/java/emu/lunarcore/game/scene/entity/EntityProp.java @@ -42,10 +42,14 @@ public class EntityProp implements GameEntity { } public void setState(PropState state) { + this.setState(state, this.getScene().isLoaded()); + } + + public void setState(PropState state, boolean sendPacket) { // Set state this.state = state; // Sync state update to client - if (this.getScene().isLoaded()) { + if (sendPacket) { this.getScene().getPlayer().sendPacket(new PacketSceneGroupRefreshScNotify(this, null)); } }