Add Kraken's Grasp trident, kraken tentacle, RPO Launcher, and Star Coral

- Kraken's Grasp: throwable trident upgrade with innate configurable
  Loyalty, always-on lightning strikes, and Kraken Tentacle spawns on
  landing that grab/slow/damage nearby entities in an area
- Kraken Tentacle item/entity, added as a Kraken loot drop
- RPO Launcher: Squidzooka-style weapon firing Octopus Bombs that fall
  under gravity and detonate in an ink explosion on impact
- Star Coral: full alive/dead coral block set (plant/fan/wall fan/block)
  with light emission and natural ocean worldgen generation
- Supporting config, tags, recipes, advancements, lang, and creative
  tab entries for all of the above
This commit is contained in:
craisinlord committed 2026-07-15 22:30:12 -05:00
1 parent e89869d68a
commit 246e511597
204 files changed
+7622 -54

No files matched your search

@@ -259,6 +259,16 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setBigBerthaBasiliskCooldownSeconds(AntarchyToolsConfig.bigBerthaBasiliskCooldownSeconds());
AntarchySettings.setBigBerthaLucidInvertedDurationSeconds(AntarchyToolsConfig.bigBerthaLucidInvertedDurationSeconds());
AntarchySettings.setBigBerthaLucidInvertedDamageBonusPercent(AntarchyToolsConfig.bigBerthaLucidInvertedDamageBonusPercent());
AntarchySettings.setKrakensGraspAttackDamage(AntarchyToolsConfig.krakensGraspAttackDamage());
AntarchySettings.setKrakensGraspAttackSpeed(AntarchyToolsConfig.krakensGraspAttackSpeed());
AntarchySettings.setKrakensGraspThrownDamage(AntarchyToolsConfig.krakensGraspThrownDamage());
AntarchySettings.setKrakensGraspLightningDamage(AntarchyToolsConfig.krakensGraspLightningDamage());
AntarchySettings.setKrakensGraspInnateLoyalty(AntarchyToolsConfig.krakensGraspInnateLoyalty());
AntarchySettings.setKrakensGraspInnateLoyaltyLevel(AntarchyToolsConfig.krakensGraspInnateLoyaltyLevel());
AntarchySettings.setKrakensGraspTentacleDurationTicks(AntarchyToolsConfig.krakensGraspTentacleDurationTicks());
AntarchySettings.setKrakensGraspTentacleDamage(AntarchyToolsConfig.krakensGraspTentacleDamage());
AntarchySettings.setKrakensGraspTentacleRadius(AntarchyToolsConfig.krakensGraspTentacleRadius());
AntarchySettings.setKrakensGraspTentacleDamageIntervalTicks(AntarchyToolsConfig.krakensGraspTentacleDamageIntervalTicks());
AntarchySettings.setScorpionWhipBaseDamage(AntarchyToolsConfig.scorpionWhipBaseDamage());
AntarchySettings.setScorpionWhipReachBonus(AntarchyToolsConfig.scorpionWhipReachBonus());
AntarchySettings.setScorpionWhipPoisonDurationTicks(AntarchyToolsConfig.scorpionWhipPoisonDurationTicks());
@@ -292,6 +302,10 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setSquidzookaCooldownSeconds(AntarchyToolsConfig.squidzookaCooldownSeconds());
AntarchySettings.setSquidzookaLaunchVelocity(AntarchyToolsConfig.squidzookaLaunchVelocity());
AntarchySettings.setRpoLauncherCooldownSeconds(AntarchyToolsConfig.rpoLauncherCooldownSeconds());
AntarchySettings.setRpoLauncherLaunchVelocity(AntarchyToolsConfig.rpoLauncherLaunchVelocity());
AntarchySettings.setRpoLauncherExplosionDamage(AntarchyToolsConfig.rpoLauncherExplosionDamage());
AntarchySettings.setRpoLauncherExplosionRadius(AntarchyToolsConfig.rpoLauncherExplosionRadius());
AntarchySettings.setSizeChangingRaysEnabled(AntarchyToolsConfig.sizeChangingRaysEnabled());
AntarchySettings.setSizeRayCooldownSeconds(AntarchyToolsConfig.sizeRayCooldownSeconds());
@@ -283,6 +283,7 @@ public class AntarchyNeoforge {
() -> AntarchyNeoforgeBlocks.HUSHWEED.get(),
() -> AntarchyNeoforgeBlocks.OURANWOOD_SQUIRREL_NEST.get(),
() -> AntarchyNeoforgeBlocks.BRUTALFLY_COCOON_SPAWNER.get(),
() -> AntarchyNeoforgeBlocks.GIANT_LILY_PAD.get(),
() -> AntarchyNeoforgeBlocks.ANT_NEST_BLOCK_ENTITY.get(),
() -> AntarchyNeoforgeBlocks.DREAM_CAMPFIRE_BLOCK_ENTITY.get(),
() -> AntarchyNeoforgeBlocks.WASP_NEST_BLOCK_ENTITY.get(),
@@ -295,6 +296,10 @@ public class AntarchyNeoforge {
() -> AntarchyNeoforgeMisc.BLOODGLASS_WARD
);
AntarchyObjects.setOctopusBomb(AntarchyNeoforgeEntites.OCTOPUS_BOMB);
AntarchyObjects.setTentacle(AntarchyNeoforgeEntites.TENTACLE);
AntarchyObjects.setKrakensGraspTrident(AntarchyNeoforgeEntites.KRAKENS_GRASP_TRIDENT);
AntarchyObjects.setKrakenTentacle(() -> AntarchyNeoforgeItems.KRAKEN_TENTACLE.get());
AntarchyObjects.setKrakensGrasp(() -> AntarchyNeoforgeItems.KRAKENS_GRASP.get());
AntarchyObjects.setOuranwoodDeer(AntarchyNeoforgeEntites.OURANWOOD_DEER);
AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER);
AntarchyObjects.setSpiritApple(() -> AntarchyNeoforgeItems.SPIRIT_APPLE.get());
@@ -302,6 +307,9 @@ public class AntarchyNeoforge {
AntarchyObjects.setPeach(() -> AntarchyNeoforgeItems.PEACH.get());
AntarchyObjects.setCorn(() -> AntarchyNeoforgeItems.CORN.get());
AntarchyObjects.setCornSeeds(() -> AntarchyNeoforgeItems.CORN_SEEDS.get());
AntarchyObjects.setStarCoralBlock(() -> AntarchyNeoforgeBlocks.STAR_CORAL_BLOCK.get());
AntarchyObjects.setStarCoral(() -> AntarchyNeoforgeBlocks.STAR_CORAL.get());
AntarchyObjects.setStarCoralFan(() -> AntarchyNeoforgeBlocks.STAR_CORAL_FAN.get());
AntarchyObjects.setCookedCorndog(() -> AntarchyNeoforgeItems.COOKED_CORNDOG.get());
AntarchyObjects.setGlimmerBottle(() -> AntarchyNeoforgeItems.GLIMMER_BOTTLE.get());
AntarchyObjects.setGlimmerVariantComponent(() -> AntarchyNeoforgeMisc.GLIMMER_VARIANT.get());
@@ -79,6 +79,16 @@ public final class AntarchyToolsConfig {
private static final ModConfigSpec.DoubleValue BIG_BERTHA_ATTACK_DAMAGE;
private static final ModConfigSpec.DoubleValue BIG_BERTHA_REACH_BONUS;
private static final ModConfigSpec.DoubleValue BIG_BERTHA_ATTACK_SPEED;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_ATTACK_DAMAGE;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_ATTACK_SPEED;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_THROWN_DAMAGE;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_LIGHTNING_DAMAGE;
private static final ModConfigSpec.BooleanValue KRAKENS_GRASP_INNATE_LOYALTY;
private static final ModConfigSpec.IntValue KRAKENS_GRASP_INNATE_LOYALTY_LEVEL;
private static final ModConfigSpec.IntValue KRAKENS_GRASP_TENTACLE_DURATION_TICKS;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_TENTACLE_DAMAGE;
private static final ModConfigSpec.DoubleValue KRAKENS_GRASP_TENTACLE_RADIUS;
private static final ModConfigSpec.IntValue KRAKENS_GRASP_TENTACLE_DAMAGE_INTERVAL_TICKS;
private static final ModConfigSpec.IntValue BIG_BERTHA_BASILISK_PARALYZE_DURATION_TICKS;
private static final ModConfigSpec.IntValue BIG_BERTHA_KRAKEN_SLOW_TICKS;
private static final ModConfigSpec.DoubleValue BIG_BERTHA_BASILISK_COOLDOWN_SECONDS;
@@ -145,6 +155,10 @@ public final class AntarchyToolsConfig {
private static final ModConfigSpec.DoubleValue SQUIDZOOKA_COOLDOWN_SECONDS;
private static final ModConfigSpec.DoubleValue SQUIDZOOKA_LAUNCH_VELOCITY;
private static final ModConfigSpec.DoubleValue RPO_LAUNCHER_COOLDOWN_SECONDS;
private static final ModConfigSpec.DoubleValue RPO_LAUNCHER_LAUNCH_VELOCITY;
private static final ModConfigSpec.DoubleValue RPO_LAUNCHER_EXPLOSION_DAMAGE;
private static final ModConfigSpec.DoubleValue RPO_LAUNCHER_EXPLOSION_RADIUS;
// Size Rays
@@ -303,6 +317,19 @@ public final class AntarchyToolsConfig {
BIG_BERTHA_LUCID_INVERTED_DAMAGE_BONUS_PERCENT = b.comment("Bonus damage percent from Lucid mode while the wielder is inverted.") .defineInRange("lucidModeInvertedDamageBonusPercent", 25.0D, 0.0D, 1000.0D);
b.pop();
b.push("krakensGrasp");
KRAKENS_GRASP_ATTACK_DAMAGE = b.comment("Melee attack damage of Kraken's Grasp.") .defineInRange("attackDamage", 16.0D, 0.0D, 4096.0D);
KRAKENS_GRASP_ATTACK_SPEED = b.comment("Attack speed of Kraken's Grasp.") .defineInRange("attackSpeed", -2.9D, -10.0D, 10.0D);
KRAKENS_GRASP_THROWN_DAMAGE = b.comment("Damage dealt when the thrown trident hits an entity.") .defineInRange("thrownDamage", 16.0D, 0.0D, 4096.0D);
KRAKENS_GRASP_LIGHTNING_DAMAGE = b.comment("Bonus damage from the lightning strike on every hit.") .defineInRange("lightningDamage", 6.0D, 0.0D, 4096.0D);
KRAKENS_GRASP_INNATE_LOYALTY = b.comment("Whether Kraken's Grasp automatically returns to its thrower like an enchanted Loyalty trident.").define("innateLoyalty", true);
KRAKENS_GRASP_INNATE_LOYALTY_LEVEL = b.comment("Effective Loyalty level used for the innate return, from 1 to 3.") .defineInRange("innateLoyaltyLevel", 3, 1, 3);
KRAKENS_GRASP_TENTACLE_DURATION_TICKS = b.comment("How long a summoned tentacle lasts, in ticks.") .defineInRange("tentacleDurationTicks", 100, 1, 72000);
KRAKENS_GRASP_TENTACLE_DAMAGE = b.comment("Damage a tentacle deals per damage interval to nearby entities.") .defineInRange("tentacleDamage", 3.0D, 0.0D, 4096.0D);
KRAKENS_GRASP_TENTACLE_RADIUS = b.comment("Radius in blocks around a tentacle that it can grab and damage.") .defineInRange("tentacleRadius", 3.0D, 0.0D, 32.0D);
KRAKENS_GRASP_TENTACLE_DAMAGE_INTERVAL_TICKS = b.comment("How often, in ticks, a tentacle damages nearby entities.") .defineInRange("tentacleDamageIntervalTicks", 20, 1, 2000);
b.pop();
b.push("scorpionWhip");
SCORPION_WHIP_BASE_DAMAGE = b.comment("Base lash damage of the Scorpion Stinger Whip.").defineInRange("baseDamage", 10.0D, 0.0D, 4096.0D);
SCORPION_WHIP_REACH_BONUS = b.comment("Extra entity interaction range in blocks while held in main hand.").defineInRange("reachBonus", 5.0D, 0.0D, 32.0D);
@@ -393,6 +420,13 @@ public final class AntarchyToolsConfig {
SQUIDZOOKA_LAUNCH_VELOCITY = b.comment("Initial launch velocity applied to the Missile Squid.") .defineInRange("launchVelocity", 2.1D, 0.1D, 20.0D);
b.pop();
b.push("rpoLauncher");
RPO_LAUNCHER_COOLDOWN_SECONDS = b.comment("Cooldown in seconds after firing. Set to 0 to disable.").defineInRange("cooldownSeconds", 1.0D, 0.0D, 3600.0D);
RPO_LAUNCHER_LAUNCH_VELOCITY = b.comment("Initial launch velocity applied to the Octopus Bomb.") .defineInRange("launchVelocity", 2.1D, 0.1D, 20.0D);
RPO_LAUNCHER_EXPLOSION_DAMAGE = b.comment("Max damage dealt at the center of the ink explosion.") .defineInRange("explosionDamage", 14.0D, 0.0D, 4096.0D);
RPO_LAUNCHER_EXPLOSION_RADIUS = b.comment("Radius in blocks of the ink explosion.") .defineInRange("explosionRadius", 4.0D, 0.5D, 32.0D);
b.pop();
// Size Rays
@@ -543,6 +577,17 @@ public final class AntarchyToolsConfig {
static double bigBerthaBasiliskCooldownSeconds() { return BIG_BERTHA_BASILISK_COOLDOWN_SECONDS.get(); }
static double bigBerthaLucidInvertedDurationSeconds() { return BIG_BERTHA_LUCID_INVERTED_DURATION_SECONDS.get(); }
static double bigBerthaLucidInvertedDamageBonusPercent(){ return BIG_BERTHA_LUCID_INVERTED_DAMAGE_BONUS_PERCENT.get(); }
static double krakensGraspAttackDamage() { return KRAKENS_GRASP_ATTACK_DAMAGE.get(); }
static double krakensGraspAttackSpeed() { return KRAKENS_GRASP_ATTACK_SPEED.get(); }
static double krakensGraspThrownDamage() { return KRAKENS_GRASP_THROWN_DAMAGE.get(); }
static double krakensGraspLightningDamage() { return KRAKENS_GRASP_LIGHTNING_DAMAGE.get(); }
static boolean krakensGraspInnateLoyalty() { return KRAKENS_GRASP_INNATE_LOYALTY.get(); }
static int krakensGraspInnateLoyaltyLevel() { return KRAKENS_GRASP_INNATE_LOYALTY_LEVEL.get(); }
static int krakensGraspTentacleDurationTicks() { return KRAKENS_GRASP_TENTACLE_DURATION_TICKS.get(); }
static double krakensGraspTentacleDamage() { return KRAKENS_GRASP_TENTACLE_DAMAGE.get(); }
static double krakensGraspTentacleRadius() { return KRAKENS_GRASP_TENTACLE_RADIUS.get(); }
static int krakensGraspTentacleDamageIntervalTicks() { return KRAKENS_GRASP_TENTACLE_DAMAGE_INTERVAL_TICKS.get(); }
static double scorpionWhipBaseDamage() { return SCORPION_WHIP_BASE_DAMAGE.get(); }
static double scorpionWhipReachBonus() { return SCORPION_WHIP_REACH_BONUS.get(); }
static int scorpionWhipPoisonDurationTicks() { return SCORPION_WHIP_POISON_DURATION_TICKS.get(); }
@@ -592,6 +637,10 @@ public final class AntarchyToolsConfig {
static double squidzookaCooldownSeconds() { return SQUIDZOOKA_COOLDOWN_SECONDS.get(); }
static double squidzookaLaunchVelocity() { return SQUIDZOOKA_LAUNCH_VELOCITY.get(); }
static double rpoLauncherCooldownSeconds() { return RPO_LAUNCHER_COOLDOWN_SECONDS.get(); }
static double rpoLauncherLaunchVelocity() { return RPO_LAUNCHER_LAUNCH_VELOCITY.get(); }
static double rpoLauncherExplosionDamage() { return RPO_LAUNCHER_EXPLOSION_DAMAGE.get(); }
static double rpoLauncherExplosionRadius() { return RPO_LAUNCHER_EXPLOSION_RADIUS.get(); }
static boolean sizeChangingRaysEnabled() { return SIZE_CHANGING_RAYS_ENABLED.get(); }
static double sizeRayCooldownSeconds() { return SIZE_RAY_COOLDOWN_SECONDS.get(); }
@@ -110,6 +110,8 @@ public final class AntarchyNeoForgeClient {
event.registerEntityRenderer(AntarchyNeoforgeEntites.DR_TRAYAURUS.get(), context -> new DrTrayaurusRenderer(context, DR_TRAYAURUS_TEXTURE));
event.registerEntityRenderer(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), context -> withParalyzedGeoLayer(new CloudSharkRenderer(context)));
event.registerEntityRenderer(AntarchyNeoforgeEntites.KRAKEN.get(), context -> withParalyzedGeoLayer(new KrakenRenderer(context)));
event.registerEntityRenderer(AntarchyNeoforgeEntites.TENTACLE.get(), com.craisinlord.antarchy.content.client.renderer.TentacleRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.KRAKENS_GRASP_TRIDENT.get(), ThrownItemRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.MISSILE_SQUID.get(), context -> withParalyzedGeoLayer(new MissileSquidRenderer(context)));
event.registerEntityRenderer(AntarchyNeoforgeEntites.OCTOPUS_BOMB.get(), context -> withParalyzedGeoLayer(new OctopusBombRenderer(context)));
event.registerEntityRenderer(AntarchyNeoforgeEntites.NIGHTMARE.get(), context -> withParalyzedGeoLayer(new NightmareRenderer(context)));
@@ -122,6 +124,7 @@ public final class AntarchyNeoForgeClient {
event.registerEntityRenderer(AntarchyNeoforgeEntites.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.LUCID_BOLT.get(), LucidBoltRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.KRAKENS_GRASP_TRIDENT.get(), ThrownItemRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.HUSH_PROJECTILE.get(), HushProjectileRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.UPWARD_FALLING_BLOCK.get(), com.craisinlord.antarchy.content.client.renderer.UpwardFallingBlockRenderer::new);
@@ -469,6 +472,7 @@ public final class AntarchyNeoForgeClient {
registerGeoItemExtensionSizeRay(event, AntarchyNeoforgeItems.GROWTH_RAY.get());
registerGeoItemExtension(event, AntarchyNeoforgeItems.GRAVITY_GUN.get(), HumanoidModel.ArmPose.CROSSBOW_HOLD);
registerGeoItemExtension(event, AntarchyNeoforgeItems.SQUIDZOOKA.get(), HumanoidModel.ArmPose.CROSSBOW_HOLD);
registerGeoItemExtension(event, AntarchyNeoforgeItems.RPO_LAUNCHER.get(), HumanoidModel.ArmPose.CROSSBOW_HOLD);
registerGeoItemExtension(event, AntarchyNeoforgeItems.WATER_CANNON.get(), HumanoidModel.ArmPose.CROSSBOW_HOLD);
registerGeoItemExtension(event, AntarchyNeoforgeItems.BATTLE_AXE.get());
registerGeoItemExtension(event, AntarchyNeoforgeItems.BIG_BERTHA.get());
@@ -493,6 +497,7 @@ public final class AntarchyNeoForgeClient {
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CAMELLIA.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.SPIDER_LILY.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.GIANT_LILY_PAD.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.HUSHWEED.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORNEA_STALK.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORN_CROP.get(), RenderType.cutout());
@@ -500,6 +505,12 @@ public final class AntarchyNeoForgeClient {
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.STAR_CORAL.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.STAR_CORAL_FAN.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL_FAN.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL_WALL_FAN.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.SMALL_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.MEDIUM_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.LARGE_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
@@ -1153,6 +1153,7 @@ public final class AntarchyNeoForgeEvents {
DispenserBlock.registerBehavior(AntarchyNeoforgeItems.SHRINK_RAY.get(), new com.craisinlord.antarchy.content.SizeRayDispenseBehavior());
DispenserBlock.registerBehavior(AntarchyNeoforgeItems.GROWTH_RAY.get(), new com.craisinlord.antarchy.content.SizeRayDispenseBehavior());
DispenserBlock.registerBehavior(AntarchyNeoforgeItems.SQUIDZOOKA.get(), new com.craisinlord.antarchy.content.SquidzookaDispenseBehavior());
DispenserBlock.registerBehavior(AntarchyNeoforgeItems.RPO_LAUNCHER.get(), new com.craisinlord.antarchy.content.RpoLauncherDispenseBehavior());
DispenserBlock.registerBehavior(AntarchyNeoforgeItems.WATER_CANNON.get(), new com.craisinlord.antarchy.content.WaterCannonDispenseBehavior());
LucidEyeProjectileEntity.defaultItemSupplier = () -> AntarchyNeoforgeItems.LUCID_PEARL.get();
LucidEntity.invertedEffectSupplier = () -> AntarchyNeoforgeMisc.INVERTED;
@@ -89,6 +89,8 @@ public final class AntarchyNeoforgeBlocks {
() -> new com.craisinlord.antarchy.content.block.CamelliaBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.SpiderLilyBlock> SPIDER_LILY = BLOCKS.register("spider_lily",
() -> new com.craisinlord.antarchy.content.block.SpiderLilyBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POPPY)));
public static final DeferredBlock<GiantLilyPadBlock> GIANT_LILY_PAD = BLOCKS.register("giant_lily_pad",
() -> new GiantLilyPadBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LILY_PAD)));
public static final DeferredBlock<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
() -> new StandingSignBlock(AntarchyWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
public static final DeferredBlock<WallSignBlock> OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign",
@@ -399,6 +401,22 @@ public final class AntarchyNeoforgeBlocks {
() -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SMOOTH_SANDSTONE_SLAB)));
public static final DeferredBlock<SlabBlock> CUT_DREAM_SANDSTONE_SLAB = BLOCKS.register("cut_dream_sandstone_slab",
() -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CUT_SANDSTONE_SLAB)));
public static final DeferredBlock<Block> DEAD_STAR_CORAL_BLOCK = BLOCKS.register("dead_star_coral_block",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_BLOCK)));
public static final DeferredBlock<net.minecraft.world.level.block.BaseCoralPlantBlock> DEAD_STAR_CORAL = BLOCKS.register("dead_star_coral",
() -> new net.minecraft.world.level.block.BaseCoralPlantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL)));
public static final DeferredBlock<net.minecraft.world.level.block.BaseCoralFanBlock> DEAD_STAR_CORAL_FAN = BLOCKS.register("dead_star_coral_fan",
() -> new net.minecraft.world.level.block.BaseCoralFanBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_FAN)));
public static final DeferredBlock<net.minecraft.world.level.block.BaseCoralWallFanBlock> DEAD_STAR_CORAL_WALL_FAN = BLOCKS.register("dead_star_coral_wall_fan",
() -> new net.minecraft.world.level.block.BaseCoralWallFanBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_WALL_FAN)));
public static final DeferredBlock<Block> STAR_CORAL_BLOCK = BLOCKS.register("star_coral_block",
() -> new com.craisinlord.antarchy.content.block.StarCoralBlock(DEAD_STAR_CORAL_BLOCK.get(), BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_BLOCK).lightLevel(state -> 8)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.StarCoralPlantBlock> STAR_CORAL = BLOCKS.register("star_coral",
() -> new com.craisinlord.antarchy.content.block.StarCoralPlantBlock(DEAD_STAR_CORAL.get(), BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL).lightLevel(state -> 8)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.StarCoralFanBlock> STAR_CORAL_FAN = BLOCKS.register("star_coral_fan",
() -> new com.craisinlord.antarchy.content.block.StarCoralFanBlock(DEAD_STAR_CORAL_FAN.get(), BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_FAN).lightLevel(state -> 8)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.StarCoralWallFanBlock> STAR_CORAL_WALL_FAN = BLOCKS.register("star_coral_wall_fan",
() -> new com.craisinlord.antarchy.content.block.StarCoralWallFanBlock(DEAD_STAR_CORAL_WALL_FAN.get(), BlockBehaviour.Properties.ofFullCopy(Blocks.TUBE_CORAL_WALL_FAN).lightLevel(state -> 8)));
// Block entity types
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<AntNestBlockEntity>> ANT_NEST_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("ant_nest",
@@ -100,6 +100,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
event.accept(AntarchyNeoforgeItems.PINK_MILKWEED_ITEM.get());
event.accept(AntarchyNeoforgeItems.CAMELLIA_ITEM.get());
event.accept(AntarchyNeoforgeItems.SPIDER_LILY_ITEM.get());
event.accept(AntarchyNeoforgeItems.GIANT_LILY_PAD_ITEM.get());
event.accept(AntarchyNeoforgeItems.HUSHWEED_ITEM.get());
event.accept(AntarchyNeoforgeItems.INFESTED_ROOTED_DIRT_ITEM.get());
event.accept(AntarchyNeoforgeItems.INFESTED_COARSE_DIRT_ITEM.get());
@@ -116,6 +117,12 @@ public class AntarchyNeoforgeCreativeModeTabs {
event.accept(AntarchyNeoforgeItems.LUMEN_FROGLIGHT_ITEM.get());
event.accept(AntarchyNeoforgeItems.ROSEATE_FROGLIGHT_ITEM.get());
event.accept(AntarchyNeoforgeItems.CORN_SEEDS.get());
event.accept(AntarchyNeoforgeItems.STAR_CORAL_ITEM.get());
event.accept(AntarchyNeoforgeItems.STAR_CORAL_FAN_ITEM.get());
event.accept(AntarchyNeoforgeItems.STAR_CORAL_BLOCK_ITEM.get());
event.accept(AntarchyNeoforgeItems.DEAD_STAR_CORAL_ITEM.get());
event.accept(AntarchyNeoforgeItems.DEAD_STAR_CORAL_FAN_ITEM.get());
event.accept(AntarchyNeoforgeItems.DEAD_STAR_CORAL_BLOCK_ITEM.get());
}
if (event.getTabKey() == CreativeModeTabs.TOOLS_AND_UTILITIES) {
@@ -163,6 +170,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
event.accept(AntarchyNeoforgeItems.VORTEX_EYE.get());
event.accept(AntarchyNeoforgeItems.EMPEROR_SCORPION_STINGER.get());
event.accept(AntarchyNeoforgeItems.KRAKEN_TOOTH.get());
event.accept(AntarchyNeoforgeItems.KRAKEN_TENTACLE.get());
event.accept(AntarchyNeoforgeItems.JUMPY_BUG_LEG.get());
event.accept(AntarchyNeoforgeItems.CORNEA_EAR.get());
event.accept(AntarchyNeoforgeItems.CORN.get());
@@ -316,6 +324,8 @@ public class AntarchyNeoforgeCreativeModeTabs {
event.accept(UltimateGearHelper.createUltimateBowStack(AntarchyNeoforgeItems.ULTIMATE_BOW.get(), event.getParameters().holders()));
event.accept(AntarchyNeoforgeItems.ULTIMATE_CROSSBOW.get());
event.accept(AntarchyNeoforgeItems.SQUIDZOOKA.get());
event.accept(AntarchyNeoforgeItems.RPO_LAUNCHER.get());
event.accept(AntarchyNeoforgeItems.KRAKENS_GRASP.get());
event.accept(AntarchyNeoforgeItems.SHRINK_RAY.get());
event.accept(AntarchyNeoforgeItems.GROWTH_RAY.get());
event.accept(AntarchyNeoforgeItems.GRAVITY_GUN.get());
@@ -47,6 +47,8 @@ import com.craisinlord.antarchy.content.entity.brutalfly.BrutalflyEntity;
import com.craisinlord.antarchy.content.entity.brutalfly.BrutalflyOrbEntity;
import com.craisinlord.antarchy.content.entity.flying_squirrel.FlyingSquirrelEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakensGraspThrownTrident;
import com.craisinlord.antarchy.content.entity.kraken.TentacleEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
@@ -250,6 +252,20 @@ public final class AntarchyNeoforgeEntites {
.clientTrackingRange(8)
.updateInterval(1)
.build("lucid_bolt"));
public static final DeferredHolder<EntityType<?>, EntityType<KrakensGraspThrownTrident>> KRAKENS_GRASP_TRIDENT = ENTITY_TYPES.register("krakens_grasp_trident",
() -> EntityType.Builder.<KrakensGraspThrownTrident>of(KrakensGraspThrownTrident::new, MobCategory.MISC)
.sized(0.5F, 0.5F)
.clientTrackingRange(8)
.updateInterval(1)
.build("krakens_grasp_trident"));
public static final DeferredHolder<EntityType<?>, EntityType<TentacleEntity>> TENTACLE = ENTITY_TYPES.register("tentacle",
() -> EntityType.Builder.of(TentacleEntity::new, MobCategory.MISC)
.sized(1.2F, 4.5F)
.clientTrackingRange(10)
.build("tentacle"));
public static final DeferredHolder<EntityType<?>, EntityType<ScorpionEntity>> SCORPION = ENTITY_TYPES.register("scorpion",
() -> EntityType.Builder.of(ScorpionEntity::new, MobCategory.MONSTER)
.sized(1.5F, 1.0F)
@@ -9,6 +9,7 @@ import com.craisinlord.antarchy.content.entity.brutalfly.BrutalflyEntity;
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
import com.craisinlord.antarchy.content.entity.flying_squirrel.FlyingSquirrelEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
import com.craisinlord.antarchy.content.entity.kraken.TentacleEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
@@ -51,6 +52,7 @@ public class AntarchyNeoforgeEntityAttributes {
event.put(AntarchyNeoforgeEntites.KRAKEN.get(), KrakenEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.MISSILE_SQUID.get(), MissileSquidEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.OCTOPUS_BOMB.get(), OctopusBombEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.TENTACLE.get(), TentacleEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.NIGHTMARE.get(), NightmareEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.BED_BUG.get(), BedBugEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.WASP.get(), WaspEntity.createAttributes().build());
@@ -29,6 +29,7 @@ import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.*;
import net.minecraft.world.item.PlaceOnWaterBlockItem;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.neoforged.bus.api.IEventBus;
@@ -178,6 +179,8 @@ public final class AntarchyNeoforgeItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PINK_MILKWEED);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CAMELLIA_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CAMELLIA);
public static final DeferredItem<net.minecraft.world.item.BlockItem> SPIDER_LILY_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.SPIDER_LILY);
public static final DeferredItem<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad",
() -> new PlaceOnWaterBlockItem(AntarchyNeoforgeBlocks.GIANT_LILY_PAD.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.SignItem> OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign",
() -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyNeoforgeBlocks.OURANWOOD_SIGN.get(), AntarchyNeoforgeBlocks.OURANWOOD_WALL_SIGN.get()));
public static final DeferredItem<net.minecraft.world.item.HangingSignItem> OURANWOOD_HANGING_SIGN_ITEM = ITEMS.register("ouranwood_hanging_sign",
@@ -248,6 +251,12 @@ public final class AntarchyNeoforgeItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> SMOOTH_DREAM_SANDSTONE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.SMOOTH_DREAM_SANDSTONE_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> SMOOTH_DREAM_SANDSTONE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.SMOOTH_DREAM_SANDSTONE_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CUT_DREAM_SANDSTONE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CUT_DREAM_SANDSTONE_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> DEAD_STAR_CORAL_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL_BLOCK);
public static final DeferredItem<net.minecraft.world.item.BlockItem> DEAD_STAR_CORAL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> DEAD_STAR_CORAL_FAN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DEAD_STAR_CORAL_FAN);
public static final DeferredItem<net.minecraft.world.item.BlockItem> STAR_CORAL_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.STAR_CORAL_BLOCK);
public static final DeferredItem<net.minecraft.world.item.BlockItem> STAR_CORAL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.STAR_CORAL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> STAR_CORAL_FAN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.STAR_CORAL_FAN);
public static final DeferredItem<net.minecraft.world.item.BlockItem> DUCT_TAPE_ITEM = ITEMS.register("duct_tape",
() -> new DuctTapeBlockItem(AntarchyNeoforgeBlocks.DUCT_TAPE.get(), new Item.Properties().stacksTo(1)));
public static final DeferredItem<net.minecraft.world.item.BlockItem> INFESTED_ROOTED_DIRT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.INFESTED_ROOTED_DIRT);
@@ -567,6 +576,8 @@ public final class AntarchyNeoforgeItems {
// () -> new MinersDreamItem(new Item.Properties().stacksTo(1).rarity(Rarity.RARE)));
public static final DeferredItem<SquidzookaItem> SQUIDZOOKA = ITEMS.register("squidzooka",
() -> new SquidzookaItem(new Item.Properties().stacksTo(1).durability(384).rarity(Rarity.RARE)));
public static final DeferredItem<RpoLauncherItem> RPO_LAUNCHER = ITEMS.register("rpo_launcher",
() -> new RpoLauncherItem(new Item.Properties().stacksTo(1).durability(384).rarity(Rarity.RARE)));
public static final DeferredItem<BattleAxeItem> BATTLE_AXE = ITEMS.register("battle_axe",
() -> new BattleAxeItem(Tiers.NETHERITE,
new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant(),
@@ -585,6 +596,13 @@ public final class AntarchyNeoforgeItems {
() -> new BigBerthaItem(Tiers.NETHERITE,
new Item.Properties().stacksTo(1).rarity(Rarity.EPIC).fireResistant()));
public static final DeferredItem<Item> KRAKEN_TENTACLE = ITEMS.registerSimpleItem("kraken_tentacle",
new Item.Properties().rarity(Rarity.RARE));
public static final DeferredItem<KrakensGraspItem> KRAKENS_GRASP = ITEMS.register("krakens_grasp",
() -> new KrakensGraspItem(
new Item.Properties().stacksTo(1).durability(250).rarity(Rarity.EPIC).fireResistant()));
// Spawn eggs
public static final DeferredItem<DeferredSpawnEggItem> EASTER_BUNNY_SPAWN_EGG = ITEMS.register("easter_bunny_spawn_egg",
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EASTER_BUNNY, 0xFFF2B2, 0xFF85B5, new Item.Properties()));
@@ -239,6 +239,8 @@ public final class AntarchyNeoforgeMisc {
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FLOWER_FOREST_MILKWEED));
public static final DeferredHolder<Feature<?>, CornPatchFeature> CORN_PATCH = FEATURES.register("corn_patch",
() -> new CornPatchFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.ocean.StarCoralPatchFeature> STAR_CORAL_PATCH = FEATURES.register("star_coral_patch",
() -> new com.craisinlord.antarchy.content.worldgen.ocean.StarCoralPatchFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_BUTTERFLY_FIELDS_FLORA = FEATURES.register("butterfly_fields_flora",
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.BUTTERFLY_FIELDS));
public static final DeferredHolder<Feature<?>, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover",
@@ -0,0 +1,25 @@
{
"loader": "neoforge:separate_transforms",
"gui_light": "front",
"textures": {
"layer0": "antarchy:item/krakens_grasp/krakens_grasp_item"
},
"base": {
"parent": "antarchy:item/krakens_grasp_held"
},
"texture_size": [
64,
64
],
"perspectives": {
"gui": {
"parent": "antarchy:item/krakens_grasp_gui"
},
"ground": {
"parent": "antarchy:item/krakens_grasp_gui"
},
"fixed": {
"parent": "antarchy:item/krakens_grasp_gui"
}
}
}
@@ -0,0 +1,18 @@
{
"loader": "neoforge:separate_transforms",
"gui_light": "front",
"base": {
"parent": "antarchy:item/rpo_launcher_held_geo"
},
"perspectives": {
"gui": {
"parent": "antarchy:item/rpo_launcher_gui"
},
"ground": {
"parent": "antarchy:item/rpo_launcher_gui"
},
"fixed": {
"parent": "antarchy:item/rpo_launcher_gui"
}
}
}
@@ -0,0 +1,6 @@
{
"type": "neoforge:add_features",
"biomes": "#antarchy:has_star_coral",
"features": ["antarchy:star_coral_patch"],
"step": "vegetal_decoration"
}