Skip to content

Commit 215fa24

Browse files
committed
Partial updates to 1.21.2
1 parent a6c9522 commit 215fa24

31 files changed

+97
-91
lines changed

gradle.properties

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ org.gradle.daemon=false
33

44
# Fabric Properties
55
# check these on https://fabricmc.net/develop
6-
minecraft_version=1.21.1
7-
yarn_mappings=1.21.1+build.3
8-
loader_version=0.16.5
9-
fabric_version=0.105.0+1.21.1
6+
minecraft_version=1.21.2-pre3
7+
yarn_mappings=1.21.2-pre3+build.4
8+
loader_version=0.16.7
9+
fabric_version=0.105.4+1.21.2
1010

1111
# Mod Properties
1212
group=com.minelittlepony

src/main/java/com/minelittlepony/unicopia/Debug.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity;
1010
import com.minelittlepony.unicopia.entity.mob.UEntities;
1111

12+
import net.minecraft.entity.SpawnReason;
1213
import net.minecraft.entity.vehicle.BoatEntity;
1314
import net.minecraft.registry.Registries;
1415
import net.minecraft.registry.tag.TagKey;
@@ -34,7 +35,7 @@ static void runTests(World world) {
3435

3536
try {
3637
for (var type : BoatEntity.Type.values()) {
37-
var balloon = UEntities.AIR_BALLOON.create(world);
38+
var balloon = UEntities.AIR_BALLOON.create(world, SpawnReason.SPAWN_ITEM_USE);
3839
balloon.setBasketType(AirBalloonEntity.BasketType.of(type));
3940
balloon.asItem();
4041
}

src/main/java/com/minelittlepony/unicopia/USounds.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public interface USounds {
2424
SoundEvent ENTITY_PLAYER_EARTHPONY_DASH = ENTITY_RAVAGER_STEP;
2525
SoundEvent ENTITY_PLAYER_CHANGELING_BUZZ = register("entity.player.changeling.buzz");
2626
SoundEvent ENTITY_PLAYER_CHANGELING_TRANSFORM = register("entity.player.changeling.transform");
27-
SoundEvent ENTITY_PLAYER_CHANGELING_FEED = ENTITY_GENERIC_DRINK;
27+
RegistryEntry<SoundEvent> ENTITY_PLAYER_CHANGELING_FEED = ENTITY_GENERIC_DRINK;
2828
SoundEvent ENTITY_PLAYER_CHANGELING_CLIMB = ENTITY_CHICKEN_STEP;
2929
SoundEvent ENTITY_PLAYER_UNICORN_TELEPORT = register("entity.player.unicorn.teleport");
3030
SoundEvent ENTITY_PLAYER_KIRIN_RAGE = ENTITY_POLAR_BEAR_WARNING;

src/main/java/com/minelittlepony/unicopia/WorldConvertable.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ default boolean isClient() {
1818
}
1919

2020
default <T> RegistryEntry<T> entryFor(RegistryKey<T> key) {
21-
return asWorld().getRegistryManager().get(key.getRegistryRef()).getEntry(key).orElseThrow();
21+
return asWorld().getRegistryManager().getOrThrow(key.getRegistryRef()).getEntry(key.getValue()).orElseThrow();
2222
}
2323
}

src/main/java/com/minelittlepony/unicopia/ability/AbilityDispatcher.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ public void fromNBT(NbtCompound compound, WrapperLookup lookup) {
302302
maxWarmup = compound.getInt("maxWarmup");
303303
maxCooldown = compound.getInt("maxCooldown");
304304
triggered = compound.getBoolean("triggered");
305-
activeAbility = Abilities.REGISTRY.getOrEmpty(Identifier.of(compound.getString("activeAbility")));
305+
activeAbility = Abilities.REGISTRY.getOptionalValue(Identifier.of(compound.getString("activeAbility")));
306306
}
307307
}
308308
}

src/main/java/com/minelittlepony/unicopia/ability/BatEeeeAbility.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.minelittlepony.unicopia.entity.damage.UDamageTypes;
77
import com.minelittlepony.unicopia.entity.player.Pony;
88

