Skip to content

Commit

Permalink
feat: add config to exclude rewards from "Claim all"
Browse files Browse the repository at this point in the history
  • Loading branch information
BobVarioa authored and desht committed Oct 14, 2022
1 parent e210c3e commit 3e04438
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,13 @@ public abstract class Reward extends QuestObjectBase {

public Tristate team;
public RewardAutoClaim autoclaim;
public boolean optional;

public Reward(Quest q) {
quest = q;
team = Tristate.DEFAULT;
autoclaim = RewardAutoClaim.DEFAULT;
optional = getType().getExcludeFromListRewards();
}

@Override
Expand Down Expand Up @@ -80,27 +82,32 @@ public void writeData(CompoundTag nbt) {
if (autoclaim != RewardAutoClaim.DEFAULT) {
nbt.putString("auto", autoclaim.id);
}

if (optional) nbt.putBoolean("optional", optional);
}

@Override
public void readData(CompoundTag nbt) {
super.readData(nbt);
team = Tristate.read(nbt, "team_reward");
autoclaim = RewardAutoClaim.NAME_MAP.get(nbt.getString("auto"));
optional = nbt.getBoolean("optional");
}

@Override
public void writeNetData(FriendlyByteBuf buffer) {
super.writeNetData(buffer);
Tristate.NAME_MAP.write(buffer, team);
RewardAutoClaim.NAME_MAP.write(buffer, autoclaim);
buffer.writeBoolean(optional);
}

@Override
public void readNetData(FriendlyByteBuf buffer) {
super.readNetData(buffer);
team = Tristate.NAME_MAP.read(buffer);
autoclaim = RewardAutoClaim.NAME_MAP.read(buffer);
optional = buffer.readBoolean();
}

@Override
Expand All @@ -109,6 +116,7 @@ public void getConfig(ConfigGroup config) {
super.getConfig(config);
config.addEnum("team", team, v -> team = v, Tristate.NAME_MAP).setNameKey("ftbquests.reward.team_reward");
config.addEnum("autoclaim", autoclaim, v -> autoclaim = v, RewardAutoClaim.NAME_MAP).setNameKey("ftbquests.reward.autoclaim");
config.addBool("optional", optional, v -> optional = v, optional).setNameKey("ftbquests.reward.optional");
}

public abstract void claim(ServerPlayer player, boolean notify);
Expand Down Expand Up @@ -238,7 +246,7 @@ public void onButtonClicked(Button button, boolean canClick) {
}

public boolean getExcludeFromClaimAll() {
return getType().getExcludeFromListRewards();
return optional;
}

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public interface GuiProvider {
private final Supplier<Icon> icon;
private Component displayName;
private GuiProvider guiProvider;
private boolean excludeFromListRewards;
private boolean excludeFromListRewards = false;
public int intId;

public RewardType(ResourceLocation i, Provider p, Supplier<Icon> ic) {
Expand Down

0 comments on commit 3e04438

Please sign in to comment.