tweaked thoraxis gen
This commit is contained in:
1 parent
867fef9d0a
commit
bb43425edc
40 files changed
+422
-343
No files matched your search
+17
@@ -165,6 +165,23 @@ public final class AntarchyConfigModuleNeoforge {
|
||||
AntarchySettings.setKingBeamTerrainCap(AntarchyMobsConfig.kingBeamTerrainCap());
|
||||
AntarchySettings.setRoyalDecreeCooldownTicks(AntarchyMobsConfig.royalDecreeCooldownTicks());
|
||||
|
||||
AntarchySettings.setRoyalEggHatchChance(AntarchyMobsConfig.royalEggHatchChance());
|
||||
AntarchySettings.setRoyalBoltDamage(AntarchyMobsConfig.royalBoltDamage());
|
||||
AntarchySettings.setPrinceHealth(AntarchyMobsConfig.princeHealth());
|
||||
AntarchySettings.setPrinceAttackDamage(AntarchyMobsConfig.princeAttackDamage());
|
||||
AntarchySettings.setPrinceMovementSpeed(AntarchyMobsConfig.princeMovementSpeed());
|
||||
AntarchySettings.setPrinceFlyingSpeed(AntarchyMobsConfig.princeFlyingSpeed());
|
||||
AntarchySettings.setPrinceArmor(AntarchyMobsConfig.princeArmor());
|
||||
AntarchySettings.setPrinceKnockbackResistance(AntarchyMobsConfig.princeKnockbackResistance());
|
||||
AntarchySettings.setPrinceFollowRange(AntarchyMobsConfig.princeFollowRange());
|
||||
AntarchySettings.setPrincessHealth(AntarchyMobsConfig.princessHealth());
|
||||
AntarchySettings.setPrincessAttackDamage(AntarchyMobsConfig.princessAttackDamage());
|
||||
AntarchySettings.setPrincessMovementSpeed(AntarchyMobsConfig.princessMovementSpeed());
|
||||
AntarchySettings.setPrincessFlyingSpeed(AntarchyMobsConfig.princessFlyingSpeed());
|
||||
AntarchySettings.setPrincessArmor(AntarchyMobsConfig.princessArmor());
|
||||
AntarchySettings.setPrincessKnockbackResistance(AntarchyMobsConfig.princessKnockbackResistance());
|
||||
AntarchySettings.setPrincessFollowRange(AntarchyMobsConfig.princessFollowRange());
|
||||
|
||||
AntarchySettings.setBrutalflyHealth(AntarchyMobsConfig.brutalflyHealth());
|
||||
AntarchySettings.setBrutalflySwipeDamage(AntarchyMobsConfig.brutalflySwipeDamage());
|
||||
AntarchySettings.setBrutalflySpitDamage(AntarchyMobsConfig.brutalflySpitDamage());
|
||||
|
||||
+55
@@ -130,6 +130,25 @@ public final class AntarchyMobsConfig {
|
||||
private static final ModConfigSpec.IntValue KING_BEAM_DURATION_TICKS, KING_BEAM_COOLDOWN_TICKS, KING_BEAM_TERRAIN_CAP;
|
||||
private static final ModConfigSpec.IntValue ROYAL_DECREE_COOLDOWN_TICKS;
|
||||
|
||||
// Royal mounts
|
||||
|
||||
private static final ModConfigSpec.IntValue ROYAL_EGG_HATCH_CHANCE;
|
||||
private static final ModConfigSpec.DoubleValue ROYAL_BOLT_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_HEALTH;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_ATTACK_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_MOVEMENT_SPEED;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_FLYING_SPEED;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_ARMOR;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_KNOCKBACK_RESISTANCE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCE_FOLLOW_RANGE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_HEALTH;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_ATTACK_DAMAGE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_MOVEMENT_SPEED;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_FLYING_SPEED;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_ARMOR;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_KNOCKBACK_RESISTANCE;
|
||||
private static final ModConfigSpec.DoubleValue PRINCESS_FOLLOW_RANGE;
|
||||
|
||||
|
||||
// Brutalfly
|
||||
|
||||
@@ -574,6 +593,25 @@ public final class AntarchyMobsConfig {
|
||||
ROYAL_DECREE_COOLDOWN_TICKS = b.comment("Cooldown in ticks between the end of one King decree and the next.").defineInRange("royalDecreeCooldownTicks", 1200, 1, 72000);
|
||||
b.pop();
|
||||
|
||||
b.push("royalMounts");
|
||||
ROYAL_EGG_HATCH_CHANCE = b.comment("Chance denominator for a royal egg advancing one hatch stage on a random tick.").defineInRange("eggHatchChance", 3, 1, 100000);
|
||||
ROYAL_BOLT_DAMAGE = b.comment("Direct damage dealt by a Prince or Princess royal bolt.").defineInRange("boltDamage", 6.0D, 0.0D, 1024.0D);
|
||||
PRINCE_HEALTH = b.comment("Prince base max health.").defineInRange("princeHealth", 120.0D, 1.0D, 32768.0D);
|
||||
PRINCE_ATTACK_DAMAGE = b.comment("Prince bite damage.").defineInRange("princeAttackDamage", 14.0D, 0.0D, 1024.0D);
|
||||
PRINCE_MOVEMENT_SPEED = b.comment("Prince grounded movement speed.").defineInRange("princeMovementSpeed", 0.28D, 0.0D, 10.0D);
|
||||
PRINCE_FLYING_SPEED = b.comment("Prince flying movement speed.").defineInRange("princeFlyingSpeed", 0.9D, 0.0D, 10.0D);
|
||||
PRINCE_ARMOR = b.comment("Prince armor value.").defineInRange("princeArmor", 10.0D, 0.0D, 1024.0D);
|
||||
PRINCE_KNOCKBACK_RESISTANCE = b.comment("Prince knockback resistance.").defineInRange("princeKnockbackResistance", 0.6D, 0.0D, 1.0D);
|
||||
PRINCE_FOLLOW_RANGE = b.comment("Prince owner and target range.").defineInRange("princeFollowRange", 48.0D, 1.0D, 256.0D);
|
||||
PRINCESS_HEALTH = b.comment("Princess base max health.").defineInRange("princessHealth", 110.0D, 1.0D, 32768.0D);
|
||||
PRINCESS_ATTACK_DAMAGE = b.comment("Princess bite damage.").defineInRange("princessAttackDamage", 10.0D, 0.0D, 1024.0D);
|
||||
PRINCESS_MOVEMENT_SPEED = b.comment("Princess grounded movement speed.").defineInRange("princessMovementSpeed", 0.28D, 0.0D, 10.0D);
|
||||
PRINCESS_FLYING_SPEED = b.comment("Princess flying movement speed.").defineInRange("princessFlyingSpeed", 0.95D, 0.0D, 10.0D);
|
||||
PRINCESS_ARMOR = b.comment("Princess armor value.").defineInRange("princessArmor", 8.0D, 0.0D, 1024.0D);
|
||||
PRINCESS_KNOCKBACK_RESISTANCE = b.comment("Princess knockback resistance.").defineInRange("princessKnockbackResistance", 0.5D, 0.0D, 1.0D);
|
||||
PRINCESS_FOLLOW_RANGE = b.comment("Princess owner and target range.").defineInRange("princessFollowRange", 48.0D, 1.0D, 256.0D);
|
||||
b.pop();
|
||||
|
||||
|
||||
// Brutalfly
|
||||
|
||||
@@ -970,6 +1008,23 @@ public final class AntarchyMobsConfig {
|
||||
static int kingBeamTerrainCap() { return KING_BEAM_TERRAIN_CAP.get(); }
|
||||
static int royalDecreeCooldownTicks() { return ROYAL_DECREE_COOLDOWN_TICKS.get(); }
|
||||
|
||||
static int royalEggHatchChance() { return ROYAL_EGG_HATCH_CHANCE.get(); }
|
||||
static double royalBoltDamage() { return ROYAL_BOLT_DAMAGE.get(); }
|
||||
static double princeHealth() { return PRINCE_HEALTH.get(); }
|
||||
static double princeAttackDamage() { return PRINCE_ATTACK_DAMAGE.get(); }
|
||||
static double princeMovementSpeed() { return PRINCE_MOVEMENT_SPEED.get(); }
|
||||
static double princeFlyingSpeed() { return PRINCE_FLYING_SPEED.get(); }
|
||||
static double princeArmor() { return PRINCE_ARMOR.get(); }
|
||||
static double princeKnockbackResistance() { return PRINCE_KNOCKBACK_RESISTANCE.get(); }
|
||||
static double princeFollowRange() { return PRINCE_FOLLOW_RANGE.get(); }
|
||||
static double princessHealth() { return PRINCESS_HEALTH.get(); }
|
||||
static double princessAttackDamage() { return PRINCESS_ATTACK_DAMAGE.get(); }
|
||||
static double princessMovementSpeed() { return PRINCESS_MOVEMENT_SPEED.get(); }
|
||||
static double princessFlyingSpeed() { return PRINCESS_FLYING_SPEED.get(); }
|
||||
static double princessArmor() { return PRINCESS_ARMOR.get(); }
|
||||
static double princessKnockbackResistance() { return PRINCESS_KNOCKBACK_RESISTANCE.get(); }
|
||||
static double princessFollowRange() { return PRINCESS_FOLLOW_RANGE.get(); }
|
||||
|
||||
static double brutalflyHealth() { return BRUTALFLY_HEALTH.get(); }
|
||||
static double brutalflySwipeDamage() { return BRUTALFLY_SWIPE_DAMAGE.get(); }
|
||||
static double brutalflySpitDamage() { return BRUTALFLY_SPIT_DAMAGE.get(); }
|
||||
|
||||
-98
@@ -27,7 +27,6 @@ import com.craisinlord.antarchy.content.horde.CavarynHordeManager;
|
||||
import com.craisinlord.antarchy.content.item.*;
|
||||
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager;
|
||||
import com.craisinlord.antarchy.content.item.ultimate.UltimateGearHelper;
|
||||
import com.craisinlord.antarchy.content.movement.DreamSandLowGravityAccess;
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
import com.craisinlord.antarchy.content.portal.PermanentPortalManager;
|
||||
import com.craisinlord.antarchy.content.time.TimeDilationManager;
|
||||
@@ -113,15 +112,12 @@ public final class AntarchyNeoForgeEvents {
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleParalyzedRightClickItem);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleParalyzedEntityInteract);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleParalyzedEntityInteractSpecific);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleDreamSandJump);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickDreadAndIchor);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickScorpionWhips);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickWormHooks);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickDreamSandLowGravity);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::tickMinersDreamExcavations);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleAntiwaterDamage);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleAntiwaterFall);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleDreamSandFall);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleBloodCrystalBootsFall);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleBloodglassShield);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleBloodCrystalArmorEquip);
|
||||
@@ -144,7 +140,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleFallenKingCrownKill);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleDreadBedSleep);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleStartTracking);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleDreamSandLogout);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleTigerEyeLogout);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleTigerEyeDeath);
|
||||
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleTigerEyeRespawn);
|
||||
@@ -285,19 +280,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
static void registerReloadListeners(AddReloadListenerEvent event) {
|
||||
event.addListener(new DrTrayaurusTradeManager());
|
||||
}
|
||||
static void handleDreamSandLogout(PlayerEvent.PlayerLoggedOutEvent event) {
|
||||
clearDreamSandLowGravity(event.getEntity());
|
||||
}
|
||||
private static void clearDreamSandLowGravity(LivingEntity livingEntity) {
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
access.antarchy$setDreamSandLowGravityActive(false);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(0);
|
||||
access.antarchy$setDreamSandLandingGraceTicks(0);
|
||||
}
|
||||
private static DreamSandLowGravityAccess dreamSandAccess(LivingEntity livingEntity) {
|
||||
return (DreamSandLowGravityAccess) livingEntity;
|
||||
}
|
||||
|
||||
static void handleStartTracking(PlayerEvent.StartTracking event) {
|
||||
if (event.getTarget().level().isClientSide()) {
|
||||
return;
|
||||
@@ -423,7 +405,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
|
||||
static void handleDreadDeath(LivingDeathEvent event) {
|
||||
LivingEntity entity = event.getEntity();
|
||||
clearDreamSandLowGravity(entity);
|
||||
if (!entity.hasEffect(AntarchyNeoforgeMisc.DREAD)) {
|
||||
return;
|
||||
}
|
||||
@@ -1027,24 +1008,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
return player.hasEffect(AntarchyNeoforgeMisc.PARALYZED);
|
||||
}
|
||||
|
||||
static void handleDreamSandJump(LivingEvent.LivingJumpEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
if (!AntarchySettings.dreamSandEnabled() || isDreamSandLowGravityBlacklisted(livingEntity)) {
|
||||
clearDreamSandLowGravity(livingEntity);
|
||||
} else if (isStandingOnDreamSand(livingEntity)) {
|
||||
livingEntity.setDeltaMovement(
|
||||
livingEntity.getDeltaMovement().x,
|
||||
livingEntity.getDeltaMovement().y * AntarchySettings.dreamSandJumpVelocityMultiplier(),
|
||||
livingEntity.getDeltaMovement().z
|
||||
);
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
access.antarchy$setDreamSandLowGravityActive(true);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining((int) Math.max(1L, Math.round(AntarchySettings.dreamSandEffectDurationSeconds() * 20.0D)));
|
||||
access.antarchy$setDreamSandLandingGraceTicks(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void tickDreadAndIchor(PlayerTickEvent.Post event) {
|
||||
Player player = event.getEntity();
|
||||
if (player.level().isClientSide()) {
|
||||
@@ -1074,51 +1037,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void tickDreamSandLowGravity(EntityTickEvent.Post event) {
|
||||
if (!(event.getEntity() instanceof LivingEntity livingEntity)) {
|
||||
return;
|
||||
}
|
||||
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
int landingGraceTicks = access.antarchy$getDreamSandLandingGraceTicks();
|
||||
if (landingGraceTicks > 0) {
|
||||
access.antarchy$setDreamSandLandingGraceTicks(landingGraceTicks - 1);
|
||||
}
|
||||
|
||||
if (!AntarchySettings.dreamSandEnabled() || isDreamSandLowGravityBlacklisted(livingEntity) || !access.antarchy$isDreamSandLowGravityActive()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int remainingTicks = access.antarchy$getDreamSandLowGravityTicksRemaining();
|
||||
if (remainingTicks > 0) {
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(remainingTicks - 1);
|
||||
}
|
||||
if (access.antarchy$getDreamSandLowGravityTicksRemaining() <= 0) {
|
||||
clearDreamSandLowGravity(livingEntity);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isOnSolidGround(livingEntity)) {
|
||||
access.antarchy$setDreamSandLowGravityActive(false);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(0);
|
||||
access.antarchy$setDreamSandLandingGraceTicks(2);
|
||||
} else if (!livingEntity.onGround() && livingEntity.getDeltaMovement().y < 0.0D) {
|
||||
livingEntity.setDeltaMovement(
|
||||
livingEntity.getDeltaMovement().x,
|
||||
livingEntity.getDeltaMovement().y * AntarchySettings.dreamSandGravityMultiplier(),
|
||||
livingEntity.getDeltaMovement().z
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isOnSolidGround(LivingEntity livingEntity) {
|
||||
return livingEntity.onGround() && livingEntity.getBlockStateOn().blocksMotion();
|
||||
}
|
||||
|
||||
private static boolean isStandingOnDreamSand(LivingEntity livingEntity) {
|
||||
return livingEntity.level().getBlockState(livingEntity.getOnPosLegacy()).is(AntarchyNeoforgeBlocks.DREAM_SAND.get());
|
||||
}
|
||||
|
||||
static void handleAntiwaterFall(LivingFallEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
if (intersectsAntiwater(livingEntity, livingEntity.getBoundingBox().inflate(0.05D))) {
|
||||
@@ -1126,22 +1044,6 @@ public final class AntarchyNeoForgeEvents {
|
||||
}
|
||||
}
|
||||
|
||||
static void handleDreamSandFall(LivingFallEvent event) {
|
||||
LivingEntity livingEntity = event.getEntity();
|
||||
DreamSandLowGravityAccess access = dreamSandAccess(livingEntity);
|
||||
if (!AntarchySettings.dreamSandEnabled()
|
||||
|| isDreamSandLowGravityBlacklisted(livingEntity)
|
||||
|| (!access.antarchy$isDreamSandLowGravityActive() && access.antarchy$getDreamSandLandingGraceTicks() <= 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
private static boolean isDreamSandLowGravityBlacklisted(LivingEntity livingEntity) {
|
||||
return livingEntity.getType().is(AntarchyTags.Entities.DREAM_SAND_LOW_GRAVITY_BLACKLIST);
|
||||
}
|
||||
|
||||
|
||||
private static boolean intersectsAntiwater(Entity entity, AABB box) {
|
||||
BlockPos.MutableBlockPos cursor = new BlockPos.MutableBlockPos();
|
||||
|
||||
+6
@@ -288,6 +288,10 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new LumenLilyPadFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.elythia.GlimmeringReedFeature> GLIMMERING_REEDS = FEATURES.register("glimmering_reeds",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.GlimmeringReedFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, NaturalDirectionalVineFeature> SPIRALING_VINES = FEATURES.register("spiraling_vines",
|
||||
() -> new NaturalDirectionalVineFeature(NoneFeatureConfiguration.CODEC, "spiraling_vines", net.minecraft.core.Direction.UP, 4, 12));
|
||||
public static final DeferredHolder<Feature<?>, NaturalDirectionalVineFeature> GOREVINE = FEATURES.register("gorevine",
|
||||
() -> new NaturalDirectionalVineFeature(NoneFeatureConfiguration.CODEC, "gorevine", net.minecraft.core.Direction.DOWN, 8, 16));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature> GIANT_LILY_PAD_PATCH = FEATURES.register("giant_lily_pad_patch",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.elythia.GiantLilyPadPatchFeature> GIANT_LILY_PAD_PATCH_PEACH_FOREST = FEATURES.register("giant_lily_pad_patch_peach_forest",
|
||||
@@ -320,6 +324,8 @@ public final class AntarchyNeoforgeMisc {
|
||||
() -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, TyphoniteSpikeFeature> TYPHONITE_SPIKES = FEATURES.register("typhonite_spikes",
|
||||
() -> new TyphoniteSpikeFeature(TyphoniteSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, TyphoniteSwirlFeature> TYPHONITE_SWIRLS = FEATURES.register("typhonite_swirls",
|
||||
() -> new TyphoniteSwirlFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ChitinSpikeFeature> CAVARYN_CHITIN_SPIKES = FEATURES.register("cavaryn_chitin_spikes",
|
||||
() -> new ChitinSpikeFeature(ChitinSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins",
|
||||
|
||||
Reference in new issue
Block a user