9+
import net.minecraft.server.world.ServerWorld;
910
import net.minecraft.util.math.random.Random;
1011
import net.minecraft.world.event.GameEvent;
1112

@@ -38,8 +39,8 @@ protected void playSounds(Pony player, Random rng, float strength) {
3839
}
3940
}
4041

41-
if (strength > 0.5F && rng.nextInt(SELF_SPOOK_PROBABILITY) == 0) {
42-
player.asEntity().damage(player.damageOf(UDamageTypes.BAT_SCREECH, player), 0.1F);
42+
if (player.asWorld() instanceof ServerWorld sw && strength > 0.5F && rng.nextInt(SELF_SPOOK_PROBABILITY) == 0) {
43+
player.asEntity().damage(sw, player.damageOf(UDamageTypes.BAT_SCREECH, player), 0.1F);
4344
UCriteria.SCREECH_SELF.trigger(player.asEntity());
4445
}
4546
}

src/main/java/com/minelittlepony/unicopia/ability/ChangelingFeedAbility.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ public boolean apply(Pony iplayer, Hit data) {
8282
if (targets.size() > 0) {
8383
new ChangelingFeedingSpell(targets, maximumHealthGain, maximumFoodGain).apply(iplayer);
8484

85-
iplayer.playSound(USounds.ENTITY_PLAYER_CHANGELING_FEED, 0.1F, iplayer.getRandomPitch());
85+
iplayer.playSound(USounds.ENTITY_PLAYER_CHANGELING_FEED.value(), 0.1F, iplayer.getRandomPitch());
8686
return true;
8787
}
8888
}
8989

90-
iplayer.playSound(USounds.Vanilla.ENTITY_PLAYER_BURP, 1, (float)player.getWorld().random.nextTriangular(1F, 0.2F));
90+
iplayer.playSound(USounds.Vanilla.ENTITY_PLAYER_BURP, 1, player.getWorld().random.nextTriangular(1F, 0.2F));
9191
return true;
9292
}
9393

src/main/java/com/minelittlepony/unicopia/ability/EarthPonyGrowAbility.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.util.Optional;
44
import java.util.function.DoubleSupplier;
55
import java.util.function.Supplier;
6+
import java.util.stream.StreamSupport;
7+
68
import com.minelittlepony.unicopia.USounds;
79
import com.minelittlepony.unicopia.UTags;
810
import com.minelittlepony.unicopia.ability.data.Pos;
@@ -28,6 +30,8 @@
2830
import net.minecraft.network.RegistryByteBuf;
2931
import net.minecraft.network.codec.PacketCodec;
3032
import net.minecraft.particle.ParticleTypes;
33+
import net.minecraft.recipe.RecipeEntry;
34+
import net.minecraft.server.world.ServerWorld;
3135
import net.minecraft.util.math.BlockPos;
3236
import net.minecraft.util.math.Direction;
3337
import net.minecraft.util.math.Vec3d;
@@ -132,10 +136,13 @@ protected int applySingle(Pony player, World w, BlockState state, BlockPos pos)
132136
return 0;
133137
}
134138

