Merge beta7 into master

This commit is contained in:
craisinlord committed 2026-07-09 20:16:39 -05:00
commit 0db80e3cb7
335 files changed
+18289 -8157

No files matched your search

+3
View File
@@ -37,6 +37,9 @@ dependencies {
compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar")))
modLocalRuntime(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar")))
compileOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")))
runtimeOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")))
modLocalRuntime("com.telepathicgrunt:CommandStructures-Neoforge:${project.commandstructures_neoforge}")
modLocalRuntime("com.telepathicgrunt:StructureVoidToggle-Neoforge:${project.structurevoidtoggle_neoforge}")
@@ -116,6 +116,12 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setAlphaMantisSummonIntervalTicks(AntarchyMobsConfig.alphaMantisSummonIntervalTicks());
AntarchySettings.setAlphaMantisMaxMinions(AntarchyMobsConfig.alphaMantisMaxMinions());
AntarchySettings.setRollyPollyHealth(AntarchyMobsConfig.rollyPollyHealth());
AntarchySettings.setRollyPollyMovementSpeed(AntarchyMobsConfig.rollyPollyMovementSpeed());
AntarchySettings.setRollyPollyRollSpeedMultiplier(AntarchyMobsConfig.rollyPollyRollSpeedMultiplier());
AntarchySettings.setRollyPollyTumbleDamage(AntarchyMobsConfig.rollyPollyTumbleDamage());
AntarchySettings.setRollyPollyTameChance(AntarchyMobsConfig.rollyPollyTameChance());
AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth());
AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage());
AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage());
@@ -193,6 +199,7 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setHerculesBeetleHealth(AntarchyMobsConfig.herculesBeetleHealth());
AntarchySettings.setHerculesBeetleAttackDamage(AntarchyMobsConfig.herculesBeetleAttackDamage());
AntarchySettings.setHerculesBeetleChargeDamage(AntarchyMobsConfig.herculesBeetleChargeDamage());
AntarchySettings.setGlimmerHealth(AntarchyMobsConfig.glimmerHealth());
}
private static void bakeToolsConfig() {
@@ -327,6 +334,11 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setDiamondMinecartCoastDeceleration(AntarchyMiscConfig.diamondMinecartCoastDeceleration());
AntarchySettings.setDiamondMinecartMobDamageEnabled(AntarchyMiscConfig.diamondMinecartMobDamageEnabled());
AntarchySettings.setDiamondMinecartMaxMobDamage(AntarchyMiscConfig.diamondMinecartMaxMobDamage());
AntarchySettings.setPermanentPortalsEnabled(AntarchyMiscConfig.permanentPortalsEnabled());
AntarchySettings.setPermanentPortalsFlintAndSteelEnabled(AntarchyMiscConfig.permanentPortalsFlintAndSteelEnabled());
AntarchySettings.setElythiaPortalEnabled(AntarchyMiscConfig.elythiaPortalEnabled());
AntarchySettings.setThoraxisPortalEnabled(AntarchyMiscConfig.thoraxisPortalEnabled());
AntarchySettings.setCavarynPortalEnabled(AntarchyMiscConfig.cavarynPortalEnabled());
// Misc
@@ -344,6 +356,7 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setDuplicatorTreeEnabled(AntarchyMiscConfig.duplicatorTreeEnabled());
AntarchySettings.setGlowingTorchflowers(AntarchyMiscConfig.glowingTorchflowers());
AntarchySettings.setGlowVinesUnderLeaves(AntarchyMiscConfig.glowVinesUnderLeaves());
AntarchySettings.setSwingThroughGrassEnabled(AntarchyMiscConfig.swingThroughGrassEnabled());
AntarchySettings.setEntitySpecificFireOverlayEnabled(AntarchyMiscConfig.entitySpecificFireOverlayEnabled());
AntarchySettings.setBloodCrystalArmorShieldRechargeTicks(AntarchyToolsConfig.bloodCrystalArmorShieldRechargeTicks());
@@ -25,6 +25,13 @@ public final class AntarchyMiscConfig {
private static final ModConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION;
private static final ModConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS;
// Permanent portals
private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED;
private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED;
private static final ModConfigSpec.BooleanValue ELYTHIA_PORTAL_ENABLED;
private static final ModConfigSpec.BooleanValue THORAXIS_PORTAL_ENABLED;
private static final ModConfigSpec.BooleanValue CAVARYN_PORTAL_ENABLED;
// Diamond Minecart
private static final ModConfigSpec.BooleanValue DIAMOND_MINECART_ENABLED;
private static final ModConfigSpec.BooleanValue DIAMOND_MINECART_PLACES_RAILS;
@@ -40,6 +47,7 @@ public final class AntarchyMiscConfig {
private static final ModConfigSpec.BooleanValue DUPLICATOR_TREE_ENABLED;
private static final ModConfigSpec.BooleanValue GLOWING_TORCHFLOWERS;
private static final ModConfigSpec.BooleanValue GLOW_VINES_UNDER_LEAVES;
private static final ModConfigSpec.BooleanValue SWING_THROUGH_GRASS_ENABLED;
private static final ModConfigSpec.BooleanValue ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED;
static {
@@ -99,6 +107,17 @@ public final class AntarchyMiscConfig {
b.pop();
// Permanent Portals
b.push("permanentPortals");
PERMANENT_PORTALS_ENABLED = b.comment("Master toggle for sacrifice-activated permanent portals.").define("permanentPortalsEnabled", true);
PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED = b.comment("Whether flint and steel can ignite permanent portal frames.").define("permanentPortalsFlintAndSteelEnabled", false);
ELYTHIA_PORTAL_ENABLED = b.comment("Whether mossy ouranwood wood portals to Elythia can activate and function.").define("elythiaPortalEnabled", true);
THORAXIS_PORTAL_ENABLED = b.comment("Whether Nyxite portals to Thoraxis can activate and function.").define("thoraxisPortalEnabled", true);
CAVARYN_PORTAL_ENABLED = b.comment("Whether Myrmite portals to Cavaryn can activate and function.").define("cavarynPortalEnabled", true);
b.pop();
// Diamond Minecart
b.push("diamondMinecart");
@@ -120,6 +139,7 @@ public final class AntarchyMiscConfig {
DUPLICATOR_TREE_ENABLED = b.comment("If false, duplicator trees do not generate and duplicator saplings produce nothing.").define("duplicatorTreeEnabled", true);
GLOWING_TORCHFLOWERS = b.comment("Whether fully-grown torchflower blocks emit light.") .define("glowingTorchflowers", true);
GLOW_VINES_UNDER_LEAVES = b.comment("Whether glow vines can be placed and survive when attached under leaf blocks.") .define("glowVinesUnderLeaves", true);
SWING_THROUGH_GRASS_ENABLED = b.comment("If true, empty collision plants like grass do not block melee target picking.") .define("swingThroughGrassEnabled", true);
ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED = b.comment("If true, burning entities use soul fire / dream fire overlays where appropriate.") .define("entitySpecificFireOverlayEnabled", true);
b.pop();
@@ -141,12 +161,18 @@ public final class AntarchyMiscConfig {
static boolean duplicatorTreeEnabled() { return DUPLICATOR_TREE_ENABLED.get(); }
static boolean glowingTorchflowers() { return GLOWING_TORCHFLOWERS.get(); }
static boolean glowVinesUnderLeaves() { return GLOW_VINES_UNDER_LEAVES.get(); }
static boolean swingThroughGrassEnabled() { return SWING_THROUGH_GRASS_ENABLED.get(); }
static boolean entitySpecificFireOverlayEnabled() { return ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED.get(); }
static double hushweedSporeLifetimeSeconds() { return HUSHWEED_SPORE_LIFETIME_SECONDS.get(); }
static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); }
static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); }
public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); }
public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); }
public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); }
public static boolean thoraxisPortalEnabled() { return THORAXIS_PORTAL_ENABLED.get(); }
public static boolean cavarynPortalEnabled() { return CAVARYN_PORTAL_ENABLED.get(); }
static boolean diamondMinecartEnabled() { return DIAMOND_MINECART_ENABLED.get(); }
static boolean diamondMinecartPlacesRails() { return DIAMOND_MINECART_PLACES_RAILS.get(); }
@@ -100,6 +100,15 @@ public final class AntarchyMobsConfig {
private static final ModConfigSpec.IntValue ALPHA_MANTIS_MAX_MINIONS;
// Rolly Polly
private static final ModConfigSpec.DoubleValue ROLLY_POLLY_HEALTH;
private static final ModConfigSpec.DoubleValue ROLLY_POLLY_MOVEMENT_SPEED;
private static final ModConfigSpec.DoubleValue ROLLY_POLLY_ROLL_SPEED_MULTIPLIER;
private static final ModConfigSpec.DoubleValue ROLLY_POLLY_TUMBLE_DAMAGE;
private static final ModConfigSpec.IntValue ROLLY_POLLY_TAME_CHANCE;
// Triffid
private static final ModConfigSpec.DoubleValue TRIFFID_HEALTH;
@@ -203,6 +212,11 @@ public final class AntarchyMobsConfig {
private static final ModConfigSpec.DoubleValue DORRIE_HEALTH;
// Glimmer
private static final ModConfigSpec.DoubleValue GLIMMER_HEALTH;
// Hercules Beetle
private static final ModConfigSpec.DoubleValue HERCULES_BEETLE_HEALTH;
@@ -381,15 +395,26 @@ public final class AntarchyMobsConfig {
// Alpha Mantis
b.push("alphaMantis");
ALPHA_MANTIS_HEALTH = b.comment("Base max health.") .defineInRange("health", 500.0D, 1.0D, 32768.0D);
ALPHA_MANTIS_HEALTH = b.comment("Base max health.") .defineInRange("health", 250.0D, 1.0D, 32768.0D);
ALPHA_MANTIS_ATTACK_DAMAGE = b.comment("Base attack damage.") .defineInRange("attackDamage", 18.0D, 0.0D, 1024.0D);
ALPHA_MANTIS_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.42D, 0.0D, 10.0D);
ALPHA_MANTIS_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.546D, 0.0D, 10.0D);
ALPHA_MANTIS_FLYING_SPEED = b.comment("Base flying speed.") .defineInRange("flyingSpeed", 0.77D, 0.0D, 10.0D);
ALPHA_MANTIS_SUMMON_INTERVAL_TICKS = b.comment("Ticks between mantis minion summons while in combat.") .defineInRange("summonIntervalTicks", 300, 20, 72000);
ALPHA_MANTIS_MAX_MINIONS = b.comment("Maximum summoned mantises alive near the alpha at once.") .defineInRange("maxMinions", 4, 0, 32);
b.pop();
// Rolly Polly
b.push("rollyPolly");
ROLLY_POLLY_HEALTH = b.comment("Base max health.") .defineInRange("health", 12.0D, 1.0D, 32768.0D);
ROLLY_POLLY_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.3D, 0.0D, 10.0D);
ROLLY_POLLY_ROLL_SPEED_MULTIPLIER = b.comment("Speed multiplier while rolled up and ridden.") .defineInRange("rollSpeedMultiplier", 2.2D, 0.1D, 20.0D);
ROLLY_POLLY_TUMBLE_DAMAGE = b.comment("Damage dealt to a helmetless rider while rolling. 0 disables.") .defineInRange("tumbleDamage", 1.0D, 0.0D, 1024.0D);
ROLLY_POLLY_TAME_CHANCE = b.comment("Taming succeeds with a 1-in-N chance per food item.") .defineInRange("tameChance", 3, 1, 100);
b.pop();
// Triffid
b.push("triffid");
@@ -453,7 +478,7 @@ public final class AntarchyMobsConfig {
.defineInRange("spawnMaxLightLevel", 5, 0, 15);
BASILISK_HEALTH = b.comment("Base max health.").defineInRange("health", 150.0D, 1.0D, 32768.0D);
BASILISK_ATTACK_DAMAGE = b.comment("Base attack damage.").defineInRange("attackDamage", 36.0D, 0.0D, 1024.0D);
BASILISK_MOVEMENT_SPEED = b.comment("Base movement speed.").defineInRange("movementSpeed", 0.35D, 0.0D, 10.0D);
BASILISK_MOVEMENT_SPEED = b.comment("Base movement speed.").defineInRange("movementSpeed", 0.28D, 0.0D, 10.0D);
BASILISK_ARMOR = b.comment("Base armor value.").defineInRange("armor", 6.0D, 0.0D, 1024.0D);
BASILISK_KNOCKBACK_RESISTANCE = b.comment("Base knockback resistance.").defineInRange("knockbackResistance", 0.5D, 0.0D, 1.0D);
BASILISK_FOLLOW_RANGE = b.comment("Base follow range.").defineInRange("followRange", 28.0D, 1.0D, 128.0D);
@@ -522,6 +547,10 @@ public final class AntarchyMobsConfig {
DORRIE_HEALTH = b.comment("Base max health.").defineInRange("health", 60.0D, 1.0D, 32768.0D);
b.pop();
b.push("glimmer");
GLIMMER_HEALTH = b.comment("Base max health.").defineInRange("health", 20.0D, 1.0D, 32768.0D);
b.pop();
b.push("herculesBeetle");
HERCULES_BEETLE_HEALTH = b.comment("Base max health.").defineInRange("health", 500.0D, 1.0D, 32768.0D);
HERCULES_BEETLE_ATTACK_DAMAGE = b.comment("Base melee damage for ground and flying attacks.").defineInRange("attackDamage", 30.0D, 0.0D, 1024.0D);
@@ -617,6 +646,11 @@ public final class AntarchyMobsConfig {
static double alphaMantisFlyingSpeed() { return ALPHA_MANTIS_FLYING_SPEED.get(); }
static int alphaMantisSummonIntervalTicks() { return ALPHA_MANTIS_SUMMON_INTERVAL_TICKS.get(); }
static int alphaMantisMaxMinions() { return ALPHA_MANTIS_MAX_MINIONS.get(); }
static double rollyPollyHealth() { return ROLLY_POLLY_HEALTH.get(); }
static double rollyPollyMovementSpeed() { return ROLLY_POLLY_MOVEMENT_SPEED.get(); }
static double rollyPollyRollSpeedMultiplier() { return ROLLY_POLLY_ROLL_SPEED_MULTIPLIER.get(); }
static double rollyPollyTumbleDamage() { return ROLLY_POLLY_TUMBLE_DAMAGE.get(); }
static int rollyPollyTameChance() { return ROLLY_POLLY_TAME_CHANCE.get(); }
static double triffidHealth() { return TRIFFID_HEALTH.get(); }
static double triffidAttackDamage() { return TRIFFID_ATTACK_DAMAGE.get(); }
@@ -693,6 +727,7 @@ public final class AntarchyMobsConfig {
static double cheepHealth() { return CHEEP_HEALTH.get(); }
static double cheepAttackDamage() { return CHEEP_ATTACK_DAMAGE.get(); }
static double dorrieHealth() { return DORRIE_HEALTH.get(); }
static double glimmerHealth() { return GLIMMER_HEALTH.get(); }
static double herculesBeetleHealth() { return HERCULES_BEETLE_HEALTH.get(); }
static double herculesBeetleAttackDamage() { return HERCULES_BEETLE_ATTACK_DAMAGE.get(); }
static double herculesBeetleChargeDamage() { return HERCULES_BEETLE_CHARGE_DAMAGE.get(); }
@@ -7,6 +7,7 @@ import com.craisinlord.antarchy.content.AntarchySoundEvents;
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
import com.craisinlord.antarchy.content.item.ScorpionWhipTetherSync;
import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload;
import com.craisinlord.antarchy.content.portal.PermanentPortalType;
import com.craisinlord.antarchy.neoforge.registry.*;
import com.craisinlord.antarchy.neoforge.network.AntarchyGravityNetworking;
import net.neoforged.bus.api.IEventBus;
@@ -14,6 +15,7 @@ import net.neoforged.fml.ModContainer;
import net.neoforged.fml.ModList;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.network.PacketDistributor;
import net.minecraft.world.level.block.Blocks;
@Mod(Antarchy.MODID)
@@ -141,6 +143,9 @@ public class AntarchyNeoforge {
AntarchyNeoforgeSounds.TORETERROR_HURT,
AntarchyNeoforgeSounds.TORETERROR_DEATH,
AntarchyNeoforgeSounds.TORETERROR_BOMBER_FIRE,
AntarchyNeoforgeSounds.TORETERROR_SPIN,
AntarchyNeoforgeSounds.TORETERROR_RICOCHET,
AntarchyNeoforgeSounds.WATER_CANNON_FIRE,
AntarchyNeoforgeSounds.TORETERROR_JUMP_UP,
AntarchyNeoforgeSounds.TORETERROR_JUMP_LAND,
AntarchyNeoforgeSounds.STINKY_FLY,
@@ -180,6 +185,14 @@ public class AntarchyNeoforge {
}
private static void bindCommonObjects() {
PermanentPortalType.bindBlocks(
() -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get(),
() -> AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(),
() -> AntarchyNeoforgeBlocks.NYXITE.get(),
() -> AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(),
() -> AntarchyNeoforgeBlocks.NYXITE.get(),
() -> AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get()
);
AntarchyObjects.bind(
AntarchyNeoforgeEntites.EASTER_BUNNY,
AntarchyNeoforgeEntites.FLYING_SQUIRREL,
@@ -200,7 +213,11 @@ public class AntarchyNeoforge {
AntarchyNeoforgeEntites.HUSH_PROJECTILE,
AntarchyNeoforgeEntites.TORETERROR,
AntarchyNeoforgeEntites.WATER_BOMB,
(java.util.function.Supplier) AntarchyNeoforgeEntites.BOMBER,
(java.util.function.Supplier) AntarchyNeoforgeEntites.BOMBER,
(java.util.function.Supplier) AntarchyNeoforgeEntites.BED_BUG,
AntarchyNeoforgeEntites.CHEEP,
(java.util.function.Supplier) AntarchyNeoforgeEntites.CHEEP,
() -> AntarchyNeoforgeBlocks.DUPLICATOR_LOG.get(),
() -> AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(),
() -> AntarchyNeoforgeBlocks.DUCT_TAPE.get(),
@@ -229,6 +246,8 @@ public class AntarchyNeoforge {
() -> AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(),
() -> AntarchyNeoforgeBlocks.PALE_NYXITE.get(),
() -> AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(),
() -> AntarchyNeoforgeBlocks.NYXITE.get(),
() -> AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(),
() -> AntarchyNeoforgeBlocks.POTENT_NYXITE.get(),
() -> AntarchyNeoforgeBlocks.ANTIMETAL.get(),
() -> AntarchyNeoforgeBlocks.POLISHED_ANTIMETAL.get(),
@@ -241,6 +260,7 @@ public class AntarchyNeoforge {
AntarchyNeoforgeItems.KRAKEN_TOOTH,
() -> AntarchyNeoforgeItems.MOGGLES.get(),
() -> AntarchyNeoforgeItems.REVERIE_BOTTLE.get(),
() -> AntarchyNeoforgeItems.STINK_BUG.get(),
() -> AntarchyNeoforgeMisc.DREAD,
() -> AntarchyNeoforgeMisc.PARALYZED,
() -> AntarchyNeoforgeMisc.INVERTED,
@@ -250,7 +270,8 @@ public class AntarchyNeoforge {
() -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get(),
() -> AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(),
() -> AntarchyNeoforgeBlocks.PINK_MILKWEED.get(),
() -> AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(),
() -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(),
() -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(),
() -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(),
() -> AntarchyNeoforgeBlocks.WASP_NEST.get(),
() -> AntarchyNeoforgeBlocks.HUSHWEED.get(),
@@ -267,6 +288,8 @@ public class AntarchyNeoforge {
() -> AntarchyNeoforgeMisc.BLOODGLASS_WARD
);
AntarchyObjects.setOctopusBomb(AntarchyNeoforgeEntites.OCTOPUS_BOMB);
// AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER);
// AntarchyObjects.setGlimmersGrace(() -> AntarchyNeoforgeMisc.GLIMMERS_GRACE);
}
private static boolean isModLoaded(String modId) {
@@ -37,6 +37,14 @@ public final class AntarchyKeyBindings {
CATEGORY
);
public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping(
"key.antarchy.rolly_polly_roll",
KeyConflictContext.IN_GAME,
InputConstants.Type.KEYSYM,
InputConstants.KEY_R,
CATEGORY
);
private AntarchyKeyBindings() {}
@SubscribeEvent
@@ -44,5 +52,6 @@ public final class AntarchyKeyBindings {
event.register(BRUTALFLY_FLAP);
event.register(DORRIE_CHARGE_JUMP);
event.register(HERCULES_BEETLE_CHARGE);
event.register(ROLLY_POLLY_ROLL);
}
}
@@ -125,6 +125,7 @@ public final class AntarchyNeoForgeClient {
event.registerEntityRenderer(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.WATER_BOMB.get(), WaterBombRenderer::new);
event.registerEntityRenderer(AntarchyNeoforgeEntites.CHEEP.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CheepRenderer(context)));
// event.registerEntityRenderer(AntarchyNeoforgeEntites.GLIMMER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.GlimmerRenderer(context)));
}
@SubscribeEvent
@@ -188,6 +189,11 @@ public final class AntarchyNeoForgeClient {
(state, level, pos, tintIndex) -> 0xFF4A0000,
AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get()
);
event.register(
(state, level, pos, tintIndex) -> level != null && pos != null
? BiomeColors.getAverageGrassColor(level, pos)
: net.minecraft.world.level.GrassColor.getDefaultColor()
);
}
@SubscribeEvent
@@ -196,6 +202,9 @@ public final class AntarchyNeoForgeClient {
(stack, tintIndex) -> FoliageColor.getDefaultColor(),
AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get()
);
event.register(
(stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor()
);
event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ICHOR_BUCKET.get());
event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ANTIWATER_BUCKET.get());
}
@@ -408,10 +417,11 @@ public final class AntarchyNeoForgeClient {
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_DOOR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_TRAPDOOR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK.get(), RenderType.cutout());
// ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE.get(), RenderType.cutout());
// ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE_PLANT.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.HUSHWEED.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORNEA_STALK.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
@@ -428,6 +438,8 @@ public final class AntarchyNeoForgeClient {
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_FIRE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_CEILING_FIRE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get(), RenderType.translucent());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), RenderType.translucent());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), RenderType.translucent());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), RenderType.translucent());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.URANIUM_DOOR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TITANIUM_DOOR.get(), RenderType.cutout());
@@ -0,0 +1,36 @@
package com.craisinlord.antarchy.neoforge.client;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
import com.craisinlord.antarchy.content.network.RollyPollyRollPayload;
import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.event.ClientTickEvent;
import net.neoforged.neoforge.network.PacketDistributor;
@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT)
public final class RollyPollyClientHandler {
private static boolean wasPressingRoll;
private RollyPollyClientHandler() {
}
@SubscribeEvent
public static void onClientTick(ClientTickEvent.Post event) {
Minecraft mc = Minecraft.getInstance();
LocalPlayer player = mc.player;
if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) {
wasPressingRoll = false;
return;
}
boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown();
if (pressingRoll && !wasPressingRoll) {
PacketDistributor.sendToServer(new RollyPollyRollPayload());
}
wasPressingRoll = pressingRoll;
}
}
@@ -0,0 +1,31 @@
package com.craisinlord.antarchy.neoforge.network;
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
import com.craisinlord.antarchy.content.network.RollyPollyRollPayload;
import net.minecraft.server.level.ServerPlayer;
import net.neoforged.neoforge.network.handling.IPayloadContext;
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
public final class RollyPollyNetworking {
private RollyPollyNetworking() {
}
public static void register(PayloadRegistrar registrar) {
registrar.playToServer(
RollyPollyRollPayload.TYPE,
RollyPollyRollPayload.STREAM_CODEC,
RollyPollyNetworking::handleRollToggle
);
}
private static void handleRollToggle(RollyPollyRollPayload payload, IPayloadContext context) {
context.enqueueWork(() -> {
if (!(context.player() instanceof ServerPlayer player)) {
return;
}
if (player.getVehicle() instanceof RollyPollyEntity rollyPolly) {
rollyPolly.handleRollToggle(player);
}
});
}
}
@@ -18,6 +18,7 @@ import com.craisinlord.antarchy.content.item.*;
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.neoforge.AntarchyNeoForgeFluidTypes;
import com.craisinlord.antarchy.neoforge.entity.multipart.MultipartPartEntity;
import com.craisinlord.antarchy.neoforge.network.AntarchyGravityNetworking;
@@ -65,6 +66,7 @@ public final class AntarchyNeoForgeEvents {
public static void register(IEventBus modEventBus) {
modEventBus.addListener(AntarchyNeoForgeEvents::onCommonSetup);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onMissileSquidDeath);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onPermanentPortalSacrifice);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onLivingBreathe);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::registerBrewingRecipes);
NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleNaturalRabbitReplacement);
@@ -132,6 +134,10 @@ public final class AntarchyNeoForgeEvents {
}
}
public static void onPermanentPortalSacrifice(LivingDeathEvent event) {
PermanentPortalManager.handleSacrifice(event.getEntity());
}
public static void onLivingBreathe(LivingBreatheEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
@@ -4,14 +4,13 @@ import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.config.AntarchySettings;
import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.block.*;
import com.craisinlord.antarchy.content.block.CreepingHorrorEggBlock;
import com.craisinlord.antarchy.content.block.LurkingTerrorEggBlock;
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity;
import com.craisinlord.antarchy.content.fluid.BileLiquidBlock;
import com.craisinlord.antarchy.content.portal.PermanentPortalType;
import com.craisinlord.antarchy.neoforge.OuranwoodWoodTypes;
import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType;
import com.mojang.serialization.MapCodec;
@@ -37,6 +36,8 @@ import net.neoforged.neoforge.registries.DeferredRegister;
public final class AntarchyNeoforgeBlocks {
private static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Antarchy.MODID);
private static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, Antarchy.MODID);
// private static final OuranwoodVineBlock OURANWOOD_VINE_INSTANCE = new OuranwoodVineBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WEEPING_VINES).lightLevel(state -> 12));
// private static final OuranwoodVinePlantBlock OURANWOOD_VINE_PLANT_INSTANCE = createOuranwoodVinePlant();
public static final DeferredBlock<DuplicatorLogBlock> DUPLICATOR_LOG = BLOCKS.register("duplicator_log",
() -> new DuplicatorLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LOG).randomTicks()));
@@ -74,13 +75,14 @@ public final class AntarchyNeoforgeBlocks {
() -> new OuranwoodLeavesBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_LEAVES).randomTicks()));
public static final DeferredBlock<OuranwoodAcornBlock> OURANWOOD_ACORN_BLOCK = BLOCKS.register("ouranwood_acorn",
() -> new OuranwoodAcornBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SAPLING).randomTicks().noCollission()));
// public static final DeferredBlock<OuranwoodVineBlock> OURANWOOD_VINE = BLOCKS.register("ouranwood_vine",
// () -> OURANWOOD_VINE_INSTANCE);
// public static final DeferredBlock<OuranwoodVinePlantBlock> OURANWOOD_VINE_PLANT = BLOCKS.register("ouranwood_vine_plant",
// () -> OURANWOOD_VINE_PLANT_INSTANCE);
public static final DeferredBlock<MilkweedBlock> ORANGE_MILKWEED = BLOCKS.register("orange_milkweed",
() -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
public static final DeferredBlock<MilkweedBlock> PINK_MILKWEED = BLOCKS.register("pink_milkweed",
() -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
public static final DeferredBlock<TorchflowerBushBlock> TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush",
() -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)
.lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0)));
public static final DeferredBlock<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
() -> new StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
public static final DeferredBlock<WallSignBlock> OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign",
@@ -170,6 +172,10 @@ public final class AntarchyNeoforgeBlocks {
AntarchyNeoforgeItems::cloudBucketItem,
BlockBehaviour.Properties.ofFullCopy(Blocks.POWDER_SNOW).noLootTable().noOcclusion()
));
public static final DeferredBlock<AntDimensionPortalBlock> ELYTHIA_PORTAL = BLOCKS.register("elythia_portal",
() -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties()));
public static final DeferredBlock<AntDimensionPortalBlock> THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal",
() -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties()));
public static final DeferredBlock<Block> PALE_NYXITE = BLOCKS.register("pale_nyxite",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<NyxiteSpikeBlock> NYXITE_SPIKE = BLOCKS.register("nyxite_spike",
@@ -373,6 +379,17 @@ public final class AntarchyNeoforgeBlocks {
return BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK);
}
private static BlockBehaviour.Properties portalProperties() {
return BlockBehaviour.Properties.of()
.strength(-1.0F)
.noCollission()
.noOcclusion()
.lightLevel(state -> 11)
.noLootTable()
.isSuffocating((state, level, pos) -> false)
.isViewBlocking((state, level, pos) -> false);
}
private static Block createOre(Block copyFrom, int minExperience, int maxExperience) {
return new DropExperienceBlock(UniformInt.of(minExperience, maxExperience), BlockBehaviour.Properties.ofFullCopy(copyFrom).requiresCorrectToolForDrops());
}
@@ -407,6 +424,13 @@ public final class AntarchyNeoforgeBlocks {
return BLOOD_CRYSTAL_CRYSTAL.get();
}
// private static OuranwoodVinePlantBlock createOuranwoodVinePlant() {
// OuranwoodVinePlantBlock.bindHeadBlock(OURANWOOD_VINE_INSTANCE);
// OuranwoodVinePlantBlock block = new OuranwoodVinePlantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WEEPING_VINES_PLANT));
// OuranwoodVineBlock.bindBodyBlock(block);
// return block;
// }
private static final class SimpleHorizontalFacingBlock extends HorizontalDirectionalBlock {
private static final MapCodec<SimpleHorizontalFacingBlock> CODEC = simpleCodec(SimpleHorizontalFacingBlock::new);
@@ -84,18 +84,16 @@ public class AntarchyNeoforgeCreativeModeTabs {
if (event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) {
event.accept(AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get());
event.accept(AntarchyNeoforgeItems.OURANWOOD_ACORN.get());
// event.accept(AntarchyNeoforgeItems.OURANWOOD_VINE_ITEM.get());
event.accept(AntarchyNeoforgeItems.DUPLICATOR_LOG_ITEM.get());
event.accept(AntarchyNeoforgeItems.DUPLICATOR_SAPLING_ITEM.get());
event.accept(AntarchyNeoforgeItems.ORANGE_MILKWEED_ITEM.get());
event.accept(AntarchyNeoforgeItems.PINK_MILKWEED_ITEM.get());
event.accept(AntarchyNeoforgeItems.TORCHFLOWER_BUSH_ITEM.get());
event.accept(AntarchyNeoforgeItems.HUSHWEED_ITEM.get());
event.accept(AntarchyNeoforgeItems.INFESTED_ROOTED_DIRT_ITEM.get());
event.accept(AntarchyNeoforgeItems.INFESTED_COARSE_DIRT_ITEM.get());
event.accept(AntarchyNeoforgeItems.TRIFFID_GOO_BLOCK_ITEM.get());
event.accept(AntarchyNeoforgeItems.BED_BUG_EGG_ITEM.get());
event.accept(AntarchyNeoforgeItems.CREEPING_HORROR_EGG_ITEM.get());
event.accept(AntarchyNeoforgeItems.LURKING_TERROR_EGG_ITEM.get());
event.accept(AntarchyNeoforgeItems.WASP_NEST_ITEM.get());
event.accept(AntarchyNeoforgeItems.RED_ANT_NEST_ITEM.get());
event.accept(AntarchyNeoforgeItems.BROWN_ANT_NEST_ITEM.get());
@@ -374,7 +372,7 @@ public class AntarchyNeoforgeCreativeModeTabs {
case "duplicator_sapling", "ouranwood_acorn" -> 10;
// 11 - Plants and flowers
case "orange_milkweed", "pink_milkweed", "torchflower_bush", "hushweed", "amber_lichen", "bile_vein", "creepvine",
case "orange_milkweed", "pink_milkweed", "hushweed", "amber_lichen", "creepvine",
"triffid_goo_block", "wasp_nest",
"red_ant_nest", "brown_ant_nest", "rainbow_ant_nest", "termite_nest" -> 11;
@@ -4,7 +4,6 @@ import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.AppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.EnchantedGoldenAppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.GoldenAppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.HoneyedAppleCow;
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
import com.craisinlord.antarchy.content.entity.BedBugEntity;
import com.craisinlord.antarchy.content.entity.BomberEntity;
@@ -14,10 +13,12 @@ import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity;
import com.craisinlord.antarchy.content.entity.DrTrayaurusEntity;
import com.craisinlord.antarchy.content.entity.EasterBunnyEntity;
import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity;
import com.craisinlord.antarchy.content.entity.GlimmerEntity;
import com.craisinlord.antarchy.content.entity.HushProjectileEntity;
import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity;
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
import com.craisinlord.antarchy.content.entity.AlphaMantisEntity;
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
import com.craisinlord.antarchy.content.entity.MantisEntity;
import com.craisinlord.antarchy.content.entity.MissileSquidEntity;
import com.craisinlord.antarchy.content.entity.OctopusBombEntity;
@@ -28,8 +29,6 @@ import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity;
import com.craisinlord.antarchy.content.entity.ReverieEntity;
import com.craisinlord.antarchy.content.entity.ScorpionEntity;
import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
import com.craisinlord.antarchy.content.entity.SpitBugEntity;
import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity;
import com.craisinlord.antarchy.content.entity.StinkBugEntity;
import com.craisinlord.antarchy.content.entity.TriffidEntity;
import com.craisinlord.antarchy.content.entity.UpwardFallingBlockEntity;
@@ -82,6 +81,8 @@ public final class AntarchyNeoforgeEntites {
() -> buildAntType(BrownAntEntity::new, MobCategory.CREATURE, "brown_ant"));
public static final DeferredHolder<EntityType<?>, EntityType<RainbowAntEntity>> RAINBOW_ANT = ENTITY_TYPES.register("rainbow_ant",
() -> buildAntType(RainbowAntEntity::new, MobCategory.CREATURE, "rainbow_ant"));
public static final DeferredHolder<EntityType<?>, EntityType<TermiteEntity>> TERMITE = ENTITY_TYPES.register("termite",
() -> buildAntType(TermiteEntity::new, MobCategory.CREATURE, "termite"));
public static final DeferredHolder<EntityType<?>, EntityType<MolewormEntity>> MOLEWORM = ENTITY_TYPES.register("moleworm",
() -> EntityType.Builder.of(MolewormEntity::new, MobCategory.MONSTER)
.sized(0.4F, 0.3F)
@@ -94,9 +95,14 @@ public final class AntarchyNeoforgeEntites {
.build("mantis"));
public static final DeferredHolder<EntityType<?>, EntityType<AlphaMantisEntity>> ALPHA_MANTIS = ENTITY_TYPES.register("alpha_mantis",
() -> EntityType.Builder.of(AlphaMantisEntity::new, MobCategory.MONSTER)
.sized(4.0F, 3.25F)
.sized(4.25F, 3.35F)
.clientTrackingRange(10)
.build("alpha_mantis"));
public static final DeferredHolder<EntityType<?>, EntityType<RollyPollyEntity>> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly",
() -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE)
.sized(0.95F, 0.85F)
.clientTrackingRange(10)
.build("rolly_polly"));
public static final DeferredHolder<EntityType<?>, EntityType<OuranwoodBoatEntity>> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat",
() -> EntityType.Builder.<OuranwoodBoatEntity>of(OuranwoodBoatEntity::new, MobCategory.MISC)
.sized(1.375F, 0.5625F)
@@ -187,9 +193,6 @@ public final class AntarchyNeoforgeEntites {
() -> buildCowType(GoldenAppleCow::new, "golden_apple_cow"));
public static final DeferredHolder<EntityType<?>, EntityType<EnchantedGoldenAppleCow>> ENCHANTED_GOLDEN_APPLE_COW = ENTITY_TYPES.register("enchanted_golden_apple_cow",
() -> buildCowType(EnchantedGoldenAppleCow::new, "enchanted_golden_apple_cow"));
public static final DeferredHolder<EntityType<?>, EntityType<HoneyedAppleCow>> HONEYED_APPLE_COW = CREATE_LOADED
? ENTITY_TYPES.register("honeyed_apple_cow", () -> buildCowType(HoneyedAppleCow::new, "honeyed_apple_cow"))
: null;
public static final DeferredHolder<EntityType<?>, EntityType<DrTrayaurusEntity>> DR_TRAYAURUS = ENTITY_TYPES.register("dr_trayaurus",
() -> EntityType.Builder.of(DrTrayaurusEntity::new, MobCategory.MISC)
.sized(0.6F, 1.95F)
@@ -280,6 +283,11 @@ public final class AntarchyNeoforgeEntites {
.sized(1.0F, 1.2F)
.clientTrackingRange(8)
.build("cheep"));
// public static final DeferredHolder<EntityType<?>, EntityType<GlimmerEntity>> GLIMMER = ENTITY_TYPES.register("glimmer",
// () -> EntityType.Builder.of(GlimmerEntity::new, MobCategory.CREATURE)
// .sized(0.9F, 1.4F)
// .clientTrackingRange(8)
// .build("glimmer"));
public static final DeferredHolder<EntityType<?>, EntityType<UpwardFallingBlockEntity>> UPWARD_FALLING_BLOCK = ENTITY_TYPES.register("upward_falling_block",
() -> EntityType.Builder.<UpwardFallingBlockEntity>of(
UpwardFallingBlockEntity::new, MobCategory.MISC)
@@ -40,6 +40,12 @@ public class AntarchyNeoforgeEntityAttributes {
event.put(AntarchyNeoforgeEntites.APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.GOLDEN_APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.TERMITE.get(), buildAntAttributes(
AntarchySettings.termiteHealth(),
AntarchySettings.termiteMovementSpeed(),
AntarchySettings.termiteAttackDamage()
).build());
event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.DR_TRAYAURUS.get(), Villager.createAttributes().build());
event.put(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), CloudSharkEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.KRAKEN.get(), KrakenEntity.createAttributes().build());
@@ -61,13 +67,13 @@ public class AntarchyNeoforgeEntityAttributes {
AttributeSupplier redAntAttributes = buildAntAttributes(AntarchySettings.redAntHealth(), AntarchySettings.redAntMovementSpeed(), AntarchySettings.redAntAttackDamage()).build();
AttributeSupplier brownAntAttributes = buildAntAttributes(AntarchySettings.brownAntHealth(), AntarchySettings.brownAntMovementSpeed(), AntarchySettings.brownAntAttackDamage()).build();
AttributeSupplier rainbowAntAttributes = buildAntAttributes(AntarchySettings.rainbowAntHealth(), AntarchySettings.rainbowAntMovementSpeed(), AntarchySettings.rainbowAntAttackDamage()).build();
AttributeSupplier termiteAttributes = buildAntAttributes(AntarchySettings.termiteHealth(), AntarchySettings.termiteMovementSpeed(), AntarchySettings.termiteAttackDamage()).build();
event.put(AntarchyNeoforgeEntites.RED_ANT.get(), redAntAttributes);
event.put(AntarchyNeoforgeEntites.BROWN_ANT.get(), brownAntAttributes);
event.put(AntarchyNeoforgeEntites.RAINBOW_ANT.get(), rainbowAntAttributes);
event.put(AntarchyNeoforgeEntites.MOLEWORM.get(), MolewormEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.MOLEVORE.get(), MolevoreEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build());
// event.put(AntarchyNeoforgeEntites.GLIMMER.get(), com.craisinlord.antarchy.content.entity.GlimmerEntity.createAttributes().build());
}
private static AttributeSupplier.Builder buildAntAttributes(double health, double speed, double attackDamage) {
@@ -158,9 +158,9 @@ public final class AntarchyNeoforgeItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_BUTTON);
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_LEAVES);
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK);
// public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_VINE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ORANGE_MILKWEED);
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> TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH);
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",
@@ -480,6 +480,8 @@ public final class AntarchyNeoforgeItems {
// 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()));
// public static final DeferredItem<DeferredSpawnEggItem> GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg",
// () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.GLIMMER, 0xBEEFFF, 0x6FD8FF, new Item.Properties()));
public static final DeferredItem<DeferredSpawnEggItem> FLYING_SQUIRREL_SPAWN_EGG = ITEMS.register("flying_squirrel_spawn_egg",
() -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.FLYING_SQUIRREL, 0x7D6649, 0xDCC59C, new Item.Properties()));
public static final DeferredItem<DeferredSpawnEggItem> CATERPILLAR_SPAWN_EGG = ITEMS.register("caterpillar_spawn_egg",
@@ -4,6 +4,7 @@ import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.client.particle.InvertedGeyserBaseParticleOptions;
import com.craisinlord.antarchy.content.client.particle.InvertedGeyserParticleOptions;
import com.craisinlord.antarchy.content.effect.DreadMobEffect;
import com.craisinlord.antarchy.content.effect.GlimmersGraceMobEffect;
import com.craisinlord.antarchy.content.effect.GrowthMobEffect;
import com.craisinlord.antarchy.content.effect.InvertedMobEffect;
import com.craisinlord.antarchy.content.effect.ParalyzedMobEffect;
@@ -12,14 +13,6 @@ import com.craisinlord.antarchy.content.effect.StinkyMobEffect;
import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature;
import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature;
import com.craisinlord.antarchy.content.worldgen.ants.RedAntNestFeature;
import com.craisinlord.antarchy.content.worldgen.ants.TermiteNestFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynBileCystFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynBileVeinFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynCreepvineFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynWallAmberMossFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeConfiguration;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.*;
import com.craisinlord.antarchy.content.worldgen.thoraxis.*;
import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluid;
@@ -81,6 +74,7 @@ public final class AntarchyNeoforgeMisc {
public static final DeferredHolder<MobEffect, com.craisinlord.antarchy.content.effect.BloodglassWardEffect> BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new);
public static final DeferredHolder<MobEffect, ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new);
public static final DeferredHolder<MobEffect, GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new);
// public static final DeferredHolder<MobEffect, GlimmersGraceMobEffect> GLIMMERS_GRACE = MOB_EFFECTS.register("glimmers_grace", GlimmersGraceMobEffect::new);
// Potions
public static final DeferredHolder<Potion, Potion> INVERSION = POTIONS.register("inversion",
@@ -24,6 +24,7 @@ public class AntarchyNeoforgePayloadHandlers {
JumpyBootsNetworking.register(registrar);
DorrieJumpNetworking.register(registrar);
HerculesBeetleNetworking.register(registrar);
com.craisinlord.antarchy.neoforge.network.RollyPollyNetworking.register(registrar);
registrar.playToClient(
com.craisinlord.antarchy.content.network.BloodglassStatePayload.TYPE,
com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC,
@@ -128,6 +128,9 @@ public final class AntarchyNeoforgeSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_HURT = registerSoundEvent("toreterror_hurt");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_DEATH = registerSoundEvent("toreterror_death");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_BOMBER_FIRE = registerSoundEvent("toreterror_bomber_fire");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_SPIN = registerSoundEvent("toreterror_spin");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_RICOCHET = registerSoundEvent("toreterror_ricochet");
public static final DeferredHolder<SoundEvent, SoundEvent> WATER_CANNON_FIRE = registerSoundEvent("water_cannon_fire");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_JUMP_UP = registerSoundEvent("toreterror_jump_up");
public static final DeferredHolder<SoundEvent, SoundEvent> TORETERROR_JUMP_LAND = registerSoundEvent("toreterror_jump_land");
public static final DeferredHolder<SoundEvent, SoundEvent> STINKY_FLY = registerSoundEvent("stinky_fly");
@@ -48,5 +48,6 @@ public class AntarchyNeoforgeSpawnPlacements {
event.register(AntarchyNeoforgeEntites.BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR);
event.register(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::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.GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR);
}
}
@@ -4,7 +4,7 @@ license="All rights reserved"
[[mods]] #mandatory
modId="antarchy" #mandatory
logoFile="../assets/antarchy_/antarchy_logo.png"
logoFile="../assets/antarchy/antarchy_logo.png"
logoBlur=false
version="${version}" #mandatory
displayName="Antarchy" #mandatory
@@ -37,4 +37,11 @@ displayURL="https://www.curseforge.com/minecraft/mc-mods/antarchy"
type="required"
versionRange="*"
ordering="AFTER"
side="BOTH"
[[dependencies.antarchy]]
modId="sizeable_foliage"
type="required"
versionRange="*"
ordering="AFTER"
side="BOTH"
@@ -1,18 +0,0 @@
{
"neoforge:conditions": [
{
"type": "neoforge:mod_loaded",
"modid": "create"
}
],
"type": "neoforge:add_spawns",
"biomes": "#antarchy:honeyed_apple_cow_spawn_biomes",
"spawners": [
{
"type": "antarchy:honeyed_apple_cow",
"weight": 2,
"minCount": 1,
"maxCount": 2
}
]
}