Skip to content

Commit 27e5c31

Browse files
Wa
1 parent e57f85a commit 27e5c31

File tree

9 files changed

+40
-6
lines changed

9 files changed

+40
-6
lines changed

src/main/java/com/sammy/malum/common/block/MalumBlockEntityInventory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public ItemStack takeItemFromPlayer(Player playerEntity, ItemStack stack) {
7575
return result;
7676
}
7777

78+
7879
public void playSound(Player player, SoundEvent soundEvent, ItemStack stack) {
7980
SoundHelper.playSound(player, soundEvent, SoundSource.BLOCKS, 0.7f, RandomHelper.randomBetween(player.getRandom(), 1f, 1.2f));
8081
if (stack.getItem() instanceof BlockItem blockItem) {

src/main/java/com/sammy/malum/common/geas/pact/aerial/SkyBreakerGeas.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@
1313
import net.minecraft.world.item.*;
1414
import net.neoforged.neoforge.event.entity.living.*;
1515

16+
import java.util.ArrayList;
1617
import java.util.function.*;
1718

1819
public class SkyBreakerGeas extends GeasEffect {
1920

21+
private final ArrayList<LivingEntity> cachedTargets = new ArrayList<>();
22+
2023
public SkyBreakerGeas() {
2124
super(MalumGeasEffectTypeRegistry.PACT_OF_THE_SKYBREAKER.get());
2225
}
@@ -51,16 +54,30 @@ public void incomingDamageEvent(LivingDamageEvent.Pre event, LivingEntity attack
5154
if (target instanceof ServerPlayer player) {
5255
if (event.getSource().is(DamageTypes.FALL)) {
5356
var aabb = player.getBoundingBox().inflate(4, 1f, 4);
57+
cachedTargets.clear();
5458
for (Entity nearbyTarget : player.serverLevel().getEntities(player, aabb, t -> skyBreakerCanHitEntity(player, t))) {
55-
attack(player, nearbyTarget);
56-
if (nearbyTarget instanceof LivingEntity) {
59+
if (nearbyTarget instanceof LivingEntity living) {
60+
cachedTargets.add(living);
5761
event.setNewDamage(event.getNewDamage() * 0.8f);
5862
}
5963
}
6064
}
6165
}
6266
}
6367

68+
@Override
69+
public void finalizedIncomingDamageEvent(LivingDamageEvent.Post event, LivingEntity attacker, LivingEntity target, ItemStack stack) {
70+
if (target instanceof ServerPlayer player) {
71+
if (event.getSource().is(DamageTypes.FALL)) {
72+
for (LivingEntity cachedTarget : cachedTargets) {
73+
if (cachedTarget.isAlive()) {
74+
attack(player, cachedTarget);
75+
}
76+
}
77+
}
78+
}
79+
}
80+
6481
public void attack(Player player, Entity target) {
6582
if (target.isAlive()) {
6683
player.attackStrengthTicker = 1000;

src/main/java/com/sammy/malum/core/handlers/WeepingWellRejectionHandler.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import com.sammy.malum.client.VoidRevelationHandler;
55
import com.sammy.malum.common.block.curiosities.weeping_well.VoidConduitBlockEntity;
66
import com.sammy.malum.common.data.attachment.*;
7+
import com.sammy.malum.common.entity.FloatingItemEntity;
8+
import com.sammy.malum.common.entity.spirit.SpiritItemEntity;
79
import com.sammy.malum.common.packets.VoidRejectionPayload;
810
import com.sammy.malum.registry.common.*;
911
import com.sammy.malum.registry.common.item.ItemRegistry;
@@ -17,6 +19,7 @@
1719
import net.minecraft.world.entity.Entity;
1820
import net.minecraft.world.entity.LivingEntity;
1921
import net.minecraft.world.entity.ai.attributes.*;
22+
import net.minecraft.world.entity.item.ItemEntity;
2023
import net.minecraft.world.entity.player.Player;
2124
import net.minecraft.world.level.Level;
2225
import net.minecraft.world.phys.Vec3;
@@ -41,7 +44,10 @@ public static void handlePrimordialSoupContact(Entity entity) {
4144
}
4245
data.setGoopStatus();
4346
}
44-
entity.setDeltaMovement(entity.getDeltaMovement().scale(0.4f));
47+
if (entity instanceof FloatingItemEntity || entity instanceof ItemEntity) {
48+
return;
49+
}
50+
entity.setDeltaMovement(entity.getDeltaMovement().scale(0.6f));
4551
}
4652

4753
public static void entityTick(EntityTickEvent.Pre event) {

src/main/java/com/sammy/malum/datagen/block/MalumBlockStates.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ public ModelFile cutWoodBlockModel(Block block) {
301301
}
302302

303303
public ModelFile rockItemPedestalModel(Block block) {
304-
return itemPedestalModel(block, "template_rock_item_pedestal");
304+
return itemPedestalModel(block, "template_item_pedestal_rock");
305305
}
306306

307307
public ModelFile woodenItemPedestalModel(Block block) {

src/main/java/com/sammy/malum/datagen/recipe/MalumVoidFavorRecipes.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.sammy.malum.*;
44
import com.sammy.malum.datagen.recipe.builder.*;
55
import com.sammy.malum.registry.common.item.*;
6+
import com.sammy.malum.registry.common.tag.ItemTagRegistry;
67
import net.minecraft.data.recipes.*;
78
import net.minecraft.world.item.*;
89
import net.minecraft.world.item.crafting.*;
@@ -15,7 +16,7 @@ protected static void buildRecipes(RecipeOutput recipeOutput) {
1516
new VoidFavorRecipeBuilder(Ingredient.of(ItemRegistry.ENCYCLOPEDIA_ARCANA.get()), ItemRegistry.ENCYCLOPEDIA_ESOTERICA.get(), 1)
1617
.save(recipeOutput);
1718

18-
new VoidFavorRecipeBuilder(Ingredient.of(Tags.Items.RAW_MATERIALS), ItemRegistry.RAW_SOULSTONE.get(), 1)
19+
new VoidFavorRecipeBuilder(Ingredient.of(ItemTagRegistry.VOID_SOULSTONE_CONVERSION), ItemRegistry.RAW_SOULSTONE.get(), 1)
1920
.save(recipeOutput);
2021

2122
new VoidFavorRecipeBuilder(Ingredient.of(Tags.Items.STORAGE_BLOCKS_IRON), ItemRegistry.ANOMALOUS_DESIGN.get(), 1)

src/main/java/com/sammy/malum/datagen/tag/MalumItemTagDatagen.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.sammy.malum.common.item.impetus.*;
88
import com.sammy.malum.datagen.recipe.crafting.*;
99
import com.sammy.malum.registry.common.block.*;
10+
import com.sammy.malum.registry.common.item.ItemRegistry;
1011
import com.sammy.malum.registry.common.tag.*;
1112
import net.minecraft.core.*;
1213
import net.minecraft.core.registries.*;
@@ -74,6 +75,7 @@ protected void addTags(HolderLookup.Provider pProvider) {
7475
tag(Tags.Items.SLIME_BALLS).add(RUNIC_SAPBALL.get(), CURSED_SAPBALL.get());
7576
tag(Tags.Items.GEMS_QUARTZ).add(NATURAL_QUARTZ.get());
7677
tag(Tags.Items.ORES_QUARTZ).add(NATURAL_QUARTZ_ORE.get(), DEEPSLATE_QUARTZ_ORE.get());
78+
7779
tag(ItemTags.DYEABLE).add(
7880
ETHER.get(), ETHER_TORCH.get(), TAINTED_ETHER_BRAZIER.get(), TWISTED_ETHER_BRAZIER.get(),
7981
IRIDESCENT_ETHER.get(), IRIDESCENT_ETHER_TORCH.get(), TAINTED_IRIDESCENT_ETHER_BRAZIER.get(), TWISTED_IRIDESCENT_ETHER_BRAZIER.get());
@@ -186,6 +188,10 @@ protected void addTags(HolderLookup.Provider pProvider) {
186188
tag(ItemTagRegistry.SOULWOVEN_POUCH_AUTOCOLLECT)
187189
.addTags(ItemTagRegistry.SPIRITS, ItemTagRegistry.MOB_DROPS, ItemTagRegistry.MINERALS);
188190

191+
tag(ItemTagRegistry.VOID_SOULSTONE_CONVERSION)
192+
.addTags(Tags.Items.RAW_MATERIALS)
193+
.remove(CTHONIC_GOLD.get(), CTHONIC_GOLD_FRAGMENT.get());
194+
189195
tag(Tags.Items.RAW_MATERIALS).add(RAW_SOULSTONE.get(), RAW_BRILLIANCE.get(), CTHONIC_GOLD.get(), CTHONIC_GOLD_FRAGMENT.get());
190196
tag(Tags.Items.NUGGETS).add(HALLOWED_GOLD_NUGGET.get(), SOUL_STAINED_STEEL_NUGGET.get(), MALIGNANT_PEWTER_INGOT.get());
191197
tag(Tags.Items.INGOTS).add(HALLOWED_GOLD_NUGGET.get(), SOUL_STAINED_STEEL_INGOT.get(), MALIGNANT_PEWTER_NUGGET.get());

src/main/java/com/sammy/malum/registry/common/tag/ItemTagRegistry.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public class ItemTagRegistry {
4848
public static final TagKey<Item> SOULHUNTERS_TREASURE = malumTag("soulhunters_treasure");
4949
public static final TagKey<Item> SOULWOVEN_POUCH_AUTOCOLLECT = malumTag("soulwoven_pouch_autocollect");
5050

51+
public static final TagKey<Item> VOID_SOULSTONE_CONVERSION = malumTag("void_soulstone_material");
52+
5153
public static final TagKey<Item> HIDDEN_ALWAYS = malumTag("hidden_items/always");
5254
public static final TagKey<Item> HIDDEN_UNTIL_VOID = malumTag("hidden_items/void");
5355
public static final TagKey<Item> HIDDEN_UNTIL_BLACK_CRYSTAL = malumTag("hidden_items/black_crystal");

src/main/resources/assets/malum/models/block/templates/template_rock_item_pedestal.json renamed to src/main/resources/assets/malum/models/block/templates/template_item_pedestal_rock.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"credit": "Made with Blockbench",
33
"parent": "block/block",
44
"textures": {
5-
"pedestal": "blank"
5+
"pedestal": "blank",
6+
"particle": "#pedestal"
67
},
78
"elements": [
89
{

src/main/resources/assets/malum/textures/item/geas/pact_of_the_continuous_shot.png renamed to src/main/resources/assets/malum/textures/item/geas/pact_of_the_continuing_shot.png

File renamed without changes.

0 commit comments

Comments
 (0)