139+
@SuppressWarnings("unchecked")
135140
private boolean applyDirectly(Pony player, BlockPos pos) {
136-
return player.asWorld().getRecipeManager()
137-
.getAllMatches(URecipes.GROWING, new TransformCropsRecipe.PlacementArea(player, pos), player.asWorld())
138-
.stream()
141+
var placementArea = new TransformCropsRecipe.PlacementArea(player, pos);
142+
return StreamSupport.stream(((ServerWorld)player.asWorld()).getRecipeManager().values().spliterator(), false)
143+
.filter(recipe -> recipe.value().getType() == URecipes.GROWING)
144+
.map(recipe -> (RecipeEntry<TransformCropsRecipe>)recipe)
145+
.filter(recipe -> recipe.value().matches(placementArea, player.asWorld()))
139146
.map(recipe -> recipe.value().checkPattern(player.asWorld(), pos))
140147
.filter(result -> result.matchedLocations().size() + 1 >= TransformCropsRecipe.MINIMUM_INPUT)
141148
.filter(result -> {

src/main/java/com/minelittlepony/unicopia/ability/EarthPonyKickAbility.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ public boolean onQuickAction(Pony player, ActivationType type, Optional<Pos> dat
9090
if (e instanceof LivingEntity entity) {
9191
float calculatedStrength = 0.5F * (1 + player.getLevel().getScaled(9));
9292

93-
entity.damage(player.damageOf(UDamageTypes.KICK, player), player.asWorld().random.nextBetween(2, 10) + calculatedStrength);
93+
if (player.asWorld() instanceof ServerWorld sw) {
94+
entity.damage(sw, player.damageOf(UDamageTypes.KICK, player), player.asWorld().random.nextBetween(2, 10) + calculatedStrength);
95+
}
9496
entity.takeKnockback(calculatedStrength, origin.x - entity.getX(), origin.z - entity.getZ());
9597
Living.updateVelocity(entity);
9698
player.subtractEnergyCost(3);
@@ -109,7 +111,7 @@ public boolean onQuickAction(Pony player, ActivationType type, Optional<Pos> dat
109111
}
110112

111113
if (type == ActivationType.DOUBLE_TAP && player.asEntity().isOnGround() && player.getMagicalReserves().getMana().get() > 40) {
112-
player.getPhysics().dashForward((float)player.asWorld().random.nextTriangular(3.5F, 0.3F));
114+
player.getPhysics().dashForward(player.asWorld().random.nextTriangular(3.5F, 0.3F));
113115
player.subtractEnergyCost(4);
114116
player.asEntity().addExhaustion(5);
115117
return true;

src/main/java/com/minelittlepony/unicopia/ability/EarthPonyStompAbility.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public double getCostEstimate(Pony player) {
8585
public Optional<Hit> prepare(Pony player) {
8686
if (player.asEntity().getVelocity().y * player.getPhysics().getGravitySignum() < 0
8787
&& !player.asEntity().getAbilities().flying
88-
&& !player.asEntity().isFallFlying()
88+
&& !player.asEntity().isGliding()
8989
&& !player.asEntity().isUsingRiptide()) {
9090
thrustDownwards(player);
9191
return Hit.INSTANCE;
@@ -144,7 +144,7 @@ public float dispatch(float fallDistance) {
144144
-(player.getY() - i.getY() - liftAmount) / inertia + (dist < 1 ? dist : 0),
145145
-(player.getZ() - i.getZ()) / inertia);
146146

147-
double amount = (1.5F * player.getAttributeInstance(EntityAttributes.GENERIC_ATTACK_DAMAGE).getValue() + heavyness * 0.4) / (float)(dist * 1.3F);
147+
double amount = (1.5F * player.getAttributeInstance(EntityAttributes.ATTACK_DAMAGE).getValue() + heavyness * 0.4) / (float)(dist * 1.3F);
148148

149149
if (i instanceof PlayerEntity) {
150150
Race.Composite race = Pony.of((PlayerEntity)i).getCompositeRace();
@@ -161,7 +161,7 @@ public float dispatch(float fallDistance) {
161161
amount /= EnchantmentUtil.getImpactReduction(l);
162162
}
163163

164-
i.damage(iplayer.damageOf(UDamageTypes.SMASH, iplayer), (float)amount);
164+
i.damage((ServerWorld)iplayer.asWorld(), iplayer.damageOf(UDamageTypes.SMASH, iplayer), (float)amount);
165165
Living.updateVelocity(i);
166166
}
167167
});

src/main/java/com/minelittlepony/unicopia/ability/HugAbility.java

+8-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.minelittlepony.unicopia.entity.mob.UEntities;
88
import com.minelittlepony.unicopia.entity.player.Pony;
99
import net.minecraft.entity.LivingEntity;
10+
import net.minecraft.entity.conversion.EntityConversionContext;
1011
import net.minecraft.entity.mob.CreeperEntity;
1112
import net.minecraft.entity.player.PlayerEntity;
1213
import net.minecraft.particle.ParticleTypes;
@@ -25,11 +26,13 @@ public boolean apply(Pony pony, Hit data) {
2526
pony.setAnimation(Animation.ARMS_FORWARD, Animation.Recipient.ANYONE);
2627

2728
if (rider instanceof CreeperEntity creeper) {
28-
FriendlyCreeperEntity friendlyCreeper = creeper.convertTo(UEntities.FRIENDLY_CREEPER, true);
29-
player.getWorld().spawnEntity(friendlyCreeper);
30-
31-
friendlyCreeper.startRiding(player, true);
32-
Living.getOrEmpty(friendlyCreeper).ifPresent(living -> living.setCarrier(player));
29+
FriendlyCreeperEntity friendlyCreeper = creeper.convertTo(UEntities.FRIENDLY_CREEPER, EntityConversionContext.create(creeper, true, true), e -> {
30+
e.startRiding(player, true);
31+
Living.getOrEmpty(e).ifPresent(living -> living.setCarrier(player));
32+
});
33+
if (friendlyCreeper != null) {
34+
player.getWorld().spawnEntity(friendlyCreeper);
35+
}
3336
} else if (rider instanceof FriendlyCreeperEntity creeper) {
3437
creeper.startRiding(player, true);
3538
Living.getOrEmpty(creeper).ifPresent(living -> living.setCarrier(player));

src/main/java/com/minelittlepony/unicopia/ability/PeckAbility.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ protected void spookMob(Pony player, LivingEntity living, float strength) {
125125
boolean isEarthPony = EquinePredicates.PLAYER_EARTH.test(living);
126126
boolean isBracing = isEarthPony && player.asEntity().isSneaking();
127127

128-
if (!isBracing) {
129-
living.damage(player.damageOf(UDamageTypes.BAT_SCREECH, player), isEarthPony ? 0.1F : 0.3F);
128+
if (!isBracing && living.getWorld() instanceof ServerWorld sw) {
129+
living.damage(sw, player.damageOf(UDamageTypes.BAT_SCREECH, player), isEarthPony ? 0.1F : 0.3F);
130130
}
131131

132132
Vec3d knockVec = player.getOriginVector().subtract(living.getPos()).multiply(strength);

src/main/java/com/minelittlepony/unicopia/ability/ScreechAbility.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import net.minecraft.network.RegistryByteBuf;
2121
import net.minecraft.network.codec.PacketCodec;
2222
import net.minecraft.particle.ParticleTypes;
23+
import net.minecraft.server.world.ServerWorld;
2324
import net.minecraft.util.math.MathHelper;
2425
import net.minecraft.util.math.Vec3d;
2526
import net.minecraft.util.math.random.Random;
@@ -103,12 +104,12 @@ protected void spookMob(Pony player, LivingEntity living, float strength) {
103104
boolean isBracing = isEarthPony && player.asEntity().isSneaking();
104105

105106
if (!isBracing) {
106-
living.damage(player.damageOf(UDamageTypes.BAT_SCREECH, player), isEarthPony ? 0.1F : 0.3F);
107+
living.damage((ServerWorld)player.asWorld(), player.damageOf(UDamageTypes.BAT_SCREECH, player), isEarthPony ? 0.1F : 0.3F);
107108

108109

109110
if (living.getWorld().random.nextInt(MOB_SPOOK_PROBABILITY) == 0) {
110111
RegistryUtils.pickRandom(living.getWorld(), UTags.Items.SPOOKED_MOB_DROPS).ifPresent(drop -> {
111-
living.dropStack(drop.getDefaultStack());
112+
living.dropStack((ServerWorld)living.getWorld(), drop.getDefaultStack());
112113
living.playSound(USounds.Vanilla.ENTITY_ITEM_PICKUP, 1, 0.1F);
113114
UCriteria.SPOOK_MOB.trigger(player.asEntity());
114115
});

src/main/java/com/minelittlepony/unicopia/ability/SeaponySonarPulseAbility.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public boolean apply(Pony player, Hit data) {
6767
if (distance < 4) {
6868
float scale = 1 - (distance/10F);
6969
((LivingEntity)target).takeKnockback(0.7 * scale, -offset.x, -offset.z);
70-
target.damage(target.getDamageSources().sonicBoom(player.asEntity()), 10 * scale);
70+
target.damage((ServerWorld)target.getWorld(), target.getDamageSources().sonicBoom(player.asEntity()), 10 * scale);
7171
} else {
7272
emitPing(player, target.getPos(), 10, 1, 1.3F);
7373
}

src/main/java/com/minelittlepony/unicopia/ability/data/tree/TreeTypeLoader.java

+7-23
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@
22

33
import java.util.*;
44
import java.util.function.Supplier;
5-
import com.google.gson.JsonElement;
65
import com.minelittlepony.unicopia.Unicopia;
7-
import com.minelittlepony.unicopia.util.Resources;
86
import com.minelittlepony.unicopia.util.Weighted;
97
import com.minelittlepony.unicopia.util.serialization.CodecUtils;
108
import com.mojang.serialization.Codec;
11-
import com.mojang.serialization.JsonOps;
129
import com.mojang.serialization.codecs.RecordCodecBuilder;
1310

1411
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
15-
import net.minecraft.item.Item;
1612
import net.minecraft.item.ItemStack;
1713
import net.minecraft.network.RegistryByteBuf;
1814
import net.minecraft.network.codec.PacketCodec;
@@ -23,18 +19,17 @@
2319
import net.minecraft.util.profiler.Profiler;
2420
import net.minecraft.registry.Registries;
2521
import net.minecraft.registry.RegistryKeys;
26-
import net.minecraft.registry.entry.RegistryEntry;
2722
import net.minecraft.registry.tag.TagKey;
2823

29-
public class TreeTypeLoader extends JsonDataLoader implements IdentifiableResourceReloadListener {
24+
public class TreeTypeLoader extends JsonDataLoader<TreeTypeLoader.TreeTypeDef> implements IdentifiableResourceReloadListener {
3025
private static final Identifier ID = Unicopia.id("data/tree_type");
3126

3227
public static final TreeTypeLoader INSTANCE = new TreeTypeLoader();
3328

3429
private Map<Identifier, TreeTypeDef> entries = new HashMap<>();
3530

3631
TreeTypeLoader() {
37-
super(Resources.GSON, "tree_types");
32+
super(TreeTypeDef.CODEC, "tree_types");
3833
}
3934

4035
public Map<Identifier, TreeTypeDef> getEntries() {
@@ -46,18 +41,9 @@ public Identifier getFabricId() {
4641
return ID;
4742
}
4843

49-
@SuppressWarnings("unchecked")
5044
@Override
51-
protected void apply(Map<Identifier, JsonElement> resources, ResourceManager manager, Profiler profiler) {
52-
entries = Map.ofEntries(resources.entrySet().stream()
53-
.filter(Objects::nonNull)
54-
.map(entry -> TreeTypeDef.CODEC.decode(JsonOps.INSTANCE, entry.getValue())
55-
.result()
56-
.map(p -> p.getFirst())
57-
.map(p -> Map.entry(entry.getKey(), p))
58-
.orElse(null))
59-
.filter(Objects::nonNull)
60-
.toArray(Map.Entry[]::new));
45+
protected void apply(Map<Identifier, TreeTypeDef> resources, ResourceManager manager, Profiler profiler) {
46+
entries = resources;
6147

6248
TreeTypes.load(entries);
6349
}
@@ -120,15 +106,13 @@ static record Drop (
120106
@Override
121107
public void appendTo(Weighted.Builder<Supplier<ItemStack>> weighted) {
122108
if (item.isPresent()) {
123-
Registries.ITEM.getOrEmpty(item.get()).ifPresent(item -> {
109+
Registries.ITEM.getOptionalValue(item.get()).ifPresent(item -> {
124110
weighted.put(weight, item::getDefaultStack);
125111
});
126112
} else {
127113
weighted.put(weight, () -> {
128-
return Registries.ITEM.getOrCreateEntryList(TagKey.of(RegistryKeys.ITEM, tag.get()))
129-
.getRandom(Weighted.getRng())
130-
.map(RegistryEntry::value)
131-
.map(Item::getDefaultStack)
114+
return Registries.ITEM.getRandomEntry(TagKey.of(RegistryKeys.ITEM, tag.get()), Weighted.getRng())
115+
.map(entry -> entry.value().getDefaultStack())
132116
.orElse(ItemStack.EMPTY);
133117
});
134118
}

src/main/java/com/minelittlepony/unicopia/mixin/client/MixinLivingEntityRenderer.java

-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ abstract class MixinLivingEntityRenderer<T extends LivingEntity, M extends Entit
3434
@Shadow
3535
private @Final List<FeatureRenderer<T, M>> features;
3636

37-
MixinLivingEntityRenderer() { super(null); }
3837
@Nullable
3938
private AccessoryFeatureRenderer<T, M> accessories;
4039

src/main/java/com/minelittlepony/unicopia/mixin/server/MixinServerPlayerEntity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ private void onCopyFrom(ServerPlayerEntity oldPlayer, boolean alive, CallbackInf
4747
target = "net/minecraft/entity/player/PlayerEntity$SleepFailureReason.NOT_POSSIBLE_NOW:Lnet/minecraft/entity/player/PlayerEntity$SleepFailureReason;"
4848
), cancellable = true)
4949
private void onTrySleep(BlockPos pos, CallbackInfoReturnable<Either<PlayerEntity.SleepFailureReason, Unit>> info) {
50-
if (get().getSpecies().isNocturnal() && get().asWorld().getGameRules().getBoolean(UGameRules.DO_NOCTURNAL_BAT_PONIES)) {
50+
if (get().getSpecies().isNocturnal() && ((ServerWorld)get().asWorld()).getGameRules().getBoolean(UGameRules.DO_NOCTURNAL_BAT_PONIES)) {
5151
((PlayerEntity)this).sendMessage(Text.translatable("block.unicopia.bed.no_sleep.nocturnal"), true);
5252

5353
info.setReturnValue(Either.left(PlayerEntity.SleepFailureReason.OTHER_PROBLEM));

src/main/java/com/minelittlepony/unicopia/network/MsgRequestSpeciesChange.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void handle(ServerPlayerEntity sender) {
3939
}
4040

4141
if (force) {
42-
if (sender.getWorld().getGameRules().getBoolean(UGameRules.ANNOUNCE_TRIBE_JOINS)) {
42+
if (((ServerWorld)sender.getWorld()).getGameRules().getBoolean(UGameRules.ANNOUNCE_TRIBE_JOINS)) {
4343
Text message = Text.translatable("respawn.reason.joined_new_tribe",
4444
sender.getDisplayName(),
4545
player.getSpecies().getDisplayName(), player.getSpecies().getAltDisplayName());

src/main/java/com/minelittlepony/unicopia/particle/MagicParticleEffect.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public record MagicParticleEffect (
2626
).apply(instance, MagicParticleEffect::new));
2727
public static final PacketCodec<ByteBuf, MagicParticleEffect> PACKET_CODEC = PacketCodec.tuple(
2828
PacketCodecs.BOOL, MagicParticleEffect::tinted,
29-
PacketCodecs.VECTOR3F, MagicParticleEffect::color,
29+
PacketCodecs.VECTOR_3F, MagicParticleEffect::color,
3030
MagicParticleEffect::new
3131
);
3232

src/main/java/com/minelittlepony/unicopia/particle/SphereParticleEffect.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static MapCodec<SphereParticleEffect> createCodec(ParticleType<SpherePart
3636

3737
public static final PacketCodec<RegistryByteBuf, SphereParticleEffect> createPacketCodec(ParticleType<SphereParticleEffect> type) {
3838
return PacketCodec.tuple(
39-
PacketCodecs.VECTOR3F, SphereParticleEffect::color,
39+
PacketCodecs.VECTOR_3F, SphereParticleEffect::color,
4040
PacketCodecs.FLOAT, SphereParticleEffect::alpha,
4141
PacketCodecs.FLOAT, SphereParticleEffect::radius,
4242
PacketCodecUtils.VECTOR, SphereParticleEffect::offset,

0 commit comments

Comments
 (0)