classpublicPriority 3
ReputationRequirement
com.hypixel.hytale.builtin.adventure.reputation.choices.ReputationRequirement
extends ChoiceRequirement
2
Methods
2
Public Methods
2
Fields
2
Constructors
Constants
BuilderCodec<ReputationRequirement>CODEC= BuilderCodec.builder(
ReputationRequirement.class, ReputationRequirement::new, ChoiceReq...
Constructors
protected
ReputationRequirement()public
ReputationRequirement(String reputationGroupId, String minRequiredRankId)Methods
Public Methods (2)
public
boolean canFulfillRequirement(Store<EntityStore> store, Ref<EntityStore> ref, PlayerRef playerRef)@Override
public
String toString()@Nonnull@Override
Fields
Protected Fields (2)
protected
String minRequiredRankIdprotected
String reputationGroupIdInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.builtin.adventure.reputation.choices;
import com.hypixel.hytale.builtin.adventure.reputation.ReputationPlugin;
import com.hypixel.hytale.builtin.adventure.reputation.assets.ReputationGroup;
import com.hypixel.hytale.builtin.adventure.reputation.assets.ReputationRank;
import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.server.core.entity.entities.player.pages.choices.ChoiceRequirement;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;
public class ReputationRequirement extends ChoiceRequirement {
@Nonnull
public static final BuilderCodec<ReputationRequirement> CODEC = BuilderCodec.builder(
ReputationRequirement.class, ReputationRequirement::new, ChoiceRequirement.BASE_CODEC
)
.append(
new KeyedCodec<>("ReputationGroupId", Codec.STRING),
(reputationRequirement, s) -> reputationRequirement.reputationGroupId = s,
reputationRequirement -> reputationRequirement.reputationGroupId
)
.addValidator(ReputationGroup.VALIDATOR_CACHE.getValidator())
.add()
.<String>append(
new KeyedCodec<>("MinRequiredRankId", Codec.STRING),
(reputationRequirement, s) -> reputationRequirement.minRequiredRankId = s,
reputationRequirement -> reputationRequirement.minRequiredRankId
)
.addValidator(ReputationRank.VALIDATOR_CACHE.getValidator())
.add()
.build();
protected String reputationGroupId;
protected String minRequiredRankId;
public ReputationRequirement(String reputationGroupId, String minRequiredRankId) {
this.reputationGroupId = reputationGroupId;
this.minRequiredRankId = minRequiredRankId;
}
protected ReputationRequirement() {
}
@Override
public boolean canFulfillRequirement(@Nonnull Store<EntityStore> store, @Nonnull Ref<EntityStore> ref, @Nonnull PlayerRef playerRef) {
ReputationPlugin reputationModule = ReputationPlugin.get();
int playerReputationValue = reputationModule.getReputationValue(store, ref, this.reputationGroupId);
if (playerReputationValue == -2147483648) {
return false;
} else {
ReputationRank minReputationRank = ReputationRank.getAssetMap().getAsset(this.minRequiredRankId);
return minReputationRank == null ? false : playerReputationValue >= minReputationRank.getMinValue();
}
}
@Nonnull
@Override
public String toString() {
return "ReputationRequirement{reputationGroupId='"
+ this.reputationGroupId
+ "', minRequiredRankId='"
+ this.minRequiredRankId
+ "'} "
+ super.toString();
}
}