Skip to content

Commit

Permalink
Migrate a lot of strictOptionalField
Browse files Browse the repository at this point in the history
  • Loading branch information
Gaming32 committed Apr 19, 2024
1 parent 2bbf0c4 commit a7e1285
Show file tree
Hide file tree
Showing 43 changed files with 117 additions and 153 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public void render(BlockIcon icon, GuiGraphics graphics, int x, int y) {
final BakedModel model = minecraft.getBlockRenderer().getBlockModel(icon.block());
graphics.pose().pushPose();
graphics.pose().translate(x + 8f, y + 8f, 150f);
graphics.pose().mulPoseMatrix(new Matrix4f().scaling(1f, -1f, 1f));
graphics.pose().mulPose(new Matrix4f().scaling(1f, -1f, 1f));
graphics.pose().scale(16f, 16f, 16f);
final boolean flatLight = !model.usesBlockLight();
if (flatLight) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public record BingoDifficulty(int number, @Nullable String fallbackName) {
public static final Codec<BingoDifficulty> CODEC = RecordCodecBuilder.create(instance ->
instance.group(
ExtraCodecs.NON_NEGATIVE_INT.fieldOf("number").forGetter(BingoDifficulty::number),
ExtraCodecs.strictOptionalField(Codec.STRING, "fallback_name").forGetter(d -> Optional.ofNullable(d.fallbackName))
Codec.STRING.optionalFieldOf("fallback_name").forGetter(d -> Optional.ofNullable(d.fallbackName))
).apply(instance, BingoDifficulty::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.tags.TagKey;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
Expand All @@ -20,7 +19,7 @@ public record EntityTypeTagCycleIcon(TagKey<EntityType<?>> tag, int count) imple
public static final MapCodec<EntityTypeTagCycleIcon> CODEC = RecordCodecBuilder.mapCodec(instance ->
instance.group(
TagKey.codec(Registries.ENTITY_TYPE).fieldOf("tag").forGetter(EntityTypeTagCycleIcon::tag),
ExtraCodecs.strictOptionalField(Codec.INT, "count", 1).forGetter(EntityTypeTagCycleIcon::count)
Codec.INT.optionalFieldOf("count", 1).forGetter(EntityTypeTagCycleIcon::count)
).apply(instance, EntityTypeTagCycleIcon::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.tags.TagKey;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
Expand All @@ -16,7 +15,7 @@ public record ItemTagCycleIcon(TagKey<Item> tag, int count) implements GoalIcon
public static final MapCodec<ItemTagCycleIcon> CODEC = RecordCodecBuilder.mapCodec(instance ->
instance.group(
TagKey.codec(Registries.ITEM).fieldOf("tag").forGetter(ItemTagCycleIcon::tag),
ExtraCodecs.strictOptionalField(Codec.INT, "count", 1).forGetter(ItemTagCycleIcon::count)
Codec.INT.optionalFieldOf("count", 1).forGetter(ItemTagCycleIcon::count)
).apply(instance, ItemTagCycleIcon::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
import io.github.gaming32.bingo.game.ActiveGoal;
import io.github.gaming32.bingo.game.BingoGame;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;

public record CriterionProgressTracker(String criterion, float scale) implements ProgressTracker {
public static final MapCodec<CriterionProgressTracker> CODEC = RecordCodecBuilder.mapCodec(instance ->
instance.group(
Codec.STRING.fieldOf("criterion").forGetter(CriterionProgressTracker::criterion),
ExtraCodecs.strictOptionalField(Codec.FLOAT, "scale", 1f).forGetter(CriterionProgressTracker::scale)
Codec.FLOAT.optionalFieldOf("scale", 1f).forGetter(CriterionProgressTracker::scale)
).apply(instance, CriterionProgressTracker::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

public record CompoundBingoSub(ElementType elementType, Operator operator, List<BingoSub> factors) implements BingoSub {
public static final MapCodec<CompoundBingoSub> CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group(
ExtraCodecs.strictOptionalField(ElementType.CODEC, "element_type", ElementType.INT).forGetter(CompoundBingoSub::elementType),
ElementType.CODEC.optionalFieldOf("element_type", ElementType.INT).forGetter(CompoundBingoSub::elementType),
Operator.CODEC.fieldOf("operator").forGetter(CompoundBingoSub::operator),
ExtraCodecs.nonEmptyList(BingoSub.CODEC.listOf()).fieldOf("factors").forGetter(CompoundBingoSub::factors)
).apply(instance, CompoundBingoSub::new));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import org.jetbrains.annotations.NotNull;

import java.util.Optional;
Expand All @@ -33,8 +32,8 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(LocationPredicate.CODEC, "block").forGetter(TriggerInstance::block)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
LocationPredicate.CODEC.optionalFieldOf("block").forGetter(TriggerInstance::block)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.tags.TagKey;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
Expand Down Expand Up @@ -57,8 +56,8 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(ContextAwarePredicate.CODEC, "location").forGetter(TriggerInstance::location)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
ContextAwarePredicate.CODEC.optionalFieldOf("location").forGetter(TriggerInstance::location)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import net.minecraft.advancements.critereon.MinMaxBounds;
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.entity.projectile.ThrownEgg;
import net.minecraft.world.level.storage.loot.LootContext;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -39,9 +38,9 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "projectile").forGetter(TriggerInstance::projectile),
ExtraCodecs.strictOptionalField(MinMaxBounds.Ints.CODEC, "num_chickens", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::numChickens)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("projectile").forGetter(TriggerInstance::projectile),
MinMaxBounds.Ints.CODEC.optionalFieldOf("num_chickens", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::numChickens)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.level.saveddata.maps.MapItemSavedData;
import org.jetbrains.annotations.NotNull;

Expand All @@ -35,10 +34,10 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(MinMaxBounds.Ints.CODEC, "scale", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::scale),
ExtraCodecs.strictOptionalField(Codec.BOOL, "locked").forGetter(TriggerInstance::locked),
ExtraCodecs.strictOptionalField(LocationPredicate.CODEC, "center").forGetter(TriggerInstance::center)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
MinMaxBounds.Ints.CODEC.optionalFieldOf("scale", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::scale),
Codec.BOOL.optionalFieldOf("locked").forGetter(TriggerInstance::locked),
LocationPredicate.CODEC.optionalFieldOf("center").forGetter(TriggerInstance::center)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.advancements.critereon.EntityPredicate;
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.damagesource.DamageSource;
import org.jetbrains.annotations.NotNull;

Expand All @@ -30,8 +29,8 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(DamageSourcePredicate.CODEC, "source").forGetter(TriggerInstance::source)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
DamageSourcePredicate.CODEC.optionalFieldOf("source").forGetter(TriggerInstance::source)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import net.minecraft.advancements.critereon.EntityPredicate;
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.vehicle.VehicleEntity;
import net.minecraft.world.level.storage.loot.LootContext;
Expand All @@ -35,9 +34,9 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "vehicle").forGetter(TriggerInstance::vehicle),
ExtraCodecs.strictOptionalField(DamageSourcePredicate.CODEC, "destroying_blow").forGetter(TriggerInstance::destroyingBlow)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("vehicle").forGetter(TriggerInstance::vehicle),
DamageSourcePredicate.CODEC.optionalFieldOf("destroying_blow").forGetter(TriggerInstance::destroyingBlow)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
import net.minecraft.advancements.Criterion;
import net.minecraft.advancements.critereon.ContextAwarePredicate;
import net.minecraft.advancements.critereon.EntityPredicate;
import net.minecraft.core.component.DataComponents;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ShieldItem;
Expand Down Expand Up @@ -48,8 +48,8 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(Codec.BOOL, "allow_uncolored", false).forGetter(TriggerInstance::allowUncolored),
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
Codec.BOOL.optionalFieldOf("allow_uncolored", false).forGetter(TriggerInstance::allowUncolored),
ExtraCodecs.POSITIVE_INT.fieldOf("min_count").forGetter(TriggerInstance::minCount)
).apply(instance, TriggerInstance::new)
);
Expand All @@ -59,7 +59,7 @@ public boolean matches(Inventory inventory, ProgressListener<TriggerInstance> pr
for (int i = 0, l = inventory.getContainerSize(); i < l; i++) {
final ItemStack item = inventory.getItem(i);
if (item.getItem() instanceof ShieldItem) {
final DyeColor color = BlockItem.getBlockEntityData(item) == null ? null : ShieldItem.getColor(item);
final DyeColor color = item.get(DataComponents.BASE_COLOR);
if (!allowUncolored && color == null) {
continue;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.entity.projectile.Projectile;
import net.minecraft.world.level.storage.loot.LootContext;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -49,11 +48,11 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "projectile").forGetter(TriggerInstance::projectile),
ExtraCodecs.strictOptionalField(LocationPredicate.CODEC, "target_block").forGetter(TriggerInstance::targetBlock),
ExtraCodecs.strictOptionalField(MinMaxBounds.Ints.CODEC, "target_block_power", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::targetBlockPower),
ExtraCodecs.strictOptionalField(LocationPredicate.CODEC, "door").forGetter(TriggerInstance::door)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("projectile").forGetter(TriggerInstance::projectile),
LocationPredicate.CODEC.optionalFieldOf("target_block").forGetter(TriggerInstance::targetBlock),
MinMaxBounds.Ints.CODEC.optionalFieldOf("target_block_power", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::targetBlockPower),
LocationPredicate.CODEC.optionalFieldOf("door").forGetter(TriggerInstance::door)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import net.minecraft.advancements.critereon.MinMaxBounds;
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import org.jetbrains.annotations.NotNull;

import java.util.Optional;
Expand All @@ -35,9 +34,9 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(MinMaxBounds.Ints.CODEC, "levels_spent", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::levelsSpent),
ExtraCodecs.strictOptionalField(MinMaxBounds.Ints.CODEC, "required_levels", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::requiredLevels)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
MinMaxBounds.Ints.CODEC.optionalFieldOf("levels_spent", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::levelsSpent),
MinMaxBounds.Ints.CODEC.optionalFieldOf("required_levels", MinMaxBounds.Ints.ANY).forGetter(TriggerInstance::requiredLevels)
).apply(instance, TriggerInstance::new)
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import net.minecraft.advancements.critereon.EntityPredicate;
import net.minecraft.advancements.critereon.SimpleCriterionTrigger;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
Expand Down Expand Up @@ -47,10 +46,10 @@ public record TriggerInstance(
) implements SimpleInstance {
public static final Codec<TriggerInstance> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player),
ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "entity").forGetter(TriggerInstance::entity),
ExtraCodecs.strictOptionalField(DamagePredicate.CODEC, "killing_blow").forGetter(TriggerInstance::killingBlow),
ExtraCodecs.strictOptionalField(DistancePredicate.CODEC, "distance").forGetter(TriggerInstance::distance)
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player),
EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("entity").forGetter(TriggerInstance::entity),
DamagePredicate.CODEC.optionalFieldOf("killing_blow").forGetter(TriggerInstance::killingBlow),
DistancePredicate.CODEC.optionalFieldOf("distance").forGetter(TriggerInstance::distance)
).apply(instance, TriggerInstance::new)
);

Expand Down
Loading

0 comments on commit a7e1285

Please sign in to comment.