Skip to content

Commit 10fba7e

Browse files
Done with the particle hell changes
1 parent 2a284c9 commit 10fba7e

18 files changed

+97
-52
lines changed

src/main/java/com/sammy/malum/common/item/food/ConcentratedGluttonyItem.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public static void createGluttonyVFX(ServerLevel serverLevel, LivingEntity targe
6969

7070
public static void createGluttonyVFX(ServerLevel serverLevel, LivingEntity target, float potency) {
7171
var position = target.position().add(0, target.getBbHeight() / 2f, 0);
72-
ParticleEffectTypeRegistry.GLUTTONY_ABSORB.createPositionedEffect(serverLevel, new NetworkedParticleEffectPositionData(position), AbsorbGluttonyParticleEffect.createData(potency));
72+
ParticleEffectTypeRegistry.GLUTTONY_ABSORB.createEffect(position)
73+
.customData(new AbsorbGluttonyParticleEffect.AbsorbGluttonyEffectData(potency))
74+
.spawn(serverLevel);
7375
}
7476
}

src/main/java/com/sammy/malum/common/spiritrite/PotionRiteEffect.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ public PotionRiteEffect(MalumSpiritType definingSpirit, Class<? extends LivingEn
3030
public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
3131
getNearbyEntities(totemBase, targetClass).filter(getEntityPredicate()).forEach(e -> {
3232
MobEffectInstance instance = new MobEffectInstance(mobEffectHolder, 1200, 1, true, true);
33-
final boolean success = e.addEffect(instance);
33+
boolean success = e.addEffect(instance);
3434
if (!e.hasEffect(instance.getEffect()) && success) {
35-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(definingSpirit));
3635
}
36+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEffect(e)
37+
.color(definingSpirit)
38+
.spawn(level);
3739
});
3840
}
3941

src/main/java/com/sammy/malum/common/spiritrite/arcane/SacredRiteType.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
4040
getNearbyEntities(totemBase, LivingEntity.class, e -> !(e instanceof Monster)).forEach(e -> {
4141
if (e.getHealth() < e.getMaxHealth()) {
4242
e.heal(2);
43-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(SACRED_SPIRIT));
43+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
44+
.createEffect(e)
45+
.color(SACRED_SPIRIT)
46+
.spawn(level);
4447
}
4548
});
4649
}
@@ -57,14 +60,17 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
5760
if (e instanceof Animal animal) {
5861
if (animal.getAge() < 0) {
5962
if (totemBase.getLevel().random.nextFloat() <= 0.04f) {
60-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(SACRED_SPIRIT));
63+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
64+
.createEffect(e)
65+
.color(SACRED_SPIRIT)
66+
.spawn(level);
6167
animal.ageUp(25);
6268
}
6369
}
6470
}
6571
if (NOURISHMENT_RITE_ACTORS.containsKey(e.getClass())) {
6672
NourishmentRiteActor<? extends Mob> nourishmentRiteActor = NOURISHMENT_RITE_ACTORS.get(e.getClass());
67-
nourishmentRiteActor.tryAct(totemBase, e);
73+
nourishmentRiteActor.tryAct(level, totemBase, e);
6874
}
6975
});
7076
}
@@ -125,10 +131,13 @@ public NourishmentRiteActor(Class<T> targetClass) {
125131
}
126132

