added all the changes and loot tabels

This commit is contained in:
craisinlord committed 2026-08-13 14:50:38 -05:00
1 parent 313c54e8d6
commit 05c9dd5e66
61 files changed
+739 -109

No files matched your search

@@ -129,15 +129,15 @@ public final class AntarchyMiscConfig {
// Diamond Minecart
b.push("diamondMinecart");
DIAMOND_MINECART_ENABLED = b.comment("Master toggle. If false, acts like a regular minecart.") .define("enabled", true);
DIAMOND_MINECART_PLACES_RAILS = b.comment("Whether the cart automatically places rails from the rider's inventory.") .define("placesRails", true);
DIAMOND_MINECART_CRUISE_SPEED = b.comment("Cruise speed in blocks/tick while ridden (even without holding W).") .defineInRange("cruiseSpeed", 0.6D, 0.05D, 2.0D);
DIAMOND_MINECART_MAX_SPEED = b.comment("Maximum boosted speed in blocks/tick when W is held. Vanilla cap is 0.4.") .defineInRange("maxSpeed", 1.0D, 0.05D, 2.0D);
DIAMOND_MINECART_ACCELERATION = b.comment("Speed gained per tick while accelerating.") .defineInRange("acceleration", 0.03D, 0.001D, 0.5D);
DIAMOND_MINECART_DECELERATION = b.comment("Speed lost per tick while S is held (active braking).") .defineInRange("deceleration", 0.04D, 0.001D, 0.5D);
DIAMOND_MINECART_COAST_DECELERATION = b.comment("Speed lost per tick when neither W nor S is held (coasting friction).") .defineInRange("coastDeceleration", 0.01D, 0.001D, 0.5D);
DIAMOND_MINECART_MOB_DAMAGE_ENABLED = b.comment("Whether the cart deals damage to mobs it collides with at speed.") .define("mobDamageEnabled", true);
DIAMOND_MINECART_MAX_MOB_DAMAGE = b.comment("Maximum damage dealt at full speed. Scales linearly with current speed.") .defineInRange("maxMobDamage", 8.0D, 0.0D, 200.0D);
DIAMOND_MINECART_ENABLED = b.comment("Master toggle for the diamond minecart's custom propulsion and rail-laying behavior.") .define("enabled", true);
DIAMOND_MINECART_PLACES_RAILS = b.comment("Whether the cart automatically places normal rails from the rider's inventory.") .define("placesRails", true);
DIAMOND_MINECART_CRUISE_SPEED = b.comment("Minimum maintained speed while ridden without holding W. Set to 0 for manual control.") .defineInRange("cruiseSpeed", 0.0D, 0.0D, 2.0D);
DIAMOND_MINECART_MAX_SPEED = b.comment("Maximum speed in blocks/tick when W is held. Vanilla rideable minecarts cap at 0.4.") .defineInRange("maxSpeed", 0.55D, 0.05D, 2.0D);
DIAMOND_MINECART_ACCELERATION = b.comment("Speed gained per tick while accelerating.") .defineInRange("acceleration", 0.02D, 0.001D, 0.5D);
DIAMOND_MINECART_DECELERATION = b.comment("Speed lost per tick while S is held (active braking).") .defineInRange("deceleration", 0.05D, 0.001D, 0.5D);
DIAMOND_MINECART_COAST_DECELERATION = b.comment("Speed lost per tick when neither W nor S is held.") .defineInRange("coastDeceleration", 0.02D, 0.001D, 0.5D);
DIAMOND_MINECART_MOB_DAMAGE_ENABLED = b.comment("Whether the cart damages mobs it hits while moving.") .define("mobDamageEnabled", false);
DIAMOND_MINECART_MAX_MOB_DAMAGE = b.comment("Maximum collision damage dealt at full speed if mob damage is enabled.") .defineInRange("maxMobDamage", 4.0D, 0.0D, 200.0D);
b.pop();
@@ -97,6 +97,7 @@ public final class AntarchyNeoForgeEvents {
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleUltimateBowDamage);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleUltimateCrossbowDamage);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleNightmareArmorDoubleDamage);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleBossMagicBurstMitigation);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleScorpionWhipAttackEntity);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleAttitudeAdjusterAttackEntity);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleScorpionWhipLeftClickBlock);
@@ -844,6 +845,38 @@ public final class AntarchyNeoForgeEvents {
}
}
static void handleBossMagicBurstMitigation(LivingIncomingDamageEvent event) {
LivingEntity boss = event.getEntity();
if (!boss.getType().is(AntarchyTags.Entities.SPELL_RESISTANT_BOSS)) return;
if (!com.craisinlord.antarchy.content.boss.BossCombatUtil.isMagicBurstSource(event.getSource())) return;
float maxHealth = boss.getMaxHealth();
float amount = event.getAmount();
float perHitCap = maxHealth * (float) AntarchySettings.bossMagicPerHitCapFraction();
if (amount > perHitCap) {
amount = perHitCap;
}
float windowCap = maxHealth * (float) AntarchySettings.bossMagicWindowCapFraction();
float remainingBudget = com.craisinlord.antarchy.content.boss.BossCombatUtil.remainingWindowBudget(boss, windowCap);
boolean breachedWindow = amount > remainingBudget;
if (breachedWindow) {
amount = Math.max(0.0F, remainingBudget);
}
com.craisinlord.antarchy.content.boss.BossCombatUtil.trackMagicBurstWindow(boss, amount, AntarchySettings.bossMagicWindowTicks());
if (breachedWindow) {
int breaches = com.craisinlord.antarchy.content.boss.BossCombatUtil.recordMagicWindowBreach(boss);
if (breaches >= AntarchySettings.bossMagicWardTriggerBreaches()) {
com.craisinlord.antarchy.content.boss.BossCombatUtil.triggerMagicWard(boss, AntarchySettings.bossMagicWardDurationTicks());
}
}
event.setAmount(amount);
}
static void handleAntiwaterDamage(LivingIncomingDamageEvent event) {
if (!event.getSource().is(DamageTypes.FALL)) {
return;
@@ -1103,10 +1136,7 @@ public final class AntarchyNeoForgeEvents {
if (!event.getEffectInstance().is(AntarchyNeoforgeMisc.INVERTED)) return;
LivingEntity entity = event.getEntity();
if (!entity.level().isClientSide()) {
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setGravityDirection(
entity,
com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection.DOWN,
new com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition(12));
com.craisinlord.antarchy.content.gravity.AntarchyMountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
if (entity instanceof Player player) {
notifyNearbyReveriesOfInversionChange(player);
}
@@ -1227,10 +1257,7 @@ public final class AntarchyNeoForgeEvents {
if (!event.getEffect().is(AntarchyNeoforgeMisc.INVERTED)) return;
LivingEntity entity = event.getEntity();
if (!entity.level().isClientSide()) {
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setGravityDirection(
entity,
com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection.DOWN,
new com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition(12));
com.craisinlord.antarchy.content.gravity.AntarchyMountedGravityHelper.syncConnectedStackIgnoring(entity, entity);
if (entity instanceof Player player) {
notifyNearbyReveriesOfInversionChange(player);
}
@@ -134,7 +134,7 @@ public final class AntarchyNeoforgeItems {
SoundEvents.ARMOR_EQUIP_NETHERITE,
() -> Ingredient.of(PRIMORDIAL_SCUTE.get()),
List.of(new ArmorMaterial.Layer(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "primordial"))),
3.0F,
3.5F,
0.1F
));
private static final DeferredHolder<ArmorMaterial, ArmorMaterial> JUMPY_BOOTS_ARMOR_MATERIAL = ARMOR_MATERIALS.register("jumpy_boots",