Skip to content

Commit

Permalink
added mana pool enchant, removed soul bound
Browse files Browse the repository at this point in the history
  • Loading branch information
CammiePone committed Jan 13, 2025
1 parent 70e3d2c commit b20a19d
Show file tree
Hide file tree
Showing 14 changed files with 539 additions and 420 deletions.
8 changes: 8 additions & 0 deletions src/main/generated/assets/arcanuscontinuum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
"config.arcanuscontinuum.effectDurationModifier": "Effect Duration Modifier",
"config.arcanuscontinuum.electricEffectProperties": "Electric Effect",
"config.arcanuscontinuum.enabled": "Enabled (Requires Restart)",
"config.arcanuscontinuum.enchantments_category": "Enchantments",
"config.arcanuscontinuum.enlargeEffectProperties": "Enlarge Effect",
"config.arcanuscontinuum.explosionShapeProperties": "Explosion Shape",
"config.arcanuscontinuum.featherEffectProperties": "Feather Effect",
Expand All @@ -162,6 +163,9 @@
"config.arcanuscontinuum.manaShieldEffectProperties": "Mana Shield Effect",
"config.arcanuscontinuum.manaSplitEffectProperties": "Mana Split Effect",
"config.arcanuscontinuum.manaWingsEffectProperties": "Mana Wings Effect",
"config.arcanuscontinuum.mana_per_level": "Extra Mana Per Level",
"config.arcanuscontinuum.mana_pool": "Mana Pool",
"config.arcanuscontinuum.max_enchantment_level": "Max Enchantment Level",
"config.arcanuscontinuum.maximumAggressorbs": "Maximum Aggressorbs",
"config.arcanuscontinuum.maximumManaLock": "Maximum Mana Lock",
"config.arcanuscontinuum.mineEffectProperties": "Mine Effect",
Expand Down Expand Up @@ -221,12 +225,15 @@
"effect.arcanuscontinuum.copper_curse": "Copper Curse",
"effect.arcanuscontinuum.danger_sense": "Danger Sense",
"effect.arcanuscontinuum.discombobulate": "Discombobulate",
"effect.arcanuscontinuum.enlarge": "Enlarge",
"effect.arcanuscontinuum.float": "Float",
"effect.arcanuscontinuum.fortify": "Fortify",
"effect.arcanuscontinuum.mana_lock": "Mana Lock",
"effect.arcanuscontinuum.mana_wings": "Mana Wings",
"effect.arcanuscontinuum.shrink": "Shrink",
"effect.arcanuscontinuum.stockpile": "Stockpile",
"effect.arcanuscontinuum.vulnerability": "Vulnerability",
"enchantment.arcanuscontinuum.mana_pool": "Mana Pool",
"entity.arcanuscontinuum.aggressorb": "Aggressorb",
"entity.arcanuscontinuum.area_of_effect": "Area Of Effect",
"entity.arcanuscontinuum.beam": "Beam",
Expand Down Expand Up @@ -332,6 +339,7 @@
"staff.arcanuscontinuum.secondary_color": "Body Color",
"tag.block.arcanuscontinuum.warding_not_allowed": "Warding Not Allowed",
"tag.dimension_type.arcanuscontinuum.warding_not_allowed": "Warding Not Allowed",
"tag.enchantment.arcanuscontinuum.mana_pool_compatible_with": "Compatible enchantments for Mana Pool",
"tag.entity_type.arcanuscontinuum.dispellable": "Dispellable",
"tag.entity_type.arcanuscontinuum.magic_rune_ignored": "Does not trigger Magic Runes",
"tag.entity_type.arcanuscontinuum.spatial_rift_immune": "Immune to Spatial Rifts",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:unbreaking",
"minecraft:mending"
]
}
21 changes: 21 additions & 0 deletions src/main/java/dev/cammiescorner/arcanuscontinuum/Arcanus.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import dev.cammiescorner.arcanuscontinuum.api.spells.SpellComponent;
import dev.cammiescorner.arcanuscontinuum.common.blocks.MagicDoorBlock;
import dev.cammiescorner.arcanuscontinuum.common.blocks.entities.MagicDoorBlockEntity;
import dev.cammiescorner.arcanuscontinuum.common.enchantments.ManaPoolEnchantment;
import dev.cammiescorner.arcanuscontinuum.common.packets.c2s.*;
import dev.cammiescorner.arcanuscontinuum.common.packets.s2c.SyncConfigValuesPacket;
import dev.cammiescorner.arcanuscontinuum.common.packets.s2c.SyncStatusEffectPacket;
Expand All @@ -22,6 +23,7 @@
import net.fabricmc.fabric.api.entity.event.v1.EntitySleepEvents;
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.item.v1.ModifyItemAttributeModifiersCallback;
import net.fabricmc.fabric.api.networking.v1.EntityTrackingEvents;
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
Expand All @@ -36,10 +38,13 @@
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.item.ArmorItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.level.block.state.BlockState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -92,6 +97,22 @@ public void onInitialize() {

CommandRegistrationCallback.EVENT.register(ArcanusCommands::init);

ModifyItemAttributeModifiersCallback.EVENT.register((stack, slot, attributeModifiers) -> {
if(ArcanusConfig.Enchantments.ManaPool.maxLevel <= 0)
return;

int manaPoolLevel = EnchantmentHelper.getItemEnchantmentLevel(ArcanusEnchantments.MANA_POOL.get(), stack);

if(slot.isArmor() && manaPoolLevel > 0) {
if(stack.getItem() instanceof ArmorItem armorItem && armorItem.getEquipmentSlot() != slot)
return;

AttributeModifier maxManaModifier = new AttributeModifier(ManaPoolEnchantment.getUuidForSlot(slot), "Mana Pool Max Mana Modifier", ArcanusConfig.Enchantments.ManaPool.manaPerLevel * manaPoolLevel, AttributeModifier.Operation.ADDITION);

attributeModifiers.put(ArcanusEntityAttributes.MAX_MANA.get(), maxManaModifier);
}
});

EntityElytraEvents.CUSTOM.register((entity, tickElytra) -> entity.hasEffect(ArcanusMobEffects.MANA_WINGS.get()));

ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
Expand Down
Loading

0 comments on commit b20a19d

Please sign in to comment.