Skip to content

Commit

Permalink
more confiiiiigggssss
Browse files Browse the repository at this point in the history
  • Loading branch information
CammiePone committed Jan 25, 2025
1 parent 27fffc3 commit 036182d
Show file tree
Hide file tree
Showing 62 changed files with 288 additions and 98 deletions.
1 change: 1 addition & 0 deletions src/main/generated/assets/arcanuscontinuum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@
"config.arcanuscontinuum.portalGrowTime": "Spatial Rift Grow Time",
"config.arcanuscontinuum.potencyModifier": "Potency Modifier (Requires Restart)",
"config.arcanuscontinuum.powerEffectProperties": "Power Effect",
"config.arcanuscontinuum.procsOnce": "Only Procs Once When Chained (Requires Restart)",
"config.arcanuscontinuum.projectileSpeed": "Projectile Speed",
"config.arcanuscontinuum.pullEffectProperties": "Pull Effect",
"config.arcanuscontinuum.pushEffectProperties": "Push Effect",
Expand Down
156 changes: 156 additions & 0 deletions src/main/java/dev/cammiescorner/arcanuscontinuum/ArcanusConfig.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,17 @@ public class SpellComponent {
private final double manaCost;
private final int coolDown;
private final int minLevel;
private final boolean procsOnce;
private String translationKey;
private ResourceLocation texture;

public SpellComponent(boolean isEnabled, Weight weight, double manaCost, int coolDown, int minLevel) {
public SpellComponent(boolean isEnabled, Weight weight, double manaCost, int coolDown, int minLevel, boolean procsOnce) {
this.isEnabled = isEnabled;
this.weight = weight;
this.manaCost = manaCost;
this.coolDown = coolDown;
this.minLevel = minLevel;
this.procsOnce = procsOnce;
}

public boolean isEnabled() {
Expand Down Expand Up @@ -84,6 +86,6 @@ public Component getName() {
}

public boolean singleCastOnly() {
return false;
return procsOnce;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
public abstract class SpellEffect extends SpellComponent {
private final SpellType type;

public SpellEffect(boolean isEnabled, SpellType type, Weight weight, double manaCost, int coolDown, int minLevel) {
super(isEnabled, weight, manaCost, coolDown, minLevel);
public SpellEffect(boolean isEnabled, SpellType type, Weight weight, double manaCost, int coolDown, int minLevel, boolean procsOnce) {
super(isEnabled, weight, manaCost, coolDown, minLevel, procsOnce);
this.type = type;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ public static SpellShape empty() {
private final double manaMultiplier;
private final double potencyModifier;

public SpellShape(boolean isEnabled, Weight weight, double manaCost, double manaMultiplier, int coolDown, int minLevel, double potencyModifier) {
super(isEnabled, weight, manaCost, coolDown, minLevel);
public SpellShape(boolean isEnabled, Weight weight, double manaCost, double manaMultiplier, int coolDown, int minLevel, double potencyModifier, boolean procsOnce) {
super(isEnabled, weight, manaCost, coolDown, minLevel, procsOnce);
this.manaMultiplier = manaMultiplier;
this.potencyModifier = potencyModifier;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;

import java.util.ArrayList;
Expand Down Expand Up @@ -179,9 +181,10 @@ public int getTrueAge() {
return trueAge;
}

public void setProperties(UUID casterId, Entity sourceEntity, Vec3 pos, ItemStack stack, List<SpellEffect> effects, double potency, List<SpellGroup> groups, int groupIndex) {
setPosRaw(pos.x(), pos.y(), pos.z());
setYRot(sourceEntity.getYRot());
public void setProperties(UUID casterId, Vec3 pos, ItemStack stack, List<SpellEffect> effects, double potency, List<SpellGroup> groups, int groupIndex) {
HitResult hitResult = level().clip(new ClipContext(pos, pos.add(0, -64, 0), ClipContext.Block.COLLIDER, ClipContext.Fluid.ANY, this));
setPos(hitResult.getType() != HitResult.Type.MISS ? hitResult.getLocation() : pos);
setYRot(random.nextFloat() * 360f);
this.casterId = casterId;
this.stack = stack;
this.effects = effects;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;

import java.util.ArrayList;
Expand Down Expand Up @@ -128,7 +130,8 @@ private LivingEntity getCaster() {
}

public void setProperties(UUID casterId, Entity sourceEntity, Vec3 pos, ItemStack stack, List<SpellEffect> effects, double potency, List<SpellGroup> groups, int groupIndex) {
setPosRaw(pos.x(), pos.y(), pos.z());
HitResult hitResult = level().clip(new ClipContext(pos, pos.add(0, -64, 0), ClipContext.Block.COLLIDER, ClipContext.Fluid.ANY, this));
setPos(hitResult.getType() != HitResult.Type.MISS ? hitResult.getLocation() : pos);
setYRot(sourceEntity.getYRot());
setXRot(sourceEntity.getXRot());
this.casterId = casterId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;

import java.util.ArrayList;
Expand Down Expand Up @@ -151,10 +153,10 @@ private LivingEntity getCaster() {
}

public void setProperties(UUID casterId, Entity sourceEntity, Vec3 pos, ItemStack stack, List<SpellEffect> effects, double potency) {
this.setPos(pos);
this.setNoGravity(true);
this.setYRot(sourceEntity.getYRot());
this.setXRot(sourceEntity.getXRot());
HitResult hitResult = level().clip(new ClipContext(pos, pos.add(0, -64, 0), ClipContext.Block.COLLIDER, ClipContext.Fluid.ANY, this));
setPos(hitResult.getType() != HitResult.Type.MISS ? hitResult.getLocation() : pos);
setNoGravity(true);
setYRot(sourceEntity.getYRot());
this.casterId = casterId;
this.stack = stack;
this.effects = effects;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class ArcanusSpellComponents {
/**
* DO NOT DELETE OR DISABLE. WILL BREAK THE ENTIRE MOD.
**/
public static final RegistrySupplier<SpellComponent> EMPTY = SPELL_COMPONENTS.register("empty", () -> new SpellShape(true, Weight.NONE, 0, 1, 0, 0, 0) {
public static final RegistrySupplier<SpellComponent> EMPTY = SPELL_COMPONENTS.register("empty", () -> new SpellShape(true, Weight.NONE, 0, 1, 0, 0, 0, true) {
@Override
public void cast(@Nullable LivingEntity caster, Vec3 castFrom, @Nullable Entity castSource, ServerLevel level, ItemStack stack, List<SpellEffect> effects, List<SpellGroup> spellGroups, int groupIndex, double potency) {
castNext(caster, castFrom, castSource, level, stack, spellGroups, groupIndex, potency);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public CopperCurseSpellEffect() {
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.weight,
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.manaCost,
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.coolDown,
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.CopperCurseEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ public DamageSpellEffect() {
AttackEffects.DamageEffectProperties.weight,
AttackEffects.DamageEffectProperties.manaCost,
AttackEffects.DamageEffectProperties.coolDown,
AttackEffects.DamageEffectProperties.minimumLevel
AttackEffects.DamageEffectProperties.minimumLevel,
AttackEffects.DamageEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public DiscombobulateSpellEffect() {
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.weight,
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.manaCost,
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.coolDown,
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.DiscombobulateEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public ElectricSpellEffect() {
ArcanusConfig.AttackEffects.ElectricEffectProperties.weight,
ArcanusConfig.AttackEffects.ElectricEffectProperties.manaCost,
ArcanusConfig.AttackEffects.ElectricEffectProperties.coolDown,
ArcanusConfig.AttackEffects.ElectricEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.ElectricEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.ElectricEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ public FireSpellEffect() {
ArcanusConfig.AttackEffects.FireEffectProperties.weight,
ArcanusConfig.AttackEffects.FireEffectProperties.manaCost,
ArcanusConfig.AttackEffects.FireEffectProperties.coolDown,
ArcanusConfig.AttackEffects.FireEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.FireEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.FireEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ public IceSpellEffect() {
ArcanusConfig.AttackEffects.IceEffectProperties.weight,
ArcanusConfig.AttackEffects.IceEffectProperties.manaCost,
ArcanusConfig.AttackEffects.IceEffectProperties.coolDown,
ArcanusConfig.AttackEffects.IceEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.IceEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.IceEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public ManaLockSpellEffect() {
ArcanusConfig.AttackEffects.ManaLockEffectProperties.weight,
ArcanusConfig.AttackEffects.ManaLockEffectProperties.manaCost,
ArcanusConfig.AttackEffects.ManaLockEffectProperties.coolDown,
ArcanusConfig.AttackEffects.ManaLockEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.ManaLockEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.ManaLockEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public ManaSplitSpellEffect() {
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.weight,
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.manaCost,
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.coolDown,
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.ManaSplitEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ public NecromancySpellEffect() {
ArcanusConfig.AttackEffects.NecromancyEffectProperties.weight,
ArcanusConfig.AttackEffects.NecromancyEffectProperties.manaCost,
ArcanusConfig.AttackEffects.NecromancyEffectProperties.coolDown,
ArcanusConfig.AttackEffects.NecromancyEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.NecromancyEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.NecromancyEffectProperties.procsOnce
);
}

Expand All @@ -55,9 +56,4 @@ public void effect(@Nullable LivingEntity caster, @Nullable Entity sourceEntity,
}
}
}

@Override
public boolean singleCastOnly() {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public StockpileSpellEffect() {
ArcanusConfig.AttackEffects.StockpileEffectProperties.weight,
ArcanusConfig.AttackEffects.StockpileEffectProperties.manaCost,
ArcanusConfig.AttackEffects.StockpileEffectProperties.coolDown,
ArcanusConfig.AttackEffects.StockpileEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.StockpileEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.StockpileEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public VulnerabilitySpellEffect() {
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.weight,
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.manaCost,
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.coolDown,
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.VulnerabilityEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public WitheringSpellEffect() {
ArcanusConfig.AttackEffects.WitheringEffectProperties.weight,
ArcanusConfig.AttackEffects.WitheringEffectProperties.manaCost,
ArcanusConfig.AttackEffects.WitheringEffectProperties.coolDown,
ArcanusConfig.AttackEffects.WitheringEffectProperties.minimumLevel
ArcanusConfig.AttackEffects.WitheringEffectProperties.minimumLevel,
ArcanusConfig.AttackEffects.WitheringEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public BouncySpellEffect() {
ArcanusConfig.MovementEffects.BouncyEffectProperties.weight,
ArcanusConfig.MovementEffects.BouncyEffectProperties.manaCost,
ArcanusConfig.MovementEffects.BouncyEffectProperties.coolDown,
ArcanusConfig.MovementEffects.BouncyEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.BouncyEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.BouncyEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public FeatherSpellEffect() {
ArcanusConfig.MovementEffects.FeatherEffectProperties.weight,
ArcanusConfig.MovementEffects.FeatherEffectProperties.manaCost,
ArcanusConfig.MovementEffects.FeatherEffectProperties.coolDown,
ArcanusConfig.MovementEffects.FeatherEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.FeatherEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.FeatherEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public FloatSpellEffect() {
ArcanusConfig.MovementEffects.FloatEffectProperties.weight,
ArcanusConfig.MovementEffects.FloatEffectProperties.manaCost,
ArcanusConfig.MovementEffects.FloatEffectProperties.coolDown,
ArcanusConfig.MovementEffects.FloatEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.FloatEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.FloatEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public LevitateSpellEffect() {
ArcanusConfig.MovementEffects.LevitateEffectProperties.weight,
ArcanusConfig.MovementEffects.LevitateEffectProperties.manaCost,
ArcanusConfig.MovementEffects.LevitateEffectProperties.coolDown,
ArcanusConfig.MovementEffects.LevitateEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.LevitateEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.LevitateEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public ManaWingsSpellEffect() {
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.weight,
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.manaCost,
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.coolDown,
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.ManaWingsEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public PullSpellEffect() {
ArcanusConfig.MovementEffects.PullEffectProperties.weight,
ArcanusConfig.MovementEffects.PullEffectProperties.manaCost,
ArcanusConfig.MovementEffects.PullEffectProperties.coolDown,
ArcanusConfig.MovementEffects.PullEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.PullEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.PullEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public PushSpellEffect() {
ArcanusConfig.MovementEffects.PushEffectProperties.weight,
ArcanusConfig.MovementEffects.PushEffectProperties.manaCost,
ArcanusConfig.MovementEffects.PushEffectProperties.coolDown,
ArcanusConfig.MovementEffects.PushEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.PushEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.PushEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public SpeedSpellEffect() {
ArcanusConfig.MovementEffects.SpeedEffectProperties.weight,
ArcanusConfig.MovementEffects.SpeedEffectProperties.manaCost,
ArcanusConfig.MovementEffects.SpeedEffectProperties.coolDown,
ArcanusConfig.MovementEffects.SpeedEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.SpeedEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.SpeedEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ public TeleportSpellEffect() {
ArcanusConfig.MovementEffects.TeleportEffectProperties.weight,
ArcanusConfig.MovementEffects.TeleportEffectProperties.manaCost,
ArcanusConfig.MovementEffects.TeleportEffectProperties.coolDown,
ArcanusConfig.MovementEffects.TeleportEffectProperties.minimumLevel
ArcanusConfig.MovementEffects.TeleportEffectProperties.minimumLevel,
ArcanusConfig.MovementEffects.TeleportEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public DangerSenseSpellEffect() {
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.weight,
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.manaCost,
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.coolDown,
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.minimumLevel
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.minimumLevel,
ArcanusConfig.SupportEffects.DangerSenseEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ public DispelSpellEffect() {
ArcanusConfig.SupportEffects.DispelEffectProperties.weight,
ArcanusConfig.SupportEffects.DispelEffectProperties.manaCost,
ArcanusConfig.SupportEffects.DispelEffectProperties.coolDown,
ArcanusConfig.SupportEffects.DispelEffectProperties.minimumLevel
ArcanusConfig.SupportEffects.DispelEffectProperties.minimumLevel,
ArcanusConfig.SupportEffects.DispelEffectProperties.procsOnce
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ public FortifySpellEffect() {
ArcanusConfig.SupportEffects.FortifyEffectProperties.weight,
ArcanusConfig.SupportEffects.FortifyEffectProperties.manaCost,
ArcanusConfig.SupportEffects.FortifyEffectProperties.coolDown,
ArcanusConfig.SupportEffects.FortifyEffectProperties.minimumLevel
ArcanusConfig.SupportEffects.FortifyEffectProperties.minimumLevel,
ArcanusConfig.SupportEffects.FortifyEffectProperties.procsOnce
);
}

Expand Down
Loading

0 comments on commit 036182d

Please sign in to comment.