Class SinglePlayerTeam
java.lang.Object
com.petrolpark.core.team.AbstractTeam
com.petrolpark.core.team.singleplayer.SinglePlayerTeam
- All Implemented Interfaces:
ITeam,net.minecraft.core.component.DataComponentHolder,net.neoforged.neoforge.common.extensions.IDataComponentHolderExtension,net.neoforged.neoforge.common.MutableDataComponentHolder
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface com.petrolpark.core.team.ITeam
ITeam.ProviderType -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.neoforged.neoforge.attachment.IAttachmentSerializer<net.minecraft.nbt.Tag, SinglePlayerTeam> final net.minecraft.world.entity.player.PlayerFields inherited from class com.petrolpark.core.team.AbstractTeam
components -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSinglePlayerTeam(net.minecraft.world.entity.player.Player player, net.minecraft.core.component.DataComponentPatch components) -
Method Summary
Modifier and TypeMethodDescriptionstatic final SinglePlayerTeamcreate(net.neoforged.neoforge.attachment.IAttachmentHolder attachmentHolder) static final ITeamget(net.minecraft.world.entity.player.Player player) net.minecraft.network.chat.ComponentgetName()The name of this Team, without necessarily referring to anymembers.TheITeam.Providerthat provides this exact Team instance.net.minecraft.network.chat.ComponentgetRenderedMemberList(int maxTextWidth) Get thenamesof somemembersof this Team, formatted nicely.booleanisAdmin(net.minecraft.world.entity.player.Player player) What this means will be different for every system that uses Teams.booleanisMember(net.minecraft.world.entity.player.Player player) Whether the given Player is in this Team, meaning they have access client-side to the Team'sData Components, and have any non-adminabilities.intThe number ofmembersof this Team.static ITeam.Providerprovider(net.minecraft.world.entity.player.Player player) voidrenderIcon(net.minecraft.client.gui.GuiGraphics graphics) Render an icon for thisITeam.voidsetChanged(net.minecraft.core.component.DataComponentPatch patch) Called if anyData Componentsactually change.Stream<net.minecraft.world.entity.player.Player> Everymemberof this Team, with no guarantee of order.The uniqueusernameof everymemberof this Team, in no particular order.Methods inherited from class com.petrolpark.core.team.AbstractTeam
applyComponents, applyComponents, getComponents, getDataComponentPatch, isNone, remove, set, writeDataComponentsTagMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.core.component.DataComponentHolder
get, getOrDefault, hasMethods inherited from interface net.neoforged.neoforge.common.extensions.IDataComponentHolderExtension
addToTooltip, addToTooltip, get, getOrDefault, hasMethods inherited from interface com.petrolpark.core.team.ITeam
sendToAllMembers, streamServerMembersMethods inherited from interface net.neoforged.neoforge.common.MutableDataComponentHolder
copyFrom, copyFrom, remove, set, update, update, update, update
-
Field Details
-
player
public final net.minecraft.world.entity.player.Player player -
ATTACHMENT_SERIALIZER
public static final net.neoforged.neoforge.attachment.IAttachmentSerializer<net.minecraft.nbt.Tag,SinglePlayerTeam> ATTACHMENT_SERIALIZER
-
-
Constructor Details
-
SinglePlayerTeam
protected SinglePlayerTeam(net.minecraft.world.entity.player.Player player, net.minecraft.core.component.DataComponentPatch components)
-
-
Method Details
-
provider
-
create
public static final SinglePlayerTeam create(net.neoforged.neoforge.attachment.IAttachmentHolder attachmentHolder) -
get
-
getProvider
Description copied from interface:ITeamTheITeam.Providerthat provides this exact Team instance. -
isMember
public boolean isMember(@Nonnull net.minecraft.world.entity.player.Player player) Description copied from interface:ITeamWhether the given Player is in this Team, meaning they have access client-side to the Team'sData Components, and have any non-adminabilities.- Parameters:
player-
-
memberCount
public int memberCount()Description copied from interface:ITeamThe number ofmembersof this Team.- Returns:
- Positive integer
almost alwaysgreater than0.
-
streamMemberUsernames
Description copied from interface:ITeamThe uniqueusernameof everymemberof this Team, in no particular order. ForScoreboardTeams in particular, this method is faster thanITeam.streamMembers()and should be used in preference to calling that method and then getting the usernames. -
streamMembers
Description copied from interface:ITeamEverymemberof this Team, with no guarantee of order. It is faster to useITeam.streamMemberUsernames()unless having the Player itself is vital. On the client side, that is the only way to know the members of the Team.- See Also:
-
isAdmin
public boolean isAdmin(@Nonnull net.minecraft.world.entity.player.Player player) Description copied from interface:ITeamWhat this means will be different for every system that uses Teams. It could mean the ability to change the name of aShop, for example. It has nothing to do with operator permissions. If called, it is assumed thatITeam.isMember(Player)has already passed.- Parameters:
player-
-
getName
public net.minecraft.network.chat.Component getName()Description copied from interface:ITeamThe name of this Team, without necessarily referring to anymembers.- See Also:
-
setChanged
public void setChanged(net.minecraft.core.component.DataComponentPatch patch) Description copied from class:AbstractTeamCalled if anyData Componentsactually change. Use this to sync changes to the clients ofmembersof this Team.- Specified by:
setChangedin classAbstractTeam- Parameters:
patch-
-
renderIcon
public void renderIcon(@Nonnull net.minecraft.client.gui.GuiGraphics graphics) Description copied from interface:ITeamRender an icon for thisITeam. The icon should occupy(0, 0) -> (16, 16)of the given PoseStack.- Parameters:
graphics-
-
getRenderedMemberList
public net.minecraft.network.chat.Component getRenderedMemberList(int maxTextWidth) Description copied from interface:ITeamGet thenamesof somemembersof this Team, formatted nicely. This does not need to list every member exhaustively. This list in no particular order, but should be the same every time to prevent weird rendering.- Parameters:
maxTextWidth-- See Also:
-