Class ResearchTeamImpl
java.lang.Object
com.portingdeadmods.researchd.impl.team.ResearchTeamImpl
- All Implemented Interfaces:
ResearchTeam,ValueEffectsHolder
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec<ResearchTeamImpl> static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, ResearchTeamImpl> -
Constructor Summary
ConstructorsConstructorDescriptionResearchTeamImpl(UUID teamId, String teamName) Creates a Research Team with the given name and owner UUID. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddMember(UUID member, ResearchTeamRole role) voidClears all accumulated value-effect entries.longGets the creation time of the teamfloatgetEffectValue(ValueEffect effect) getId()@NotNull TeamMembergetName()getOwner()getQueue()Map<net.minecraft.resources.ResourceKey<Research>, ResearchInstance> Map<net.minecraft.resources.ResourceKey<Research>, ResearchProgress> booleanbooleanvoidinit(net.minecraft.world.level.Level level) booleanisModerator(UUID uuid) booleanvoidonCompleteResearch(net.minecraft.resources.ResourceKey<Research> researchKey, long completionTime, boolean forced, Function<UUID, net.minecraft.world.entity.player.Player> playerGetter) voidonRemoveResearch(net.minecraft.resources.ResourceKey<Research> researchKey, Function<UUID, net.minecraft.world.entity.player.Player> playerGetter) Inverse ofResearchTeam.onCompleteResearch(net.minecraft.resources.ResourceKey<com.portingdeadmods.researchd.api.research.Research>, long, boolean, java.util.function.Function<java.util.UUID, net.minecraft.world.entity.player.Player>): flips the research back to non-completed, firesonLockto reverse the effect, and syncs the team.voidvoidremoveMember(UUID uuid) voidvoidsetCreationTime(long creationTime) Sets the creation time of the team.voidsetEffectValue(ValueEffect effect, float value) voidSet the display name of this teamvoidsetOnChangedFunction(Runnable onChangedFunction) voidsetResearchCompleted(net.minecraft.resources.ResourceKey<Research> research, long completionTime) voidsetRole(UUID member, ResearchTeamRole role) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.portingdeadmods.researchd.api.team.ResearchTeam
getCurrentProgress, getCurrentResearch, onCompleteResearchMethods inherited from interface com.portingdeadmods.researchd.api.team.ValueEffectsHolder
getEffectValue, setEffectValue
-
Field Details
-
CODEC
-
STREAM_CODEC
public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,ResearchTeamImpl> STREAM_CODEC
-
-
Constructor Details
-
ResearchTeamImpl
Creates a Research Team with the given name and owner UUID.- Parameters:
teamId- The OwnerteamName- The Name of the Team
-
-
Method Details
-
setOnChangedFunction
-
setChanged
public void setChanged() -
getName
- Specified by:
getNamein interfaceResearchTeam- Returns:
- The display name of this team
-
getId
- Specified by:
getIdin interfaceResearchTeam- Returns:
- The unique uuid of this team
-
getOwner
- Specified by:
getOwnerin interfaceResearchTeam
-
getMembers
- Specified by:
getMembersin interfaceResearchTeam
-
getMember
- Specified by:
getMemberin interfaceResearchTeam
-
setCreationTime
public void setCreationTime(long creationTime) Description copied from interface:ResearchTeamSets the creation time of the team. This should be correctly relative to further calculations.- Specified by:
setCreationTimein interfaceResearchTeam- Parameters:
creationTime- The time in ticks when the team was created.
-
getCreationTime
public long getCreationTime()Description copied from interface:ResearchTeamGets the creation time of the team- Specified by:
getCreationTimein interfaceResearchTeam- Returns:
- the time in ticks when the team was created
-
getQueue
- Specified by:
getQueuein interfaceResearchTeam
-
getResearches
- Specified by:
getResearchesin interfaceResearchTeam
-
getResearchProgresses
- Specified by:
getResearchProgressesin interfaceResearchTeam
-
setResearchCompleted
public void setResearchCompleted(net.minecraft.resources.ResourceKey<Research> research, long completionTime) - Specified by:
setResearchCompletedin interfaceResearchTeam
-
onCompleteResearch
public void onCompleteResearch(net.minecraft.resources.ResourceKey<Research> researchKey, long completionTime, boolean forced, Function<UUID, net.minecraft.world.entity.player.Player> playerGetter) - Specified by:
onCompleteResearchin interfaceResearchTeam
-
onRemoveResearch
public void onRemoveResearch(net.minecraft.resources.ResourceKey<Research> researchKey, Function<UUID, net.minecraft.world.entity.player.Player> playerGetter) Description copied from interface:ResearchTeamInverse ofResearchTeam.onCompleteResearch(net.minecraft.resources.ResourceKey<com.portingdeadmods.researchd.api.research.Research>, long, boolean, java.util.function.Function<java.util.UUID, net.minecraft.world.entity.player.Player>): flips the research back to non-completed, firesonLockto reverse the effect, and syncs the team.- Specified by:
onRemoveResearchin interfaceResearchTeam
-
refreshResearchStatus
public void refreshResearchStatus()- Specified by:
refreshResearchStatusin interfaceResearchTeam
-
addMember
- Specified by:
addMemberin interfaceResearchTeam
-
removeMember
- Specified by:
removeMemberin interfaceResearchTeam
-
setRole
- Specified by:
setRolein interfaceResearchTeam
-
setName
Description copied from interface:ResearchTeamSet the display name of this team- Specified by:
setNamein interfaceResearchTeam- Parameters:
name- The new display name of the team
-
hasMember
- Specified by:
hasMemberin interfaceResearchTeam
-
addMember
- Specified by:
addMemberin interfaceResearchTeam
-
isOwner
- Specified by:
isOwnerin interfaceResearchTeam
-
getSocialManager
- Specified by:
getSocialManagerin interfaceResearchTeam
-
isModerator
- Specified by:
isModeratorin interfaceResearchTeam
-
getEffectValue
- Specified by:
getEffectValuein interfaceValueEffectsHolder
-
setEffectValue
- Specified by:
setEffectValuein interfaceValueEffectsHolder
-
clearAllEffectValues
public void clearAllEffectValues()Description copied from interface:ValueEffectsHolderClears all accumulated value-effect entries. Used when reinitializing on reload.- Specified by:
clearAllEffectValuesin interfaceValueEffectsHolder
-
init
public void init(net.minecraft.world.level.Level level) - Specified by:
initin interfaceResearchTeam
-
getTeamResearches
-
hasOnChangedFunction
public boolean hasOnChangedFunction()
-