From d0a8057460d4177b742b75b37ea95fcbd39bffb7 Mon Sep 17 00:00:00 2001 From: CammiePone Date: Fri, 24 Jan 2025 01:09:18 -0800 Subject: [PATCH] added new aggressorb config option & ran datagen --- .../generated/assets/arcanuscontinuum/lang/en_us.json | 10 ++++++---- .../loot_tables/bookshelves/wizard_tower.json | 4 ++-- .../cammiescorner/arcanuscontinuum/ArcanusConfig.java | 4 ++++ .../spell_components/shapes/AggressorbSpellShape.java | 11 ++++++++--- .../client/ArcanusEnglishLanguageProvider.java | 1 + 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/generated/assets/arcanuscontinuum/lang/en_us.json b/src/main/generated/assets/arcanuscontinuum/lang/en_us.json index 8db34f77..d7c24116 100644 --- a/src/main/generated/assets/arcanuscontinuum/lang/en_us.json +++ b/src/main/generated/assets/arcanuscontinuum/lang/en_us.json @@ -62,9 +62,9 @@ "arcanuscontinuum.spell_component.arcanuscontinuum.mana_split_effect": "Mana Split Effect", "arcanuscontinuum.spell_component.arcanuscontinuum.mana_wings_effect": "Mana Wings Effect", "arcanuscontinuum.spell_component.arcanuscontinuum.mine_effect": "Mine Effect", + "arcanuscontinuum.spell_component.arcanuscontinuum.missile_shape": "Missile Shape", "arcanuscontinuum.spell_component.arcanuscontinuum.necromancy_effect": "Necromancy Effect", "arcanuscontinuum.spell_component.arcanuscontinuum.power_effect": "Power Effect", - "arcanuscontinuum.spell_component.arcanuscontinuum.projectile_shape": "Projectile Shape", "arcanuscontinuum.spell_component.arcanuscontinuum.pull_effect": "Pull Effect", "arcanuscontinuum.spell_component.arcanuscontinuum.push_effect": "Push Effect", "arcanuscontinuum.spell_component.arcanuscontinuum.regenerate_effect": "Regenerate Effect", @@ -105,6 +105,7 @@ "command.arcanuscontinuum.wizard_level.get.success": "%s's wizard level is %s", "command.arcanuscontinuum.wizard_level.set.success": "Set %s's wizard level to %s", "config.arcanuscontinuum.aggressorbShapeProperties": "Aggressorb Shape", + "config.arcanuscontinuum.aggressorbsPerCast": "How Many Aggressorbs Spawn per Cast", "config.arcanuscontinuum.anonymityEffectProperties": "Anonymity Effect", "config.arcanuscontinuum.aoeShapeProperties": "Area Of Effect Shape", "config.arcanuscontinuum.attackEffectsCategory": "Attack Effects", @@ -129,6 +130,7 @@ "config.arcanuscontinuum.boltShapeProperties": "Bolt Shape", "config.arcanuscontinuum.bouncyEffectProperties": "Bouncy Effect", "config.arcanuscontinuum.buildEffectProperties": "Build Effect", + "config.arcanuscontinuum.burstShape.radius": "Burst Radius", "config.arcanuscontinuum.burstShapeProperties": "Burst Shape", "config.arcanuscontinuum.canBeRemovedByOthers": "Can Be Removed By Other Players", "config.arcanuscontinuum.canSuckEntitiesIn": "Can Suck Entities In", @@ -173,6 +175,7 @@ "config.arcanuscontinuum.maximumManaLock": "Maximum Mana Lock", "config.arcanuscontinuum.mineEffectProperties": "Mine Effect", "config.arcanuscontinuum.minimumLevel": "Minimum Level (Requires Restart)", + "config.arcanuscontinuum.missileShapeProperties": "Missile Shape", "config.arcanuscontinuum.movementEffectsCategory": "Movement Effects", "config.arcanuscontinuum.necromancyEffectProperties": "Necromancy Effect", "config.arcanuscontinuum.pocketHeight": "Pocket Dimension Height", @@ -180,7 +183,6 @@ "config.arcanuscontinuum.portalGrowTime": "Spatial Rift Grow Time", "config.arcanuscontinuum.potencyModifier": "Potency Modifier (Requires Restart)", "config.arcanuscontinuum.powerEffectProperties": "Power Effect", - "config.arcanuscontinuum.projectileShapeProperties": "Projectile Shape", "config.arcanuscontinuum.projectileSpeed": "Projectile Speed", "config.arcanuscontinuum.pullEffectProperties": "Pull Effect", "config.arcanuscontinuum.pushEffectProperties": "Push Effect", @@ -196,7 +198,6 @@ "config.arcanuscontinuum.speedEffectProperties": "Speed Effect", "config.arcanuscontinuum.spellShapesCategory": "Spell Shapes", "config.arcanuscontinuum.stockpileEffectProperties": "Stockpile Effect", - "config.arcanuscontinuum.strength": "Strength", "config.arcanuscontinuum.supportEffectsCategory": "Support Effects", "config.arcanuscontinuum.supporter_settings": "Supporter Perks", "config.arcanuscontinuum.supporter_settings.halo_color": "Halo Color", @@ -243,9 +244,10 @@ "entity.arcanuscontinuum.area_of_effect": "Area Of Effect", "entity.arcanuscontinuum.beam": "Beam", "entity.arcanuscontinuum.entangled_orb": "Entangled Orb", - "entity.arcanuscontinuum.magic_projectile": "Magic Projectile", + "entity.arcanuscontinuum.lob": "Lob", "entity.arcanuscontinuum.magic_rune": "Magic Rune", "entity.arcanuscontinuum.mana_shield": "Mana Shield", + "entity.arcanuscontinuum.missile": "Missile", "entity.arcanuscontinuum.necro_skeleton": "Necro Skeleton", "entity.arcanuscontinuum.opossum": "Opossum", "entity.arcanuscontinuum.pocket_dimension_portal": "Pocket Dimension Portal", diff --git a/src/main/generated/data/arcanuscontinuum/loot_tables/bookshelves/wizard_tower.json b/src/main/generated/data/arcanuscontinuum/loot_tables/bookshelves/wizard_tower.json index 8f2a39a7..db08aca1 100644 --- a/src/main/generated/data/arcanuscontinuum/loot_tables/bookshelves/wizard_tower.json +++ b/src/main/generated/data/arcanuscontinuum/loot_tables/bookshelves/wizard_tower.json @@ -34,7 +34,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{ComponentGroups:[{Effects:[\"arcanuscontinuum:heal_effect\",\"arcanuscontinuum:heal_effect\"],Positions:[{X:80,Y:84},{X:133,Y:48},{X:139,Y:118}],Shape:\"arcanuscontinuum:projectile_shape\"}],Name:\"Heal Ally\"}" + "tag": "{ComponentGroups:[{Effects:[\"arcanuscontinuum:heal_effect\",\"arcanuscontinuum:heal_effect\"],Positions:[{X:80,Y:84},{X:133,Y:48},{X:139,Y:118}],Shape:\"arcanuscontinuum:missile_shape\"}],Name:\"Heal Ally\"}" } ], "name": "arcanuscontinuum:spell_book" @@ -82,7 +82,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{ComponentGroups:[{Effects:[\"arcanuscontinuum:damage_effect\",\"arcanuscontinuum:damage_effect\"],Positions:[{X:86,Y:82},{X:146,Y:81},{X:117,Y:127}],Shape:\"arcanuscontinuum:projectile_shape\"}],Name:\"Magic Missile\"}" + "tag": "{ComponentGroups:[{Effects:[\"arcanuscontinuum:damage_effect\",\"arcanuscontinuum:damage_effect\"],Positions:[{X:86,Y:82},{X:146,Y:81},{X:117,Y:127}],Shape:\"arcanuscontinuum:missile_shape\"}],Name:\"Magic Missile\"}" } ], "name": "arcanuscontinuum:spell_book" diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/ArcanusConfig.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/ArcanusConfig.java index 79fe2337..ba0f09a5 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/ArcanusConfig.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/ArcanusConfig.java @@ -463,6 +463,10 @@ public static final class AggressorbShapeProperties { @IntRange(min = 0, max = 16) public static int maximumAggressorbs = 6; + @ConfigEntry(id = "aggressorbsPerCast", type = EntryType.INTEGER, translation = "config.arcanuscontinuum.aggressorbsPerCast") + @IntRange(min = 0, max = 16) + public static int aggressorbsPerCast = 2; + @ConfigEntry(id = "projectileSpeed", type = EntryType.FLOAT, translation = "config.arcanuscontinuum.projectileSpeed") public static float projectileSpeed = 3f; } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/common/spell_components/shapes/AggressorbSpellShape.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/common/spell_components/shapes/AggressorbSpellShape.java index 183c501e..44e9a4f5 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/common/spell_components/shapes/AggressorbSpellShape.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/common/spell_components/shapes/AggressorbSpellShape.java @@ -38,7 +38,14 @@ public void cast(@Nullable LivingEntity caster, Vec3 castFrom, @Nullable Entity Entity sourceEntity = castSource != null ? castSource : caster; if(sourceEntity instanceof LivingEntity target) { - if(ArcanusComponents.aggressorbCount(target) < ArcanusConfig.SpellShapes.AggressorbShapeProperties.maximumAggressorbs) { + for(int i = 0; i < ArcanusConfig.SpellShapes.AggressorbShapeProperties.aggressorbsPerCast; i++) { + if(ArcanusComponents.aggressorbCount(target) < ArcanusConfig.SpellShapes.AggressorbShapeProperties.maximumAggressorbs) { + if(caster instanceof Player player) + player.sendSystemMessage(Component.translatable("text.arcanuscontinuum.too_many_orbs").withStyle(ChatFormatting.RED)); + + break; + } + Aggressorb aggressorb = ArcanusEntities.AGGRESSORB.get().create(world); if(aggressorb != null) { @@ -47,8 +54,6 @@ public void cast(@Nullable LivingEntity caster, Vec3 castFrom, @Nullable Entity world.addFreshEntity(aggressorb); } } - else if(caster instanceof Player player) - player.sendSystemMessage(Component.translatable("text.arcanuscontinuum.too_many_orbs").withStyle(ChatFormatting.RED)); } } } diff --git a/src/main/java/dev/cammiescorner/arcanuscontinuum/datagen/client/ArcanusEnglishLanguageProvider.java b/src/main/java/dev/cammiescorner/arcanuscontinuum/datagen/client/ArcanusEnglishLanguageProvider.java index 3a99cf3c..6c729aa6 100644 --- a/src/main/java/dev/cammiescorner/arcanuscontinuum/datagen/client/ArcanusEnglishLanguageProvider.java +++ b/src/main/java/dev/cammiescorner/arcanuscontinuum/datagen/client/ArcanusEnglishLanguageProvider.java @@ -345,6 +345,7 @@ public void generateTranslations(TranslationBuilder builder) { builder.add("config.arcanuscontinuum.burstShape.radius", "Burst Radius"); builder.add("config.arcanuscontinuum.maximumManaLock", "Maximum Mana Lock"); builder.add("config.arcanuscontinuum.maximumAggressorbs", "Maximum Aggressorbs"); + builder.add("config.arcanuscontinuum.aggressorbsPerCast", "How Many Aggressorbs Spawn per Cast"); builder.add("config.arcanuscontinuum.baseDamage", "Base Damage"); builder.add("config.arcanuscontinuum.baseTimeOnFire", "Base Time On Fire"); builder.add("config.arcanuscontinuum.baseStunTime", "Base Stun Time");