finish up WrappedTeamParameters
This commit is contained in:
parent
0266b25548
commit
0cd4de972c
|
@ -887,6 +887,13 @@ public abstract class AbstractStructure {
|
|||
EnumWrappers.getChatFormattingConverter());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a read/write structure for optional team parameters in 1.17+.
|
||||
* @return A modifier for optional team parameters fields.
|
||||
*/
|
||||
public StructureModifier<Optional<WrappedTeamParameters>> getOptionalTeamParameters() {
|
||||
return getOptionals(BukkitConverters.getWrappedTeamParametersConverter());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a read/write structure for the MinecraftKey class.
|
||||
|
|
|
@ -640,6 +640,10 @@ public class BukkitConverters {
|
|||
return ignoreNull(handle(WrappedLevelChunkData.LightData::getHandle, WrappedLevelChunkData.LightData::new, WrappedLevelChunkData.LightData.class));
|
||||
}
|
||||
|
||||
public static EquivalentConverter<WrappedTeamParameters> getWrappedTeamParametersConverter() {
|
||||
return ignoreNull(handle(WrappedTeamParameters::getHandle, WrappedTeamParameters::new, WrappedTeamParameters.class));
|
||||
}
|
||||
|
||||
public static EquivalentConverter<PacketContainer> getPacketContainerConverter() {
|
||||
return ignoreNull(handle(PacketContainer::getHandle, PacketContainer::fromPacket, PacketContainer.class));
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
|
|||
* @since 1.17
|
||||
*/
|
||||
public class WrappedTeamParameters extends AbstractWrapper {
|
||||
private static Class<?> getNmsClass() {
|
||||
public static Class<?> getNmsClassOrThrow() {
|
||||
return MinecraftReflection.getTeamParametersClass()
|
||||
.orElseThrow(() -> new IllegalStateException("Team parameters class doesn't exist on this server version"));
|
||||
}
|
||||
|
@ -37,9 +37,9 @@ public class WrappedTeamParameters extends AbstractWrapper {
|
|||
private final StructureModifier<Object> modifier;
|
||||
|
||||
public WrappedTeamParameters(Object handle) {
|
||||
super(getNmsClass());
|
||||
super(getNmsClassOrThrow());
|
||||
setHandle(handle);
|
||||
this.modifier = new StructureModifier<>(getNmsClass()).withTarget(handle);
|
||||
this.modifier = new StructureModifier<>(getNmsClassOrThrow()).withTarget(handle);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
@ -155,7 +155,7 @@ public class WrappedTeamParameters extends AbstractWrapper {
|
|||
Preconditions.checkNotNull(color, "Color not set");
|
||||
|
||||
// Not technically a packet, but it has a PacketDataSerializer constructor, so it works fine
|
||||
Object handle = StructureCache.newPacket(getNmsClass());
|
||||
Object handle = StructureCache.newPacket(getNmsClassOrThrow());
|
||||
|
||||
WrappedTeamParameters wrapped = new WrappedTeamParameters(handle);
|
||||
wrapped.writeComponent(0, displayName);
|
||||
|
|
Loading…
Reference in New Issue