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