Skip to content

Add extra-chat-worlds config for team chat in non-game worlds#52

Merged
tastybento merged 3 commits intodevelopfrom
copilot/fix-chat-functionality-issues
Mar 17, 2026
Merged

Add extra-chat-worlds config for team chat in non-game worlds#52
tastybento merged 3 commits intodevelopfrom
copilot/fix-chat-functionality-issues

Conversation

Copy link
Contributor

Copilot AI commented Mar 17, 2026

Team chat only works in game mode worlds. Players in spawn, hub, or other server worlds have their messages go to global chat even with team chat toggled on.

Adds team-chat.extra-chat-worlds — a map of game mode names to additional world names where team chat should be captured. Multiple game modes can cover the same world, in which case chat goes to all matching teams.

Config

team-chat:
  extra-chat-worlds:
    BSkyBlock:
      - world
      - world_nether
      - spawn_world
    AcidIsland:
      - spawn_world

Changes

  • Settings.java — New Map<String, List<String>> extraChatWorlds config field with BentoBox annotations
  • Chat.javagetWorldsFromExtra(worldName) resolves extra world names → game mode overworlds via AddonsManager
  • ChatListener.onChat() — World resolution now: registered game world → extra-chat-worlds → default chat gamemode → skip. Iterates all matching worlds to support multi-gamemode servers
  • config.yml — New section with example
  • Tests — Settings getter/setter, extra world team chat routing, fallback to default

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • jitpack.io
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher -f pom.xml -B -V -e -Dfindbugs.skip -Dcheckstyle.skip -Dpmd.skip=true -Dspotbugs.skip -Denforcer.skip -Dmaven.javadoc.skip (dns block)
  • repo.codemc.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher -f pom.xml -B -V -e -Dfindbugs.skip -Dcheckstyle.skip -Dpmd.skip=true -Dspotbugs.skip -Denforcer.skip -Dmaven.javadoc.skip (dns block)
  • repo.papermc.io
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher test (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Chat/Chat org.codehaus.plexus.classworlds.launcher.Launcher -f pom.xml -B -V -e -Dfindbugs.skip -Dcheckstyle.skip -Dpmd.skip=true -Dspotbugs.skip -Denforcer.skip -Dmaven.javadoc.skip (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Make is chat & is teamchat work in other worlds</issue_title>
<issue_description>### Description

Describe the bug

When we do /is chat or /is teamchat, the message is not only in island group, but in the chat instead. The addon only work when they are on their island. If they are on the spawn map, or other server world, the plugin will not work. Maybe it's because of the version of BentoBox and addons chat :/

Environment

BentoBox Version (Mandatory)
[10:13:59 INFO]: En cours d'exécution PAPER 1.15.2.
[10:13:59 INFO]: BentoBox version: 1.11.1
[10:13:59 INFO]: Database: MYSQL
[10:13:59 INFO]: Mondes de jeu chargés :
[10:13:59 INFO]: bskyblock_world (BSkyBlock): Overworld, [nether_color]Nether, [end_color]End
[10:13:59 INFO]: Addons chargés :
[10:13:59 INFO]: Biomes 1.6.0.1 (ENABLED)
[10:13:59 INFO]: BSkyBlock 1.11.0 (ENABLED)
[10:13:59 INFO]: Challenges 0.8.0 (ENABLED)
[10:13:59 INFO]: Chat 1.0.4 (ENABLED)
[10:13:59 INFO]: Level 1.9.3 (ENABLED)
[10:13:59 INFO]: Likes 1.7.0 (ENABLED)
[10:13:59 INFO]: Limits 1.9.2 (ENABLED)
[10:13:59 INFO]: MagicCobblestoneGenerator 1.7.0.2 (ENABLED)
[10:13:59 INFO]: Warps 1.9.0 (ENABLED)

Additional context (Optional)

I use AdvancedChatTorch and I don't know if it's can bug the addon.
</issue_description>

<agent_instructions>Implement a config to enable which worlds team chat should apply in, if enabled per my suggestion Jul 11th, 2020</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@tastybento This is not a bug. If you are not in the island world, then chat will not be affected. You could be in a different world on the server, like PlotSquared or Survival. @tastybento This is a bit more difficult because there could be multiple game modes on one server - AcidIsland, BSkyBlock, CaveBlock, AOneBlock, SkyGrid, so which team should be used? If you are in 'world' and chat and team chat is on in AcidIsland and BSkyBlock, does your chat go to both teams? I am not sure how that would work. For a single GameMode server it could work.

Also, this is team chat, not island chat. Island chat is just when you are on the island. Team chat is to chat to your team members.

It will require additional config. Maybe something like this:

# Additional chat worlds. List the additional worlds for each active game mode where team chat should be captured.
# If more than one game mode covers a world, then chat may go to multiple teams.
extra-chat-worlds:
  BSkyBlock:
    - world
    - world_nether
    - world_the_end
    - spawn_world
  AcidIsland:
    - spawn_world
@ https://github.com//issues/21 the same ... an update coming for this ? :(

📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI and others added 2 commits March 17, 2026 04:12
Adds a new config option `team-chat.extra-chat-worlds` that maps game mode
names to lists of additional world names where team chat should be captured.
When a player chats in an extra world, their team chat is resolved through
the mapped game mode(s). If multiple game modes cover the same world, chat
may go to multiple teams.

Settings: new extraChatWorlds Map<String, List<String>> field
Chat: new getWorldsFromExtra() method to resolve extra worlds to game mode overworlds
ChatListener: onChat() now checks extra chat worlds before falling back to default

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix is chat and is teamchat functionality in other worlds Add extra-chat-worlds config for team chat in non-game worlds Mar 17, 2026
Copilot AI requested a review from tastybento March 17, 2026 04:15
@tastybento tastybento marked this pull request as ready for review March 17, 2026 04:17
@tastybento tastybento merged commit 0b34a76 into develop Mar 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make is chat & is teamchat work in other worlds

2 participants