Skip to content

Commit

Permalink
Fix still sending packets even if the player can't receive them
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexNijjar committed Aug 1, 2023
1 parent 1dccd65 commit d30533f
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import java.util.Collection;

public class PartyMembersScreen extends MembersScreen {
public boolean showCadmusScreen;
private boolean showCadmusScreen;

public PartyMembersScreen(MembersContent menuContent, Component displayName) {
super(menuContent, displayName);
Expand All @@ -40,13 +40,12 @@ public void removed() {

@Override
public void additionalEntries(MemberSettingList list, Member member, boolean cantModify, Member self) {
if (showCadmusScreen) {
if (Argonauts.isCadmusLoaded()) {
list.addEntry(new DividerEntry(Component.translatable("argonauts.member.cadmus_permissions")));
for (String permission : MemberPermissions.CADMUS_PERMISSIONS) {
list.addEntry(new BooleanEntry(permission, member.hasPermission(permission), !cantModify && this.menuContent.canManagePermissions() && self.hasPermission(permission), this::groupType, () -> this.menuContent.getSelected().profile().getId()));
}
}
if (!showCadmusScreen) return;
if (!Argonauts.isCadmusLoaded()) return;

list.addEntry(new DividerEntry(Component.translatable("argonauts.member.cadmus_permissions")));
for (String permission : MemberPermissions.CADMUS_PERMISSIONS) {
list.addEntry(new BooleanEntry(permission, member.hasPermission(permission), !cantModify && this.menuContent.canManagePermissions() && self.hasPermission(permission), this::groupType, () -> this.menuContent.getSelected().profile().getId()));
}
}

Expand All @@ -55,7 +54,7 @@ public Collection<String> getAdditionalPermissions() {
return MemberPermissions.CADMUS_PERMISSIONS;
}

public void refreshPermissions() {
public void showCadmusPermissions() {
showCadmusScreen = true;
this.repositionElements();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public ClientboundReceiveShowCadmusPermissionsPacket decode(FriendlyByteBuf buff
public PacketContext handle(ClientboundReceiveShowCadmusPermissionsPacket message) {
return (player, level) -> {
if (Minecraft.getInstance().screen instanceof PartyMembersScreen screen) {
screen.refreshPermissions();
screen.showCadmusPermissions();
}
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ private static void sendMessage(ServerPlayer player, Group<?> group, String mess

for (Member member : group.members()) {
var memberPlayer = player.server.getPlayerList().getPlayer(member.profile().getId());
if (memberPlayer != null) {
NetworkHandler.CHANNEL.sendToPlayer(packet, memberPlayer);
}
if (memberPlayer == null) continue;
if (!NetworkHandler.CHANNEL.canSendPlayerPackets(memberPlayer)) continue;
NetworkHandler.CHANNEL.sendToPlayer(packet, memberPlayer);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,11 @@ public PacketContext handle(ServerboundRequestShowCadmusPermissionsPacket messag
Guild guild = GuildApi.API.getPlayerGuild(player.getServer(), player.getUUID());
if (guild == null) return;
Member member = guild.members().get(player.getUUID());
if (member.hasPermission(MemberPermissions.TEMPORARY_GUILD_PERMISSIONS) || member.getState().isLeader()) {
NetworkHandler.CHANNEL.sendToPlayer(new ClientboundReceiveShowCadmusPermissionsPacket(), player);
if (!member.hasPermission(MemberPermissions.TEMPORARY_GUILD_PERMISSIONS) && !member.getState().isLeader()) {
return;
}
if (!NetworkHandler.CHANNEL.canSendPlayerPackets(player)) return;
NetworkHandler.CHANNEL.sendToPlayer(new ClientboundReceiveShowCadmusPermissionsPacket(), player);
};
}
}
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ org.gradle.jvmargs=-Xmx2G

enabledPlatforms=fabric,forge

version=0.1.3
version=1.0.0
group=earth.terrarium.argonauts

minecraftVersion=1.20.1
parchmentVersion=2023.07.02
mixinExtrasVersion=0.2.0-beta.8

resourcefulLibVersion=2.1.4
resourcefulLibVersion=2.1.8

cadmusVersion=0.0.6
heraclesVersion=0.0.6
Expand Down

0 comments on commit d30533f

Please sign in to comment.