1.1.0 release

This commit is contained in:
craisinlord committed 2026-08-08 17:00:43 -05:00
1 parent b81dcc3bef
commit de529b54c2
149 files changed
+5623 -2919

No files matched your search

@@ -145,6 +145,7 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth());
AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage());
AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage());
AntarchySettings.setTriffidSweepHitCooldownTicks(AntarchyMobsConfig.triffidSweepHitCooldownTicks());
AntarchySettings.setCaterpillarPupationTimeSeconds(AntarchyMobsConfig.caterpillarPupationTimeSeconds());
@@ -133,6 +133,7 @@ public final class AntarchyMobsConfig {
private static final ModConfigSpec.DoubleValue TRIFFID_HEALTH;
private static final ModConfigSpec.DoubleValue TRIFFID_ATTACK_DAMAGE;
private static final ModConfigSpec.DoubleValue TRIFFID_GRAB_DAMAGE;
private static final ModConfigSpec.IntValue TRIFFID_SWEEP_HIT_COOLDOWN_TICKS;
// Caterpillar
@@ -491,6 +492,9 @@ public final class AntarchyMobsConfig {
TRIFFID_HEALTH = b.comment("Base max health.") .defineInRange("health", 80.0D, 1.0D, 32768.0D);
TRIFFID_ATTACK_DAMAGE = b.comment("Damage dealt by the sweep attack.") .defineInRange("attackDamage", 10.0D, 0.0D, 1024.0D);
TRIFFID_GRAB_DAMAGE = b.comment("Damage dealt by the grab attack.") .defineInRange("grabDamage", 15.0D, 0.0D, 1024.0D);
TRIFFID_SWEEP_HIT_COOLDOWN_TICKS = b
.comment("Ticks a given entity is immune to repeat sweep-attack damage attempts after being hit once, so shields/armor absorbing a hit can't be shredded by every tick of the sweep's active window.")
.defineInRange("sweepHitCooldownTicks", 10, 0, 200);
b.pop();
@@ -758,6 +762,7 @@ public final class AntarchyMobsConfig {
static double triffidHealth() { return TRIFFID_HEALTH.get(); }
static double triffidAttackDamage() { return TRIFFID_ATTACK_DAMAGE.get(); }
static double triffidGrabDamage() { return TRIFFID_GRAB_DAMAGE.get(); }
static int triffidSweepHitCooldownTicks() { return TRIFFID_SWEEP_HIT_COOLDOWN_TICKS.get(); }
static double caterpillarPupationTimeSeconds() { return CATERPILLAR_PUPATION_TIME_SECONDS.get(); }
static double antDanceRadius() { return ANT_DANCE_RADIUS.get(); }
@@ -54,6 +54,7 @@ public class AntarchyNeoforge {
AntarchyNeoforgeSounds.BRUTALFLY_IDLE,
AntarchyNeoforgeSounds.BRUTALFLY_DEATH,
AntarchyNeoforgeSounds.ELYTHIA_FIREFLY_AMBIENT,
AntarchyNeoforgeSounds.ELYTHIA_OURANWOOD_FOREST_AMBIENT,
AntarchyNeoforgeSounds.MISSILE_SQUID_AMBIENT,
AntarchyNeoforgeSounds.MISSILE_SQUID_HURT,
AntarchyNeoforgeSounds.MISSILE_SQUID_DEATH,
@@ -369,6 +370,7 @@ public class AntarchyNeoforge {
AntarchyObjects.setKrakenTentacle(() -> AntarchyNeoforgeItems.KRAKEN_TENTACLE.get());
AntarchyObjects.setKrakensGrasp(() -> AntarchyNeoforgeItems.KRAKENS_GRASP.get());
AntarchyObjects.setOuranwoodDeer(AntarchyNeoforgeEntites.OURANWOOD_DEER);
AntarchyObjects.setRollyPolly(AntarchyNeoforgeEntites.ROLLY_POLLY);
AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER);
AntarchyObjects.setSpiritApple(() -> AntarchyNeoforgeItems.SPIRIT_APPLE.get());
AntarchyObjects.setGlimmeringEffect(() -> AntarchyNeoforgeMisc.GLIMMERING);
@@ -4,8 +4,11 @@ import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
import net.lerariemann.infinity.InfinityMod;
import net.lerariemann.infinity.util.InfinityMethods;
import net.lerariemann.infinity.util.teleport.PortalCreator;
import net.lerariemann.infinity.util.teleport.WarpLogic;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.RandomSource;
@@ -75,4 +78,14 @@ public final class NeoForgeInfinityCompat implements InfinityCompatBridge {
return false;
}
}
@Override
public boolean createPhysicalPortal(ServerLevel level, BlockPos anyPortalBlockPos, ResourceLocation dimensionId) {
try {
return PortalCreator.modifyOnInitialCollision(dimensionId, level, anyPortalBlockPos);
} catch (Throwable throwable) {
Antarchy.LOGGER.error("[Antarchy] Failed to convert a portal frame into an Infinity portal to {}", dimensionId, throwable);
return false;
}
}
}
@@ -14,6 +14,7 @@ import com.craisinlord.antarchy.content.dispenser.AntimetalMinecartDispenseBehav
import com.craisinlord.antarchy.content.fluid.AntarchyFluidChecks;
import com.craisinlord.antarchy.content.bloodglass.BloodglassAccess;
import com.craisinlord.antarchy.content.entity.*;
import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
@@ -208,6 +209,7 @@ public final class AntarchyNeoForgeEvents {
static void tickCavarynHordes(ServerTickEvent.Post event) {
for (ServerLevel level : event.getServer().getAllLevels()) {
CavarynHordeManager.tick(level);
com.craisinlord.antarchy.content.horde.CavarynCreatureSpawner.tick(level);
}
}
@@ -218,6 +220,9 @@ public final class AntarchyNeoForgeEvents {
public static void onPermanentPortalSacrifice(LivingDeathEvent event) {
PermanentPortalManager.handleSacrifice(event.getEntity());
if (event.getEntity() instanceof RainbowAntEntity rainbowAnt) {
rainbowAnt.tryIgniteInfinityPortalOnDeath();
}
}
public static void onLivingBreathe(LivingBreatheEvent event) {
@@ -663,16 +663,16 @@ public final class AntarchyNeoforgeItems {
));
public static final DeferredItem<ArmorItem> ULTIMATE_HELMET = ITEMS.register("ultimate_helmet",
() -> new UltimateArmorItem(ULTIMATE_ARMOR_MATERIAL, ArmorItem.Type.HELMET,
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.HELMET.getDurability(41))));
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.HELMET.getDurability(62))));
public static final DeferredItem<ArmorItem> ULTIMATE_CHESTPLATE = ITEMS.register("ultimate_chestplate",
() -> new UltimateArmorItem(ULTIMATE_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE,
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.CHESTPLATE.getDurability(41))));
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.CHESTPLATE.getDurability(62))));
public static final DeferredItem<ArmorItem> ULTIMATE_LEGGINGS = ITEMS.register("ultimate_leggings",
() -> new UltimateArmorItem(ULTIMATE_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS,
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.LEGGINGS.getDurability(41))));
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.LEGGINGS.getDurability(62))));
public static final DeferredItem<ArmorItem> ULTIMATE_BOOTS = ITEMS.register("ultimate_boots",
() -> new UltimateArmorItem(ULTIMATE_ARMOR_MATERIAL, ArmorItem.Type.BOOTS,
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.BOOTS.getDurability(41))));
new Item.Properties().rarity(Rarity.EPIC).fireResistant().durability(ArmorItem.Type.BOOTS.getDurability(62))));
public static final DeferredItem<UltimateSwordItem> ULTIMATE_SWORD = ITEMS.register("ultimate_sword",
() -> new UltimateSwordItem(ULTIMATE_TIER,
new Item.Properties().stacksTo(1).rarity(Rarity.EPIC).fireResistant(),
@@ -336,8 +336,8 @@ public final class AntarchyNeoforgeMisc {
() -> new PotentNyxiteFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ThoraxisBloodCrystalFeature> THORAXIS_BLOOD_CRYSTAL_SPIRES = FEATURES.register("thoraxis_blood_crystal_spires",
() -> new ThoraxisBloodCrystalFeature(ThoraxisBloodCrystalConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, CloudSeaCalciteFeature> CLOUD_SEA_CALCITE_BANKS = FEATURES.register("cloud_sea_calcite_banks",
() -> new CloudSeaCalciteFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ElythiaCloudFeature> ELYTHIA_CLOUDS = FEATURES.register("elythia_clouds",
() -> new ElythiaCloudFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, BedBugNestFeature> BED_BUG_NEST = FEATURES.register("bed_bug_nest",
() -> new BedBugNestFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, BedBugSurfaceClusterFeature> BED_BUG_SURFACE_CLUSTER = FEATURES.register("bed_bug_surface_cluster",
@@ -33,6 +33,7 @@ public final class AntarchyNeoforgeSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> BRUTALFLY_IDLE = registerSoundEvent("brutalfly_idle");
public static final DeferredHolder<SoundEvent, SoundEvent> BRUTALFLY_DEATH = registerSoundEvent("brutalfly_death");
public static final DeferredHolder<SoundEvent, SoundEvent> ELYTHIA_FIREFLY_AMBIENT = registerSoundEvent("ambient.elythia.firefly");
public static final DeferredHolder<SoundEvent, SoundEvent> ELYTHIA_OURANWOOD_FOREST_AMBIENT = registerSoundEvent("ambient.elythia.ouranwood_forest");
public static final DeferredHolder<SoundEvent, SoundEvent> MISSILE_SQUID_AMBIENT = registerSoundEvent("missile_squid_ambient");
public static final DeferredHolder<SoundEvent, SoundEvent> MISSILE_SQUID_HURT = registerSoundEvent("missile_squid_hurt");
public static final DeferredHolder<SoundEvent, SoundEvent> MISSILE_SQUID_DEATH = registerSoundEvent("missile_squid_death");
@@ -45,7 +45,7 @@ public class AntarchyNeoforgeSpawnPlacements {
event.register(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.STINK_BUG.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.LUCID.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LucidEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ScorpionEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
@@ -54,7 +54,7 @@ public class AntarchyNeoforgeSpawnPlacements {
event.register(AntarchyNeoforgeEntites.LURKING_TERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LurkingTerrorEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.JERRY.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JerryEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.TERMITE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AbstractFish::checkSurfaceWaterAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.DORRIE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.OURANWOOD_DEER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);