# VoiceGroupType

How a group's audio relates to the ordinary proximity chat around it.

Source: https://socketsvc.vercel.app/api/shared/VoiceGroupType
<Callout title="Generated from source">
  Enum `com.socketsvc.api.VoiceGroupType` — generated from [VoiceGroupType.java](https://github.com/HippoDev03/SocketSVC/blob/main/common/core/src/main/java/com/socketsvc/api/VoiceGroupType.java). Edit the Javadoc in the Java source, then run `pnpm gen:api`.
</Callout>

```java
package com.socketsvc.api;

public enum VoiceGroupType { ... }
```

How a group's audio relates to the ordinary proximity chat around it.

Every type behaves identically _inside_ the group: members always hear each other at
full volume with no distance, world or visibility rule applied. The type only decides what
happens across the boundary between a member and someone who is not in any group - and it is
deliberately asymmetric, because "I can hear the room but the room cannot hear me" is a real
thing people want (a commentary booth, a staff channel that still follows the game) and is not
expressible with a single on/off switch.

Two _different_ groups never hear each other, whatever their types. A group is an
explicit membership, so joining one is also a statement about who you are not talking to.

## Constants

| Constant | Description |
| --- | --- |
| `ISOLATED` | Members hear only other members, and nobody outside hears them. |
| `NORMAL` | Members also hear nearby players who are not in a group; those players do not hear the group. |
| `OPEN` | Members hear nearby players who are not in a group, and those players hear the group too. |

## Methods

### hearsOutsiders

```java
public boolean hearsOutsiders()
```

Whether a member of this group can hear a nearby player who is in no group.

### heardByOutsiders

```java
public boolean heardByOutsiders()
```

Whether a nearby player who is in no group can hear a member of this group.

### parse

```java
public static VoiceGroupType parse(String text)
```

Case-insensitive parse used by config files and commands; `null` when unrecognised.

### id

```java
public String id()
```

Lower-case wire/config spelling.