127133
@SuppressWarnings("unchecked")
128-
public final void tryAct(TotemBaseBlockEntity totemBaseBlockEntity, Mob mob) {
134+
public final void tryAct(ServerLevel level, TotemBaseBlockEntity totemBaseBlockEntity, Mob mob) {
129135
if (targetClass.isInstance(mob)) {
130136
act(totemBaseBlockEntity, (T) mob);
131-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(mob, new MalumNetworkedParticleEffectColorData(SACRED_SPIRIT));
137+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
138+
.createEffect(mob)
139+
.color(SACRED_SPIRIT)
140+
.spawn(level);
132141
}
133142
}
134143

src/main/java/com/sammy/malum/common/spiritrite/arcane/WickedRiteType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
3030
getNearbyEntities(totemBase, LivingEntity.class, e -> !(e instanceof Player)).forEach(e -> {
3131
final DamageSource damageSource = DamageTypeHelper.create(e.level(), DamageTypeRegistry.VOODOO_PLAYERLESS);
3232
if (e.getHealth() > 2.5f && !e.isInvulnerableTo(damageSource)) {
33-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(WICKED_SPIRIT));
33+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
34+
.createEffect(e)
35+
.color(WICKED_SPIRIT)
36+
.spawn(level);
3437
e.hurt(damageSource, 2);
3538
}
3639
});
@@ -48,7 +51,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
4851
final boolean hadNoEffect = !e.hasEffect(MobEffects.DAMAGE_BOOST);
4952
final boolean success = e.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 1200, 1));
5053
if (hadNoEffect && success) {
51-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(WICKED_SPIRIT));
54+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
55+
.createEffect(e)
56+
.color(WICKED_SPIRIT)
57+
.spawn(level);
5258
}
5359
e.addEffect(new MobEffectInstance(MobEffects.HEALTH_BOOST, 1200, 1));
5460
e.addEffect(new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, 1200, 1));

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchAerialRiteType.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
3838
var state = level.getBlockState(p);
3939
if (!state.isAir() && level.getBlockEntity(p) == null && canSilkTouch(level, pos, state)) {
4040
FallingBlockEntity.fall(level, p, state);
41-
ParticleEffectTypeRegistry.BLOCK_FALL_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(p), new MalumNetworkedParticleEffectColorData(AERIAL_SPIRIT));
41+
42+
ParticleEffectTypeRegistry.BLOCK_FALL_RITE_EFFECT
43+
.createEffect(p)
44+
.color(AERIAL_SPIRIT)
45+
.spawn(level);
4246
level.playSound(null, p, SoundRegistry.TOTEM_AERIAL_MAGIC.get(), SoundSource.BLOCKS, 0.5f, 2.6F + (level.random.nextFloat() - level.random.nextFloat()) * 0.8F);
4347
}
4448
}
@@ -57,7 +61,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
5761
Stat<ResourceLocation> sleepStat = Stats.CUSTOM.get(Stats.TIME_SINCE_REST);
5862
int value = stats.getValue(sleepStat);
5963
stats.setValue(p, sleepStat, Math.max(0, value - 1000));
60-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(p, new MalumNetworkedParticleEffectColorData(AERIAL_SPIRIT));
64+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
65+
.createEffect(p)
66+
.color(AERIAL_SPIRIT)
67+
.spawn(level);
6168
});
6269
}
6370
};

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchAqueousRiteType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ public TotemicRiteEffect getNaturalRiteEffect() {
2525
public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
2626
getNearbyBlocks(totemBase, PointedDripstoneBlock.class).forEach(p -> {
2727
if (level.random.nextFloat() < 0.1f) {
28-
ParticleEffectTypeRegistry.BLOCK_FALL_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(p), new MalumNetworkedParticleEffectColorData(AQUEOUS_SPIRIT));
28+
ParticleEffectTypeRegistry.BLOCK_FALL_RITE_EFFECT
29+
.createEffect(p)
30+
.color(AQUEOUS_SPIRIT)
31+
.spawn(level);
2932
for (int i = 0; i < 4 + level.random.nextInt(2); i++) {
3033
level.getBlockState(p).randomTick(level, p, level.random);
3134
}
@@ -53,7 +56,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
5356
getNearbyEntities(totemBase, Zombie.class).filter(z -> !(z instanceof Drowned)).forEach(e -> {
5457
if (!e.isUnderWaterConverting()) {
5558
e.startUnderWaterConversion(100);
56-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(AQUEOUS_SPIRIT));
59+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
60+
.createEffect(e)
61+
.color(AQUEOUS_SPIRIT)
62+
.spawn(level);
5763
}
5864
});
5965
}

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchEarthenRiteType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
2525
boolean canBreak = !state.isAir() && state.getDestroySpeed(level, p) != -1;
2626
if (canBreak) {
2727
level.destroyBlock(p, true);
28-
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(p), new MalumNetworkedParticleEffectColorData(EARTHEN_SPIRIT));
28+
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT
29+
.createEffect(p)
30+
.color(EARTHEN_SPIRIT)
31+
.spawn(level);
2932
}
3033
});
3134
}
@@ -45,7 +48,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
4548
BlockState cobblestone = Blocks.COBBLESTONE.defaultBlockState();
4649
level.setBlockAndUpdate(p, cobblestone);
4750
level.levelEvent(2001, p, Block.getId(cobblestone));
48-
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(p), new MalumNetworkedParticleEffectColorData(EARTHEN_SPIRIT));
51+
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT
52+
.createEffect(p)
53+
.color(EARTHEN_SPIRIT)
54+
.spawn(level);
4955
}
5056
});
5157
}

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchInfernalRiteType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
3333
var newState = block.defaultBlockState();
3434
level.setBlockAndUpdate(p, newState);
3535
level.levelEvent(2001, p, Block.getId(newState));
36-
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(p), new MalumNetworkedParticleEffectColorData(INFERNAL_SPIRIT));
36+
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT
37+
.createEffect(p)
38+
.color(INFERNAL_SPIRIT)
39+
.spawn(level);
3740
}
3841
}
3942
});
@@ -48,7 +51,10 @@ public TotemicRiteEffect getCorruptedEffect() {
4851
public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
4952
getNearbyBlocks(totemBase, AbstractFurnaceBlock.class).forEach(p -> {
5053
if (level.getBlockEntity(p) instanceof AbstractFurnaceBlockEntity furnace) {
51-
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT.createPositionedEffect(level, new NetworkedParticleEffectPositionData(furnace.getBlockPos()), new MalumNetworkedParticleEffectColorData(INFERNAL_SPIRIT));
54+
ParticleEffectTypeRegistry.BLOCK_RITE_EFFECT
55+
.createEffect(p)
56+
.color(INFERNAL_SPIRIT)
57+
.spawn(level);
5258
furnace.cookingProgress = Math.min(furnace.cookingProgress + 20, furnace.cookingTotalTime - 1);
5359
}
5460
});

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchSacredRiteType.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
7474
if (e.canFallInLove() && e.getAge() == 0) {
7575
if (level.random.nextFloat() <= 0.2f) {
7676
e.setInLoveTime(600);
77-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(SACRED_SPIRIT));
77+
78+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
79+
.createEffect(e)
80+
.color(SACRED_SPIRIT)
81+
.spawn(level);
7882
}
7983
}
8084
});

