bumped required infinity version

fixed server client split issue fr this time
Buffed frying pan
Fixed prince princess anim bug
This commit is contained in:
craisinlord committed 2026-09-23 16:12:07 -05:00
1 parent 3316df7195
commit 5010b6b7e1
72 files changed
+595 -282

No files matched your search

+3 -3
View File
@@ -51,8 +51,8 @@ dependencies {
compileOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_neoforge}")
runtimeOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_neoforge}")
implementation "software.bernie.geckolib:geckolib-neoforge-1.21.1:${geckolib_version}"
compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar")))
runtimeOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar")))
compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar")))
runtimeOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar")))
runtimeOnly("dev.architectury:architectury-neoforge:${architectury_api_version}")
compileOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")))
@@ -92,7 +92,7 @@ tasks.withType(ProcessResources).configureEach {
tasks.matching { it.name in ["runClient", "runServer", "runData"] }.configureEach {
doFirst {
def infinityConfigPrefix = "config/common/"
zipTree(rootProject.file("infinite_dimensions_jars/infinity-2.7.2+1.21.1-neoforge.jar")).visit { details ->
zipTree(rootProject.file("infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar")).visit { details ->
if (!details.directory && details.relativePath.pathString.startsWith(infinityConfigPrefix)) {
def targetPath = details.relativePath.pathString.substring(infinityConfigPrefix.length())
file("run/config/infinity/${targetPath}").parentFile.mkdirs()
@@ -495,6 +495,7 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setRoyalAssailantBootsDoubleDamageChance(AntarchyToolsConfig.royalAssailantBootsDoubleDamageChance());
AntarchySettings.setRoyalGuardianSwordAttackDamage(AntarchyToolsConfig.royalGuardianSwordAttackDamage());
AntarchySettings.setGiantFryingPanAttackDamage(AntarchyToolsConfig.giantFryingPanAttackDamage());
AntarchySettings.setGiantFryingPanCookTimeTicks(AntarchyToolsConfig.giantFryingPanCookTimeTicks());
AntarchySettings.setRoyalGuardianSwordAttackSpeed(AntarchyToolsConfig.royalGuardianSwordAttackSpeed());
AntarchySettings.setRoyalGuardianSwordElementalCooldownTicks(AntarchyToolsConfig.royalGuardianSwordElementalCooldownTicks());
AntarchySettings.setRoyalGuardianSwordFirePrimaryDamage(AntarchyToolsConfig.royalGuardianSwordFirePrimaryDamage());
@@ -92,6 +92,7 @@ public final class AntarchyToolsConfig {
private static final ModConfigSpec.DoubleValue ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE;
private static final ModConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE;
private static final ModConfigSpec.DoubleValue GIANT_FRYING_PAN_ATTACK_DAMAGE;
private static final ModConfigSpec.IntValue GIANT_FRYING_PAN_COOK_TIME_TICKS;
private static final ModConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_ATTACK_SPEED;
private static final ModConfigSpec.IntValue ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS, ROYAL_GUARDIAN_SWORD_STORM_MAX_JUMPS;
private static final ModConfigSpec.DoubleValue ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE, ROYAL_GUARDIAN_SWORD_FIRE_SPLASH_DAMAGE,
@@ -392,6 +393,7 @@ public final class AntarchyToolsConfig {
ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE = b.defineInRange("assailantBootsDoubleDamageChance", 0.05D, 0.0D, 1.0D);
ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE = b.defineInRange("guardianSwordAttackDamage", 111.0D, 0.0D, 4096.0D);
GIANT_FRYING_PAN_ATTACK_DAMAGE = b.defineInRange("giantFryingPanAttackDamage", 50.0D, 0.0D, 4096.0D);
GIANT_FRYING_PAN_COOK_TIME_TICKS = b.defineInRange("giantFryingPanCookTimeTicks", 200, 1, 72000);
ROYAL_GUARDIAN_SWORD_ATTACK_SPEED = b.defineInRange("guardianSwordAttackSpeed", -2.5D, -10.0D, 10.0D);
ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS = b.defineInRange("guardianSwordElementalCooldownTicks", 120, 0, 72000);
ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE = b.defineInRange("guardianSwordFirePrimaryDamage", 22.0D, 0.0D, 4096.0D);
@@ -889,6 +891,7 @@ public final class AntarchyToolsConfig {
static double royalAssailantBootsDoubleDamageChance() { return ROYAL_ASSAILANT_BOOTS_DOUBLE_DAMAGE_CHANCE.get(); }
static double royalGuardianSwordAttackDamage() { return ROYAL_GUARDIAN_SWORD_ATTACK_DAMAGE.get(); }
static double giantFryingPanAttackDamage() { return GIANT_FRYING_PAN_ATTACK_DAMAGE.get(); }
static int giantFryingPanCookTimeTicks() { return GIANT_FRYING_PAN_COOK_TIME_TICKS.get(); }
static double royalGuardianSwordAttackSpeed() { return ROYAL_GUARDIAN_SWORD_ATTACK_SPEED.get(); }
static int royalGuardianSwordElementalCooldownTicks() { return ROYAL_GUARDIAN_SWORD_ELEMENTAL_COOLDOWN_TICKS.get(); }
static double royalGuardianSwordFirePrimaryDamage() { return ROYAL_GUARDIAN_SWORD_FIRE_PRIMARY_DAMAGE.get(); }
@@ -3,10 +3,10 @@ package com.craisinlord.antarchy.neoforge;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
import com.craisinlord.antarchy.compat.infinity.InfinityWarpResult;
import net.lerariemann.infinity.InfinityMod;
import net.lerariemann.infinity.util.InfinityMethods;
import net.lerariemann.infinity.util.teleport.PortalCreator;
import net.lerariemann.infinity.util.teleport.WarpLogic;
import net.codexarchonic.infinity.InfinityMod;
import net.codexarchonic.infinity.util.InfinityMethods;
import net.codexarchonic.infinity.util.teleport.PortalCreator;
import net.codexarchonic.infinity.util.teleport.WarpLogic;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
@@ -15,7 +15,7 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.Level;
import net.lerariemann.infinity.access.MinecraftServerAccess;
import net.codexarchonic.infinity.access.MinecraftServerAccess;
import com.craisinlord.antarchy.neoforge.mixins.infinity.PortalCreatorInvoker;
import net.minecraft.util.RandomSource;
@@ -100,6 +100,7 @@ public final class AntarchyNeoForgeClient {
@SubscribeEvent
public static void clientSetup(FMLClientSetupEvent event) {
Antarchy.physicalClient = true;
event.enqueueWork(() -> {
AntarchyArchivePreviews.register();
AntarchyComputerGames.register();
@@ -0,0 +1,19 @@
package com.craisinlord.antarchy.neoforge.client;
import com.craisinlord.antarchy.neoforge.mixins.level.ClientLevelPartEntitiesAccessor;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.entity.PartEntity;
public final class ClientPartEntityRegistry {
private ClientPartEntityRegistry() {
}
public static Int2ObjectMap<PartEntity<?>> get(Level level) {
if (level instanceof ClientLevel clientLevel) {
return ((ClientLevelPartEntitiesAccessor) clientLevel).antarchy$getPartEntities();
}
return null;
}
}
@@ -6,6 +6,7 @@ import com.craisinlord.antarchy.content.network.RoyalMountActionPayload;
import com.craisinlord.antarchy.content.network.RoyalMountVerticalPayload;
import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.world.phys.EntityHitResult;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
@@ -19,6 +20,7 @@ public final class RoyalMountClientHandler {
private static boolean wasFlightToggle;
private static boolean wasAscend;
private static boolean wasDescend;
private static boolean wasUse;
private RoyalMountClientHandler() {
}
@@ -27,10 +29,22 @@ public final class RoyalMountClientHandler {
public static void onClientTick(ClientTickEvent.Post event) {
Minecraft mc = Minecraft.getInstance();
LocalPlayer player = mc.player;
if (player == null || mc.screen != null || !(player.getVehicle() instanceof RoyalMountEntity)) {
if (player == null || mc.screen != null) {
reset();
wasUse = false;
return;
}
if (!(player.getVehicle() instanceof RoyalMountEntity)) {
reset();
boolean use = mc.options.keyUse.isDown();
if (use && !wasUse && !(mc.hitResult instanceof EntityHitResult)
&& RoyalMountEntity.findAssistedMountTarget(player, 1.0D) != null) {
PacketDistributor.sendToServer(new RoyalMountActionPayload(RoyalMountActionPayload.MOUNT));
}
wasUse = use;
return;
}
wasUse = mc.options.keyUse.isDown();
boolean attack = mc.options.keyAttack.isDown();
if (attack && !wasAttack) {
@@ -1,10 +1,8 @@
package com.craisinlord.antarchy.neoforge.entity.multipart;
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
import com.craisinlord.antarchy.neoforge.mixins.level.ClientLevelPartEntitiesAccessor;
import com.craisinlord.antarchy.neoforge.mixins.level.ServerLevelPartEntitiesAccessor;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
@@ -55,8 +53,8 @@ public final class MultipartPartLevelRegistry {
return ((ServerLevelPartEntitiesAccessor) serverLevel).antarchy$getPartEntities();
}
if (level instanceof ClientLevel clientLevel) {
return ((ClientLevelPartEntitiesAccessor) clientLevel).antarchy$getPartEntities();
if (level.isClientSide()) {
return com.craisinlord.antarchy.neoforge.client.ClientPartEntityRegistry.get(level);
}
return null;
@@ -1,7 +1,7 @@
package com.craisinlord.antarchy.neoforge.mixins.infinity;
import net.lerariemann.infinity.util.config.Amendment;
import net.lerariemann.infinity.util.core.ConfigType;
import net.codexarchonic.infinity.util.config.Amendment;
import net.codexarchonic.infinity.util.core.ConfigType;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -1,8 +1,8 @@
package com.craisinlord.antarchy.neoforge.mixins.infinity;
import com.craisinlord.antarchy.Antarchy;
import net.lerariemann.infinity.util.config.ConfigGenInvocation;
import net.lerariemann.infinity.util.config.ConfigGenerator;
import net.codexarchonic.infinity.util.config.ConfigGenInvocation;
import net.codexarchonic.infinity.util.config.ConfigGenerator;
import net.minecraft.server.MinecraftServer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -15,7 +15,7 @@ public class ConfigGenInvocationMixin {
method = "run",
at = @At(
value = "INVOKE",
target = "Lnet/lerariemann/infinity/util/config/ConfigGenerator;generateAll(Lnet/minecraft/server/MinecraftServer;)V"
target = "Lnet/codexarchonic/infinity/util/config/ConfigGenerator;generateAll(Lnet/minecraft/server/MinecraftServer;)V"
),
remap = false
)
@@ -1,6 +1,6 @@
package com.craisinlord.antarchy.neoforge.mixins.infinity;
import net.lerariemann.infinity.util.teleport.PortalCreator;
import net.codexarchonic.infinity.util.teleport.PortalCreator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import org.spongepowered.asm.mixin.Mixin;
@@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.lerariemann.infinity.util.teleport.PortalCreator;
import net.codexarchonic.infinity.util.teleport.PortalCreator;
import net.minecraft.server.level.ServerLevel;
@Mixin(value = PortalCreator.class, remap = false)
@@ -1,9 +1,9 @@
package com.craisinlord.antarchy.neoforge.mixins.infinity;
import com.craisinlord.antarchy.neoforge.InfinityGenerationFailure;
import net.lerariemann.infinity.access.MinecraftServerAccess;
import net.lerariemann.infinity.util.teleport.PortalCreator;
import net.lerariemann.infinity.util.teleport.WarpLogic;
import net.codexarchonic.infinity.access.MinecraftServerAccess;
import net.codexarchonic.infinity.util.teleport.PortalCreator;
import net.codexarchonic.infinity.util.teleport.WarpLogic;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
@@ -17,7 +17,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
public interface WarpLogicMixin {
@Redirect(
method = "requestWarp(Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/resources/ResourceLocation;Z)V",
at = @At(value = "INVOKE", target = "Lnet/lerariemann/infinity/util/teleport/PortalCreator;tryAddInfinityDimension(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/resources/ResourceLocation;)Z"),
at = @At(value = "INVOKE", target = "Lnet/codexarchonic/infinity/util/teleport/PortalCreator;tryAddInfinityDimension(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/resources/ResourceLocation;)Z"),
remap = false
)
private static boolean antarchy$queuedDimensionCountsAsNew(MinecraftServer server, ResourceLocation dimensionId) throws Throwable {
@@ -5,7 +5,6 @@ import com.craisinlord.antarchy.content.network.TimeDilationFieldsPayload;
import com.craisinlord.antarchy.content.time.TimeDilationFieldSnapshot;
import java.util.List;
import com.craisinlord.antarchy.content.time.TimeDilationApi;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.server.level.ServerPlayer;
import net.neoforged.neoforge.network.PacketDistributor;
@@ -530,10 +530,10 @@ public final class AntarchyNeoforgeEntites {
.build("hercules_beetle"));
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.royal.PrinceEntity>> PRINCE = ENTITY_TYPES.register("prince",
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.PrinceEntity::new, MobCategory.CREATURE)
.sized(2.2F, 2.2F).clientTrackingRange(10).updateInterval(3).fireImmune().build("prince"));
.sized(2.2F, 1.5F).clientTrackingRange(10).updateInterval(3).fireImmune().build("prince"));
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.royal.PrincessEntity>> PRINCESS = ENTITY_TYPES.register("princess",
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.PrincessEntity::new, MobCategory.CREATURE)
.sized(2.2F, 2.2F).clientTrackingRange(10).updateInterval(3).fireImmune().build("princess"));
.sized(2.2F, 1.5F).clientTrackingRange(10).updateInterval(3).fireImmune().build("princess"));
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.royal.KingEntity>> KING = ENTITY_TYPES.register("king",
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.royal.KingEntity::new, MobCategory.MONSTER)
.sized(com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_WIDTH, com.craisinlord.antarchy.content.entity.royal.RoyalBossEntity.GAMEPLAY_HEIGHT)
@@ -89,6 +89,15 @@ public final class AntarchyNeoforgeMisc {
public static final DeferredHolder<PoiType, PoiType> PEST_CONTROL_POI = POI_TYPES.register("pest_control",
() -> new PoiType(java.util.Set.copyOf(AntarchyNeoforgeBlocks.ANT_TRAP.get().getStateDefinition().getPossibleStates()), 1, 1));
public static final DeferredHolder<PoiType, PoiType> ELYTHIA_PORTAL_POI = POI_TYPES.register("elythia_portal",
() -> new PoiType(java.util.Set.copyOf(AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
public static final DeferredHolder<PoiType, PoiType> THORAXIS_PORTAL_POI = POI_TYPES.register("thoraxis_portal",
() -> new PoiType(java.util.Set.copyOf(AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
public static final DeferredHolder<PoiType, PoiType> CAVARYN_PORTAL_POI = POI_TYPES.register("cavaryn_portal",
() -> new PoiType(java.util.Set.copyOf(AntarchyNeoforgeBlocks.CAVARYN_PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1));
public static final DeferredHolder<VillagerProfession, VillagerProfession> PEST_CONTROL = VILLAGER_PROFESSIONS.register("pest_control",
() -> new VillagerProfession("pest_control", holder -> holder.value() == PEST_CONTROL_POI.get(),
holder -> holder.value() == PEST_CONTROL_POI.get(), com.google.common.collect.ImmutableSet.of(), com.google.common.collect.ImmutableSet.of(), net.minecraft.sounds.SoundEvents.VILLAGER_WORK_FLETCHER));
@@ -88,6 +88,11 @@ public class AntarchyNeoforgePayloadHandlers {
com.craisinlord.antarchy.content.network.RoyalMountActionPayload.TYPE,
com.craisinlord.antarchy.content.network.RoyalMountActionPayload.STREAM_CODEC,
(payload, ctx) -> ctx.enqueueWork(() -> {
if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer mountingPlayer
&& payload.action() == com.craisinlord.antarchy.content.network.RoyalMountActionPayload.MOUNT) {
com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity.tryAssistedMount(mountingPlayer);
return;
}
if (!(ctx.player() instanceof net.minecraft.server.level.ServerPlayer player)
|| !(player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.royal.RoyalMountEntity mount)) {
return;
@@ -63,10 +63,10 @@ modId="antos"
[[dependencies.antarchy]]
modId="infinity"
type="incompatible"
versionRange="(,2.7.2)"
versionRange="(,2.7.3)"
ordering="NONE"
side="BOTH"
reason="Infinite Dimensions versions below 2.7.2 are no longer supported"
reason="Antarchy requires Infinite Dimensions 2.7.3 or newer"
[[dependencies.antarchy]]
modId="configured"
@@ -14,10 +14,10 @@
"infinity.PortalCreatorMixin",
"infinity.PortalCreatorInvoker",
"infinity.WarpLogicMixin",
"level.ClientLevelPartEntitiesAccessor",
"level.ServerLevelPartEntitiesAccessor"
],
"client": [
"level.ClientLevelPartEntitiesAccessor"
],
"injectors": {
"defaultRequire": 1