src/main/java/com/sammy/malum/common/spiritrite/eldritch/EldritchWickedRiteType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ public TotemicRiteEffect getNaturalRiteEffect() {
2929
public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
3030
getNearbyEntities(totemBase, LivingEntity.class, e -> !(e instanceof Player)).forEach(e -> {
3131
if (e.getHealth() <= 2.5f && !e.isInvulnerableTo(DamageTypeHelper.create(e.level(), DamageTypeRegistry.VOODOO_PLAYERLESS))) {
32-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(e, new MalumNetworkedParticleEffectColorData(WICKED_SPIRIT));
32+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
33+
.createEffect(e)
34+
.color(WICKED_SPIRIT)
35+
.spawn(level);
3336
e.hurt(DamageTypeHelper.create(e.level(), DamageTypeRegistry.VOODOO_PLAYERLESS), 10f);
3437
}
3538
});
@@ -51,7 +54,10 @@ public void doRiteEffect(TotemBaseBlockEntity totemBase, ServerLevel level) {
5154
animals.removeIf(Animal::isInLove);
5255
for (Animal animal : animals) {
5356
animal.hurt(DamageTypeHelper.create(animal.level(), DamageTypeRegistry.VOODOO_PLAYERLESS), animal.getMaxHealth());
54-
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT.createEntityEffect(animal, new MalumNetworkedParticleEffectColorData(WICKED_SPIRIT));
57+
ParticleEffectTypeRegistry.ENTITY_RITE_EFFECT
58+
.createEffect(animal)
59+
.color(WICKED_SPIRIT)
60+
.spawn(level);
5561
if (maxKills-- <= 0) {
5662
return;
5763
}

0 commit comments

Comments
 (0)