diff --git a/anthology_jars/anthology-1.0.0+1.20.1-fabric.jar b/anthology_jars/anthology-1.0.0+1.20.1-fabric.jar new file mode 100644 index 00000000..c98c7359 Binary files /dev/null and b/anthology_jars/anthology-1.0.0+1.20.1-fabric.jar differ diff --git a/anthology_jars/anthology-1.0.0+1.20.1-forge.jar b/anthology_jars/anthology-1.0.0+1.20.1-forge.jar new file mode 100644 index 00000000..b09300f4 Binary files /dev/null and b/anthology_jars/anthology-1.0.0+1.20.1-forge.jar differ diff --git a/anthology_jars/anthology-1.0.0+1.21.1-fabric.jar b/anthology_jars/anthology-1.0.0+1.21.1-fabric.jar new file mode 100644 index 00000000..9b2c6f62 Binary files /dev/null and b/anthology_jars/anthology-1.0.0+1.21.1-fabric.jar differ diff --git a/anthology_jars/anthology-1.0.0+1.21.1-neoforge.jar b/anthology_jars/anthology-1.0.0+1.21.1-neoforge.jar new file mode 100644 index 00000000..55f544fc Binary files /dev/null and b/anthology_jars/anthology-1.0.0+1.21.1-neoforge.jar differ diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java index 444d94bb..08df86a3 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.client; import com.craisinlord.antarchy.content.network.PortalGunMoonAimPayload; import com.craisinlord.antarchy.content.portalgun.PortalGunMoonMath; +import java.lang.ref.WeakReference; import java.util.function.Consumer; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; @@ -16,7 +17,8 @@ public final class MoonSkyTracker { private static final long MAX_AGE_MILLIS = 1500L; private static final double AIM_COSINE = Math.cos(Math.toRadians(PortalGunMoonMath.AIM_TOLERANCE_DEGREES)); private static Vec3 direction; - private static ClientLevel level; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference level = new WeakReference<>(null); private static long recordedAt; private static Consumer sender = payload -> {}; @@ -35,7 +37,7 @@ public final class MoonSkyTracker { } Vector3f world = camera.rotation().transform(view.normalize()); direction = new Vec3(world.x, world.y, world.z).normalize(); - level = renderedLevel; + level = new WeakReference<>(renderedLevel); recordedAt = System.currentTimeMillis(); } @@ -44,7 +46,7 @@ public final class MoonSkyTracker { if (minecraft.player == null) { return; } - boolean tracked = direction != null && level == minecraft.level && System.currentTimeMillis() - recordedAt <= MAX_AGE_MILLIS; + boolean tracked = direction != null && level.get() == minecraft.level && System.currentTimeMillis() - recordedAt <= MAX_AGE_MILLIS; boolean aiming = tracked && minecraft.gameRenderer.getMainCamera().getLookVector().dot( new Vector3f((float) direction.x, (float) direction.y, (float) direction.z)) >= AIM_COSINE; sender.accept(new PortalGunMoonAimPayload(tracked, aiming)); diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java index 0c26c5a1..e568acf1 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java @@ -4,6 +4,7 @@ import com.craisinlord.antarchy.content.item.PortalGunItem; import com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload; import com.craisinlord.antarchy.content.portalgun.PortalGunPortalEntity; import com.mojang.blaze3d.systems.RenderSystem; +import java.lang.ref.WeakReference; import java.util.EnumSet; import java.util.Set; import java.util.UUID; @@ -19,7 +20,8 @@ public final class PortalGunCrosshairRenderer { private static final int HALF_WIDTH = 17; private static final float MISSING_BRIGHTNESS = 0.3F; private static final float MISSING_ALPHA = 0.75F; - private static ClientLevel cachedLevel; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference cachedLevel = new WeakReference<>(null); private static long cachedGameTime = Long.MIN_VALUE; private static UUID cachedGunId; private static Set cachedPortals = Set.of(); @@ -77,14 +79,14 @@ public final class PortalGunCrosshairRenderer { } ClientLevel level = minecraft.level; long gameTime = level.getGameTime(); - if (cachedLevel != level || cachedGameTime != gameTime || !gunId.equals(cachedGunId)) { + if (cachedLevel.get() != level || cachedGameTime != gameTime || !gunId.equals(cachedGunId)) { Set portals = EnumSet.noneOf(PortalGunPortalEntity.PortalSide.class); for (com.craisinlord.anthology.portal.PortalEntity entry : com.craisinlord.anthology.portal.PortalRegistry.all(level)) { if (entry instanceof PortalGunPortalEntity portal && portal.isAlive() && gunId.equals(portal.getGunId())) { portals.add(portal.getPortalSide()); } } - cachedLevel = level; + cachedLevel = new WeakReference<>(level); cachedGameTime = gameTime; cachedGunId = gunId; cachedPortals = Set.copyOf(portals); diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java index 03ca1c14..956e7d91 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.client; import com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload; import com.craisinlord.antarchy.content.network.PortalGunIndicatorRequestPayload; +import java.lang.ref.WeakReference; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -11,7 +12,8 @@ import net.minecraft.client.multiplayer.ClientLevel; public final class PortalGunIndicatorClientState { private static final Map STATES = new HashMap<>(); - private static ClientLevel level; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference level = new WeakReference<>(null); private static long lastRequestTick = Long.MIN_VALUE; private static UUID lastRequestedGun; private static Consumer requestSender = payload -> {}; @@ -28,8 +30,8 @@ public final class PortalGunIndicatorClientState { if (currentLevel == null || gunId == null || minecraft.player == null) { return; } - if (level != currentLevel) { - level = currentLevel; + if (level.get() != currentLevel) { + level = new WeakReference<>(currentLevel); STATES.clear(); lastRequestedGun = null; lastRequestTick = Long.MIN_VALUE; @@ -52,7 +54,7 @@ public final class PortalGunIndicatorClientState { public static void clear() { STATES.clear(); - level = null; + level = new WeakReference<>(null); lastRequestedGun = null; lastRequestTick = Long.MIN_VALUE; } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java index ef9fb502..72908345 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java @@ -46,6 +46,7 @@ public class AlphaMantisEntity extends MantisEntity { private static final double FORCED_RETURN_RADIUS = 144.0D; private static final int RESET_DELAY_TICKS = 300; private static final double HOME_RETURN_SPEED = 1.05D; + private static final int HOME_REPATH_INTERVAL_TICKS = 20; private final ServerBossEvent bossEvent = new com.craisinlord.antarchy.content.boss.EntityLinkedServerBossEvent(this.getUUID(), Component.translatable("entity.antarchy.alpha_mantis"), BossEvent.BossBarColor.GREEN, BossEvent.BossBarOverlay.PROGRESS); @@ -53,6 +54,7 @@ public class AlphaMantisEntity extends MantisEntity { private int summonCooldownTicks; private int phaseTransitionTicks; private int disengageTicks; + private int homeRepathCooldown; private boolean halfHealthTransitionComplete; @Nullable private BlockPos encounterHome; @@ -385,6 +387,7 @@ public class AlphaMantisEntity extends MantisEntity { if (target != null) { this.disengageTicks = 0; + this.homeRepathCooldown = 0; if (this.isOutsideLeashRadius()) { this.resetEncounter(true); } @@ -447,6 +450,11 @@ public class AlphaMantisEntity extends MantisEntity { return; } Vec3 homeCenter = Vec3.atCenterOf(this.encounterHome); + if (this.homeRepathCooldown > 0) { + this.homeRepathCooldown--; + return; + } + this.homeRepathCooldown = HOME_REPATH_INTERVAL_TICKS; if (this.distanceToSqr(homeCenter) > FORCED_RETURN_RADIUS * FORCED_RETURN_RADIUS) { this.moveTo(homeCenter.x, this.encounterHome.getY(), homeCenter.z, this.getYRot(), this.getXRot()); this.setDeltaMovement(Vec3.ZERO); diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index af6f44b8..a971c9fd 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -105,6 +105,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { private static final double FORCED_RETURN_RADIUS = 144.0D; private static final int RESET_DELAY_TICKS = 240; private static final double HOME_RETURN_SPEED = 1.0D; + private static final int HOME_REPATH_INTERVAL_TICKS = 20; private static final double NEARBY_SCORPION_CHECK_RADIUS = 32.0D; private static final ResourceKey THORAXIS_KEY = @@ -137,6 +138,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { private int hardenHealTicks; private int hardenSummonedScorpions; private int disengageTicks; + private int homeRepathCooldown; private boolean attackDamageApplied; private AttackType currentAttack = AttackType.NONE; private HardenPhase hardenPhase = HardenPhase.NONE; @@ -798,6 +800,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { if (target != null) { this.disengageTicks = 0; + this.homeRepathCooldown = 0; if (this.isOutsideLeashRadius()) { this.resetEncounter(true); } @@ -870,6 +873,11 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return; } Vec3 homeCenter = Vec3.atCenterOf(this.encounterHome); + if (this.homeRepathCooldown > 0) { + this.homeRepathCooldown--; + return; + } + this.homeRepathCooldown = HOME_REPATH_INTERVAL_TICKS; if (this.distanceToSqr(homeCenter) > FORCED_RETURN_RADIUS * FORCED_RETURN_RADIUS) { this.moveTo(homeCenter.x, homeCenter.y, homeCenter.z, this.getYRot(), this.getXRot()); this.setDeltaMovement(Vec3.ZERO); diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/AntarchyMixinPlugin.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/AntarchyMixinPlugin.java index 1b593305..e1befb10 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/AntarchyMixinPlugin.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/AntarchyMixinPlugin.java @@ -25,6 +25,9 @@ public final class AntarchyMixinPlugin implements IMixinConfigPlugin { if (!classPresent(targetClassName)) { return false; } + if (mixinClassName.equals("com.craisinlord.antarchy.mixins.EnchantmentTableApplicabilityMixin")) { + return !classPresent("net.minecraftforge.common.extensions.IForgeEnchantment"); + } if (mixinClassName.startsWith("com.craisinlord.antarchy.mixins.compat.scguns.")) { return classPresent("top.ribs.scguns.entity.projectile.ProjectileEntity"); } diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json index 501837a7..94a13611 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json @@ -1669,5 +1669,9 @@ "item.antarchy.music_disc_the_queen.desc": "Karlljp - The Queen", "item.antarchy.music_disc_verdance.desc": "Hewo - Verdance", "item.antarchy.music_disc_grotesque.desc": "DocShrekBot - Grotesque", - "attribute.antarchy.entity_interaction_range": "Entity Interaction Range" + "attribute.antarchy.entity_interaction_range": "Entity Interaction Range", + "guide.antarchy.archive_folder.antlas": "Antlas", + "guide.antarchy.archive_folder.elythia": "Elythia", + "guide.antarchy.archive_folder.cavaryn": "Cavaryn", + "guide.antarchy.archive_folder.thoraxis": "Thoraxis" } diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json new file mode 100644 index 00000000..d0a6414c --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json @@ -0,0 +1,6 @@ +{ + "title": "guide.antarchy.archive_folder.antlas", + "icon_item": "antarchy:portal_gun_atlas", + "sort_order": 10, + "green_tint": false +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json new file mode 100644 index 00000000..e235639c --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.cavaryn", + "icon_item": "antarchy:termite_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 20, + "green_tint": false +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json new file mode 100644 index 00000000..dd3a5b71 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.elythia", + "icon_item": "antarchy:brown_ant_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 10, + "green_tint": false +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json new file mode 100644 index 00000000..d9fb6ed5 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.thoraxis", + "icon_item": "antarchy:red_ant_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 30, + "green_tint": false +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json index d2bf6354..662b58b2 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 20, "title": "guide.antarchy.entry.bloodglass.title", "subtitle": "guide.antarchy.entry.bloodglass.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json index 2235f07a..43ffe0d2 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 0, "title": "guide.antarchy.entry.brown_ant.title", "subtitle": "guide.antarchy.entry.brown_ant.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json index 57379b25..719d5fc5 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 30, "title": "guide.antarchy.entry.brutalfly.title", "subtitle": "guide.antarchy.entry.brutalfly.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json index 4aa755f5..ac6f260a 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json @@ -1,6 +1,8 @@ { "type": "article", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 40, "title": "guide.antarchy.entry.duplicator_tree.title", "subtitle": "guide.antarchy.entry.duplicator_tree.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json index 0a24b829..ea7bbff0 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 30, "title": "guide.antarchy.entry.easter_bunny.title", "subtitle": "guide.antarchy.entry.easter_bunny.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json index 5c99eaed..d3d993d8 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 10, "title": "guide.antarchy.entry.flying_squirrel.title", "subtitle": "guide.antarchy.entry.flying_squirrel.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/glimmer.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/glimmer.json index bab48c80..640bdbde 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/glimmer.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/glimmer.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 20, "title": "guide.antarchy.entry.glimmer.title", "subtitle": "guide.antarchy.entry.glimmer.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json index 52e8e878..00863e65 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "cavaryn", + "folder": "antarchy:cavaryn", + "sort_order": 10, "title": "guide.antarchy.entry.hercules_beetle.title", "subtitle": "guide.antarchy.entry.hercules_beetle.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json index a73e0d1b..0ea1ae05 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json @@ -1,6 +1,8 @@ { "type": "article", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 20, "title": "guide.antarchy.entry.high_fructose_corn_syrup.title", "subtitle": "guide.antarchy.entry.high_fructose_corn_syrup.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/king.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/king.json index 36886f14..7e5f49c7 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/king.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/king.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 50, "title": "guide.antarchy.entry.king.title", "subtitle": "guide.antarchy.entry.king.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/kraken.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/kraken.json index 0af4c2fd..32decc0d 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/kraken.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/kraken.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 10, "title": "guide.antarchy.entry.kraken.title", "subtitle": "guide.antarchy.entry.kraken.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/nightmare.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/nightmare.json index 1d66deff..c06de405 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/nightmare.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/nightmare.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 10, "title": "guide.antarchy.entry.nightmare.title", "subtitle": "guide.antarchy.entry.nightmare.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/prince.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/prince.json index 1c0eed91..3c7c2184 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/prince.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/prince.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 40, "title": "guide.antarchy.entry.prince.title", "subtitle": "guide.antarchy.entry.prince.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/princess.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/princess.json index a1495798..9bea07cc 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/princess.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/princess.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 50, "title": "guide.antarchy.entry.princess.title", "subtitle": "guide.antarchy.entry.princess.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/queen.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/queen.json index 9e51bce8..79778e24 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/queen.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/queen.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 60, "title": "guide.antarchy.entry.queen.title", "subtitle": "guide.antarchy.entry.queen.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json index 1330010e..596d9fdb 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 0, "title": "guide.antarchy.entry.rainbow_ant.title", "subtitle": "guide.antarchy.entry.rainbow_ant.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/red_ant.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/red_ant.json index bc83f09c..8a90faa4 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/red_ant.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/red_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 0, "title": "guide.antarchy.entry.red_ant.title", "subtitle": "guide.antarchy.entry.red_ant.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json index 9035712c..41e909ad 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 30, "title": "guide.antarchy.entry.temporal_fields.title", "subtitle": "guide.antarchy.entry.temporal_fields.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/termite.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/termite.json index 07479807..0a440419 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/termite.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/termite.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "cavaryn", + "folder": "antarchy:cavaryn", + "sort_order": 0, "title": "guide.antarchy.entry.termite.title", "subtitle": "guide.antarchy.entry.termite.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json index 00ca6a95..33d3f863 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json @@ -1,6 +1,8 @@ { "type": "structure", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 60, "title": "guide.antarchy.entry.toreterror.title", "subtitle": "guide.antarchy.entry.toreterror_arena.subtitle", "description": [ diff --git a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/vortex.json b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/vortex.json index 30d4c4d5..ff322c15 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/computer/entry/vortex.json +++ b/common-1.20.1/src/main/resources/data/antarchy/computer/entry/vortex.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 40, "title": "guide.antarchy.entry.vortex.title", "subtitle": "guide.antarchy.entry.vortex.subtitle", "description": [ diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java index 444d94bb..08df86a3 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/MoonSkyTracker.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.client; import com.craisinlord.antarchy.content.network.PortalGunMoonAimPayload; import com.craisinlord.antarchy.content.portalgun.PortalGunMoonMath; +import java.lang.ref.WeakReference; import java.util.function.Consumer; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; @@ -16,7 +17,8 @@ public final class MoonSkyTracker { private static final long MAX_AGE_MILLIS = 1500L; private static final double AIM_COSINE = Math.cos(Math.toRadians(PortalGunMoonMath.AIM_TOLERANCE_DEGREES)); private static Vec3 direction; - private static ClientLevel level; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference level = new WeakReference<>(null); private static long recordedAt; private static Consumer sender = payload -> {}; @@ -35,7 +37,7 @@ public final class MoonSkyTracker { } Vector3f world = camera.rotation().transform(view.normalize()); direction = new Vec3(world.x, world.y, world.z).normalize(); - level = renderedLevel; + level = new WeakReference<>(renderedLevel); recordedAt = System.currentTimeMillis(); } @@ -44,7 +46,7 @@ public final class MoonSkyTracker { if (minecraft.player == null) { return; } - boolean tracked = direction != null && level == minecraft.level && System.currentTimeMillis() - recordedAt <= MAX_AGE_MILLIS; + boolean tracked = direction != null && level.get() == minecraft.level && System.currentTimeMillis() - recordedAt <= MAX_AGE_MILLIS; boolean aiming = tracked && minecraft.gameRenderer.getMainCamera().getLookVector().dot( new Vector3f((float) direction.x, (float) direction.y, (float) direction.z)) >= AIM_COSINE; sender.accept(new PortalGunMoonAimPayload(tracked, aiming)); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java index 0c26c5a1..e568acf1 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunCrosshairRenderer.java @@ -4,6 +4,7 @@ import com.craisinlord.antarchy.content.item.PortalGunItem; import com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload; import com.craisinlord.antarchy.content.portalgun.PortalGunPortalEntity; import com.mojang.blaze3d.systems.RenderSystem; +import java.lang.ref.WeakReference; import java.util.EnumSet; import java.util.Set; import java.util.UUID; @@ -19,7 +20,8 @@ public final class PortalGunCrosshairRenderer { private static final int HALF_WIDTH = 17; private static final float MISSING_BRIGHTNESS = 0.3F; private static final float MISSING_ALPHA = 0.75F; - private static ClientLevel cachedLevel; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference cachedLevel = new WeakReference<>(null); private static long cachedGameTime = Long.MIN_VALUE; private static UUID cachedGunId; private static Set cachedPortals = Set.of(); @@ -77,14 +79,14 @@ public final class PortalGunCrosshairRenderer { } ClientLevel level = minecraft.level; long gameTime = level.getGameTime(); - if (cachedLevel != level || cachedGameTime != gameTime || !gunId.equals(cachedGunId)) { + if (cachedLevel.get() != level || cachedGameTime != gameTime || !gunId.equals(cachedGunId)) { Set portals = EnumSet.noneOf(PortalGunPortalEntity.PortalSide.class); for (com.craisinlord.anthology.portal.PortalEntity entry : com.craisinlord.anthology.portal.PortalRegistry.all(level)) { if (entry instanceof PortalGunPortalEntity portal && portal.isAlive() && gunId.equals(portal.getGunId())) { portals.add(portal.getPortalSide()); } } - cachedLevel = level; + cachedLevel = new WeakReference<>(level); cachedGameTime = gameTime; cachedGunId = gunId; cachedPortals = Set.copyOf(portals); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java index 03ca1c14..956e7d91 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/PortalGunIndicatorClientState.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.client; import com.craisinlord.antarchy.content.network.PortalGunIndicatorPayload; import com.craisinlord.antarchy.content.network.PortalGunIndicatorRequestPayload; +import java.lang.ref.WeakReference; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -11,7 +12,8 @@ import net.minecraft.client.multiplayer.ClientLevel; public final class PortalGunIndicatorClientState { private static final Map STATES = new HashMap<>(); - private static ClientLevel level; + // Weak so a dimension change or logout doesn't pin the old client world in memory. + private static WeakReference level = new WeakReference<>(null); private static long lastRequestTick = Long.MIN_VALUE; private static UUID lastRequestedGun; private static Consumer requestSender = payload -> {}; @@ -28,8 +30,8 @@ public final class PortalGunIndicatorClientState { if (currentLevel == null || gunId == null || minecraft.player == null) { return; } - if (level != currentLevel) { - level = currentLevel; + if (level.get() != currentLevel) { + level = new WeakReference<>(currentLevel); STATES.clear(); lastRequestedGun = null; lastRequestTick = Long.MIN_VALUE; @@ -52,7 +54,7 @@ public final class PortalGunIndicatorClientState { public static void clear() { STATES.clear(); - level = null; + level = new WeakReference<>(null); lastRequestedGun = null; lastRequestTick = Long.MIN_VALUE; } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java index 8f3d93ec..54fa79f4 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java @@ -46,6 +46,7 @@ public class AlphaMantisEntity extends MantisEntity { private static final double FORCED_RETURN_RADIUS = 144.0D; private static final int RESET_DELAY_TICKS = 300; private static final double HOME_RETURN_SPEED = 1.05D; + private static final int HOME_REPATH_INTERVAL_TICKS = 20; private final ServerBossEvent bossEvent = new com.craisinlord.antarchy.content.boss.EntityLinkedServerBossEvent(this.getUUID(), Component.translatable("entity.antarchy.alpha_mantis"), BossEvent.BossBarColor.GREEN, BossEvent.BossBarOverlay.PROGRESS); @@ -53,6 +54,7 @@ public class AlphaMantisEntity extends MantisEntity { private int summonCooldownTicks; private int phaseTransitionTicks; private int disengageTicks; + private int homeRepathCooldown; private boolean halfHealthTransitionComplete; @Nullable private BlockPos encounterHome; @@ -386,6 +388,7 @@ public class AlphaMantisEntity extends MantisEntity { if (target != null) { this.disengageTicks = 0; + this.homeRepathCooldown = 0; if (this.isOutsideLeashRadius()) { this.resetEncounter(true); } @@ -448,6 +451,11 @@ public class AlphaMantisEntity extends MantisEntity { return; } Vec3 homeCenter = Vec3.atCenterOf(this.encounterHome); + if (this.homeRepathCooldown > 0) { + this.homeRepathCooldown--; + return; + } + this.homeRepathCooldown = HOME_REPATH_INTERVAL_TICKS; if (this.distanceToSqr(homeCenter) > FORCED_RETURN_RADIUS * FORCED_RETURN_RADIUS) { this.moveTo(homeCenter.x, this.encounterHome.getY(), homeCenter.z, this.getYRot(), this.getXRot()); this.setDeltaMovement(Vec3.ZERO); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index 50797387..bbcfe0a7 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -105,6 +105,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { private static final double FORCED_RETURN_RADIUS = 144.0D; private static final int RESET_DELAY_TICKS = 240; private static final double HOME_RETURN_SPEED = 1.0D; + private static final int HOME_REPATH_INTERVAL_TICKS = 20; private static final double NEARBY_SCORPION_CHECK_RADIUS = 32.0D; private static final ResourceKey THORAXIS_KEY = @@ -137,6 +138,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { private int hardenHealTicks; private int hardenSummonedScorpions; private int disengageTicks; + private int homeRepathCooldown; private boolean attackDamageApplied; private AttackType currentAttack = AttackType.NONE; private HardenPhase hardenPhase = HardenPhase.NONE; @@ -797,6 +799,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { if (target != null) { this.disengageTicks = 0; + this.homeRepathCooldown = 0; if (this.isOutsideLeashRadius()) { this.resetEncounter(true); } @@ -869,6 +872,11 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return; } Vec3 homeCenter = Vec3.atCenterOf(this.encounterHome); + if (this.homeRepathCooldown > 0) { + this.homeRepathCooldown--; + return; + } + this.homeRepathCooldown = HOME_REPATH_INTERVAL_TICKS; if (this.distanceToSqr(homeCenter) > FORCED_RETURN_RADIUS * FORCED_RETURN_RADIUS) { this.moveTo(homeCenter.x, homeCenter.y, homeCenter.z, this.getYRot(), this.getXRot()); this.setDeltaMovement(Vec3.ZERO); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/CritterCageItem.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/CritterCageItem.java index fd0fb289..bb4db8de 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/CritterCageItem.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/CritterCageItem.java @@ -43,7 +43,7 @@ import net.minecraft.tags.TagKey; public class CritterCageItem extends Item { public static final String ENTITY_DATA_TAG = "EntityData"; - private static final TagKey> BOSS_TAG = TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.withDefaultNamespace("bosses")); + private static final TagKey> BOSS_TAG = TagKey.create(Registries.ENTITY_TYPE, ResourceLocation.fromNamespaceAndPath("c", "bosses")); private static final int EMPTY_STATE = 0; private static final int FILLED_PLAIN_STATE = 1; private static final int FILLED_COLORED_STATE = 2; diff --git a/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json b/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json index b72cd7c6..d643b15b 100644 --- a/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json @@ -1662,5 +1662,9 @@ "advancements.antarchy.survived_the_horde.description": "Survive a Cavaryn horde to its final wave and break it.", "advancements.antarchy.glimmer_keeper.title": "Glimmer Keeper", "advancements.antarchy.glimmer_keeper.description": "Tame every kind of Glimmer.", - "entity.antarchy.portal_gun_portal": "Portal Gun Portal" + "entity.antarchy.portal_gun_portal": "Portal Gun Portal", + "guide.antarchy.archive_folder.antlas": "Antlas", + "guide.antarchy.archive_folder.elythia": "Elythia", + "guide.antarchy.archive_folder.cavaryn": "Cavaryn", + "guide.antarchy.archive_folder.thoraxis": "Thoraxis" } diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json new file mode 100644 index 00000000..d0a6414c --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/antlas.json @@ -0,0 +1,6 @@ +{ + "title": "guide.antarchy.archive_folder.antlas", + "icon_item": "antarchy:portal_gun_atlas", + "sort_order": 10, + "green_tint": false +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json new file mode 100644 index 00000000..e235639c --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/cavaryn.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.cavaryn", + "icon_item": "antarchy:termite_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 20, + "green_tint": false +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json new file mode 100644 index 00000000..dd3a5b71 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/elythia.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.elythia", + "icon_item": "antarchy:brown_ant_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 10, + "green_tint": false +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json new file mode 100644 index 00000000..d9fb6ed5 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/archive_folder/thoraxis.json @@ -0,0 +1,7 @@ +{ + "title": "guide.antarchy.archive_folder.thoraxis", + "icon_item": "antarchy:red_ant_spawn_egg", + "parent": "antarchy:antlas", + "sort_order": 30, + "green_tint": false +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json index 95051af1..55fca3ee 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/bloodglass.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 20, "title": "guide.antarchy.entry.bloodglass.title", "subtitle": "guide.antarchy.entry.bloodglass.subtitle", "description": ["guide.antarchy.entry.bloodglass.description", "guide.antarchy.entry.bloodglass.description2", "guide.antarchy.entry.bloodglass.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json index 833f8eb4..7059e15b 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brown_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 0, "title": "guide.antarchy.entry.brown_ant.title", "subtitle": "guide.antarchy.entry.brown_ant.subtitle", "description": ["guide.antarchy.entry.brown_ant.description", "guide.antarchy.entry.brown_ant.description2", "guide.antarchy.entry.brown_ant.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json index 9049b82f..1de58c1a 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/brutalfly.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 30, "title": "guide.antarchy.entry.brutalfly.title", "subtitle": "guide.antarchy.entry.brutalfly.subtitle", "description": ["guide.antarchy.entry.brutalfly.description", "guide.antarchy.entry.brutalfly.description2", "guide.antarchy.entry.brutalfly.description3", "guide.antarchy.entry.brutalfly.description4"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json index 004204c4..7bae9ce9 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/duplicator_tree.json @@ -1,6 +1,8 @@ { "type": "article", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 40, "title": "guide.antarchy.entry.duplicator_tree.title", "subtitle": "guide.antarchy.entry.duplicator_tree.subtitle", "description": ["guide.antarchy.entry.duplicator_tree.description", "guide.antarchy.entry.duplicator_tree.description2"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json index 6aa5442e..f214502f 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/easter_bunny.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 30, "title": "guide.antarchy.entry.easter_bunny.title", "subtitle": "guide.antarchy.entry.easter_bunny.subtitle", "description": ["guide.antarchy.entry.easter_bunny.description", "guide.antarchy.entry.easter_bunny.description2"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json index 6812088b..36b3470f 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 10, "title": "guide.antarchy.entry.flying_squirrel.title", "subtitle": "guide.antarchy.entry.flying_squirrel.subtitle", "description": ["guide.antarchy.entry.flying_squirrel.description", "guide.antarchy.entry.flying_squirrel.description2", "guide.antarchy.entry.flying_squirrel.description3", "guide.antarchy.entry.flying_squirrel.description4"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/glimmer.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/glimmer.json index 30a9c827..5f81a2c0 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/glimmer.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/glimmer.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 20, "title": "guide.antarchy.entry.glimmer.title", "subtitle": "guide.antarchy.entry.glimmer.subtitle", "description": ["guide.antarchy.entry.glimmer.description", "guide.antarchy.entry.glimmer.description2", "guide.antarchy.entry.glimmer.description3", "guide.antarchy.entry.glimmer.description4", "guide.antarchy.entry.glimmer.description5", "guide.antarchy.entry.glimmer.description6", "guide.antarchy.entry.glimmer.description7"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json index 23d7b14c..b23d1075 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/hercules_beetle.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "cavaryn", + "folder": "antarchy:cavaryn", + "sort_order": 10, "title": "guide.antarchy.entry.hercules_beetle.title", "subtitle": "guide.antarchy.entry.hercules_beetle.subtitle", "description": ["guide.antarchy.entry.hercules_beetle.description", "guide.antarchy.entry.hercules_beetle.description2", "guide.antarchy.entry.hercules_beetle.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json index 68d4ab2b..3d1c4918 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/high_fructose_corn_syrup.json @@ -1,6 +1,8 @@ { "type": "article", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 20, "title": "guide.antarchy.entry.high_fructose_corn_syrup.title", "subtitle": "guide.antarchy.entry.high_fructose_corn_syrup.subtitle", "description": ["guide.antarchy.entry.high_fructose_corn_syrup.description", "guide.antarchy.entry.high_fructose_corn_syrup.description2", "guide.antarchy.entry.high_fructose_corn_syrup.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/king.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/king.json index 331fe887..b4c0baf1 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/king.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/king.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 50, "title": "guide.antarchy.entry.king.title", "subtitle": "guide.antarchy.entry.king.subtitle", "description": [ diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/kraken.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/kraken.json index d999333c..b241659c 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/kraken.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/kraken.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 10, "title": "guide.antarchy.entry.kraken.title", "subtitle": "guide.antarchy.entry.kraken.subtitle", "description": [ diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/nightmare.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/nightmare.json index e3c43ef1..890ef3ce 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/nightmare.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/nightmare.json @@ -1,6 +1,8 @@ { "type": "mob", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 10, "title": "guide.antarchy.entry.nightmare.title", "subtitle": "guide.antarchy.entry.nightmare.subtitle", "description": ["guide.antarchy.entry.nightmare.description", "guide.antarchy.entry.nightmare.description2", "guide.antarchy.entry.nightmare.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/prince.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/prince.json index bfd7b9c7..0d462259 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/prince.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/prince.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 40, "title": "guide.antarchy.entry.prince.title", "subtitle": "guide.antarchy.entry.prince.subtitle", "description": ["guide.antarchy.entry.prince.description", "guide.antarchy.entry.prince.description2"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/princess.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/princess.json index 770295c0..1490927e 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/princess.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/princess.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 50, "title": "guide.antarchy.entry.princess.title", "subtitle": "guide.antarchy.entry.princess.subtitle", "description": ["guide.antarchy.entry.princess.description", "guide.antarchy.entry.princess.description2"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/queen.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/queen.json index df41133a..f4a8fdb0 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/queen.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/queen.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 60, "title": "guide.antarchy.entry.queen.title", "subtitle": "guide.antarchy.entry.queen.subtitle", "description": [ diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json index 00e19421..1d3d1ac9 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/rainbow_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "general", + "folder": "antarchy:antlas", + "sort_order": 0, "title": "guide.antarchy.entry.rainbow_ant.title", "subtitle": "guide.antarchy.entry.rainbow_ant.subtitle", "description": [ diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/red_ant.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/red_ant.json index 092661b2..135afa58 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/red_ant.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/red_ant.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 0, "title": "guide.antarchy.entry.red_ant.title", "subtitle": "guide.antarchy.entry.red_ant.subtitle", "description": [ diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json index 5b1b5129..96d3a4a8 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/temporal_fields.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 30, "title": "guide.antarchy.entry.temporal_fields.title", "subtitle": "guide.antarchy.entry.temporal_fields.subtitle", "description": ["guide.antarchy.entry.temporal_fields.description", "guide.antarchy.entry.temporal_fields.description2", "guide.antarchy.entry.temporal_fields.description3"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/termite.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/termite.json index 7f5c7696..ce0f2ed8 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/termite.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/termite.json @@ -1,6 +1,8 @@ { "type": "entity", "category": "cavaryn", + "folder": "antarchy:cavaryn", + "sort_order": 0, "title": "guide.antarchy.entry.termite.title", "subtitle": "guide.antarchy.entry.termite.subtitle", "description": ["guide.antarchy.entry.termite.description", "guide.antarchy.entry.termite.description2", "guide.antarchy.entry.termite.description3", "guide.antarchy.entry.termite.description4"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json index c87ae3cf..ec65fb16 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/toreterror_arena.json @@ -1,6 +1,8 @@ { "type": "structure", "category": "elythia", + "folder": "antarchy:elythia", + "sort_order": 60, "title": "guide.antarchy.entry.toreterror.title", "subtitle": "guide.antarchy.entry.toreterror_arena.subtitle", "description": ["guide.antarchy.entry.toreterror_arena.description", "guide.antarchy.entry.toreterror_arena.description2"], diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/vortex.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/vortex.json index 401c1de5..d30193ec 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/vortex.json +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/vortex.json @@ -1,6 +1,8 @@ { "type": "article", "category": "thoraxis", + "folder": "antarchy:thoraxis", + "sort_order": 40, "title": "guide.antarchy.entry.vortex.title", "subtitle": "guide.antarchy.entry.vortex.subtitle", "description": ["guide.antarchy.entry.vortex.description", "guide.antarchy.entry.vortex.description2", "guide.antarchy.entry.vortex.description3"], diff --git a/common-1.21.1/src/main/resources/data/c/tags/entity_type/bosses.json b/common-1.21.1/src/main/resources/data/c/tags/entity_type/bosses.json new file mode 100644 index 00000000..bc3a319e --- /dev/null +++ b/common-1.21.1/src/main/resources/data/c/tags/entity_type/bosses.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "antarchy:king", + "antarchy:queen" + ] +} diff --git a/forge-1.20.1/build.gradle b/forge-1.20.1/build.gradle index 244222c7..d5dbc825 100644 --- a/forge-1.20.1/build.gradle +++ b/forge-1.20.1/build.gradle @@ -23,7 +23,7 @@ repositories { maven { url = 'https://www.cursemaven.com' } maven { url = 'https://maven.blamejared.com' } maven { url = 'https://jitpack.io' } - flatDir { dirs file('../anthology_jars'), file('../infinite_dimensions_jars'), file('../integrated_api_jars') } + flatDir { dirs file('libs'), file('../anthology_jars'), file('../infinite_dimensions_jars'), file('../integrated_api_jars') } maven { name = "GeckoLib" url = "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/" @@ -99,6 +99,10 @@ dependencies { implementation fg.deobf("com.craisinlord:anthology:${anthology_version}+1.20.1-forge") + runtimeOnly fg.deobf("local.compat:Apotheosis-1.20.1:7.4.8") + runtimeOnly fg.deobf("local.compat:Placebo-1.20.1:8.6.3") + runtimeOnly fg.deobf("local.compat:ApothicAttributes-1.20.1:1.3.7") + compileOnly("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_forge}") runtimeOnly fg.deobf("curse.maven:sizeable_foliage-${sizeable_foliage_curseforge_id}:${sizeable_foliage_curseforge_file_id_forge}") diff --git a/forge-1.20.1/gradle.properties b/forge-1.20.1/gradle.properties index cb4c2f1a..0dcc5423 100644 --- a/forge-1.20.1/gradle.properties +++ b/forge-1.20.1/gradle.properties @@ -6,7 +6,7 @@ mod_name=Antarchy mod_description=ANTS! ANTS! ANTS! ANTS! mod_authors=CraisinLord mod_group_id=com.craisinlord -mod_version=1.0.4 +mod_version=2.2.4 mod_license=All Rights Reserved minecraft_version=1.20.1 diff --git a/forge-1.20.1/libs/Apotheosis-1.20.1-7.4.8.jar b/forge-1.20.1/libs/Apotheosis-1.20.1-7.4.8.jar new file mode 100644 index 00000000..40caf5b9 Binary files /dev/null and b/forge-1.20.1/libs/Apotheosis-1.20.1-7.4.8.jar differ diff --git a/forge-1.20.1/libs/ApothicAttributes-1.20.1-1.3.7.jar b/forge-1.20.1/libs/ApothicAttributes-1.20.1-1.3.7.jar new file mode 100644 index 00000000..68b18dda Binary files /dev/null and b/forge-1.20.1/libs/ApothicAttributes-1.20.1-1.3.7.jar differ diff --git a/forge-1.20.1/libs/Placebo-1.20.1-8.6.3.jar b/forge-1.20.1/libs/Placebo-1.20.1-8.6.3.jar new file mode 100644 index 00000000..923c3ea9 Binary files /dev/null and b/forge-1.20.1/libs/Placebo-1.20.1-8.6.3.jar differ diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/mixins/infinity/ConfigGenInvocationMixin.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/mixins/infinity/ConfigGenInvocationMixin.java index 0ecac713..088e752e 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/mixins/infinity/ConfigGenInvocationMixin.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/mixins/infinity/ConfigGenInvocationMixin.java @@ -22,9 +22,9 @@ public class ConfigGenInvocationMixin { private void antarchy$safeGenerateAll(MinecraftServer server) { try { ConfigGenerator.generateAll(server); - } catch (Exception e) { + } catch (Exception | LinkageError e) { Antarchy.LOGGER.error( - "[Antarchy] Infinite Dimensions surface rule scan crashed — likely a mod has a malformed surface rule (null 'biome_is' entry). Player login will continue.", + "[Antarchy] Infinite Dimensions config generation crashed — likely a mod with a malformed surface rule or a mismatched dependency. Player login will continue.", e ); } diff --git a/gradle.properties b/gradle.properties index 37b89bac..d7169340 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ org.gradle.configureondemand=true minecraft_version_1_21_1=1.21.1 modid=antarchy mod_id=antarchy -mod_version=2.2.2 +mod_version=2.2.5 maven_group=com.craisinlord mixin_version=0.15.4+mixin.0.8.7 diff --git a/infinite_dimensions_jars/Pehkui-3.7.8+1.14.4-1.20.1.jar b/infinite_dimensions_jars/Pehkui-3.7.8+1.14.4-1.20.1.jar new file mode 100644 index 00000000..0bcba9f9 Binary files /dev/null and b/infinite_dimensions_jars/Pehkui-3.7.8+1.14.4-1.20.1.jar differ diff --git a/infinite_dimensions_jars/antos-fabric-1.21.1-1.2.1.jar b/infinite_dimensions_jars/antos-fabric-1.21.1-1.2.1.jar new file mode 100644 index 00000000..3f9fb64a Binary files /dev/null and b/infinite_dimensions_jars/antos-fabric-1.21.1-1.2.1.jar differ diff --git a/infinite_dimensions_jars/antos-forge-1.20.1-1.4.0.jar b/infinite_dimensions_jars/antos-forge-1.20.1-1.4.0.jar new file mode 100644 index 00000000..7ce4568f Binary files /dev/null and b/infinite_dimensions_jars/antos-forge-1.20.1-1.4.0.jar differ diff --git a/infinite_dimensions_jars/antos-neoforge-1.21.1-1.2.1.jar b/infinite_dimensions_jars/antos-neoforge-1.21.1-1.2.1.jar new file mode 100644 index 00000000..da51c3f9 Binary files /dev/null and b/infinite_dimensions_jars/antos-neoforge-1.21.1-1.2.1.jar differ diff --git a/infinite_dimensions_jars/cloth-config-15.0.140-fabric.jar b/infinite_dimensions_jars/cloth-config-15.0.140-fabric.jar new file mode 100644 index 00000000..ed461988 Binary files /dev/null and b/infinite_dimensions_jars/cloth-config-15.0.140-fabric.jar differ diff --git a/infinite_dimensions_jars/infinity-2.7.2+1.20.1-fabric.jar b/infinite_dimensions_jars/infinity-2.7.2+1.20.1-fabric.jar new file mode 100644 index 00000000..9e95014c Binary files /dev/null and b/infinite_dimensions_jars/infinity-2.7.2+1.20.1-fabric.jar differ diff --git a/infinite_dimensions_jars/infinity-2.7.2+1.20.1-forge.jar b/infinite_dimensions_jars/infinity-2.7.2+1.20.1-forge.jar new file mode 100644 index 00000000..2c3b9329 Binary files /dev/null and b/infinite_dimensions_jars/infinity-2.7.2+1.20.1-forge.jar differ diff --git a/infinite_dimensions_jars/infinity-2.7.3+1.21.1-fabric.jar b/infinite_dimensions_jars/infinity-2.7.3+1.21.1-fabric.jar new file mode 100644 index 00000000..84c7ceb3 Binary files /dev/null and b/infinite_dimensions_jars/infinity-2.7.3+1.21.1-fabric.jar differ diff --git a/infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar b/infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar new file mode 100644 index 00000000..f3d6fbd2 Binary files /dev/null and b/infinite_dimensions_jars/infinity-2.7.3+1.21.1-neoforge.jar differ diff --git a/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar b/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar new file mode 100644 index 00000000..dbb38fe8 Binary files /dev/null and b/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar differ diff --git a/infinite_dimensions_jars/sodium-fabric-0.8.13+mc1.21.1.jar b/infinite_dimensions_jars/sodium-fabric-0.8.13+mc1.21.1.jar new file mode 100644 index 00000000..ae50bf65 Binary files /dev/null and b/infinite_dimensions_jars/sodium-fabric-0.8.13+mc1.21.1.jar differ diff --git a/infinite_dimensions_jars/sodium-neoforge-0.8.13+mc1.21.1.jar b/infinite_dimensions_jars/sodium-neoforge-0.8.13+mc1.21.1.jar new file mode 100644 index 00000000..9cea5b7f Binary files /dev/null and b/infinite_dimensions_jars/sodium-neoforge-0.8.13+mc1.21.1.jar differ diff --git a/infinite_dimensions_jars/stellarview-1.21.1-0.5.3-neoforge.jar b/infinite_dimensions_jars/stellarview-1.21.1-0.5.3-neoforge.jar new file mode 100644 index 00000000..817c5223 Binary files /dev/null and b/infinite_dimensions_jars/stellarview-1.21.1-0.5.3-neoforge.jar differ diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGenInvocationMixin.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGenInvocationMixin.java index 49ff99aa..acfe4701 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGenInvocationMixin.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGenInvocationMixin.java @@ -22,9 +22,9 @@ public class ConfigGenInvocationMixin { private void antarchy$safeGenerateAll(MinecraftServer server) { try { ConfigGenerator.generateAll(server); - } catch (Exception e) { + } catch (Exception | LinkageError e) { Antarchy.LOGGER.error( - "[Antarchy] Infinite Dimensions surface rule scan crashed — likely a mod has a malformed surface rule (null 'biome_is' entry). Player login will continue.", + "[Antarchy] Infinite Dimensions config generation crashed — likely a mod with a malformed surface rule or a mismatched dependency. Player login will continue.", e ); } diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGeneratorMixin.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGeneratorMixin.java index 2fe25b4b..935c4198 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGeneratorMixin.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/mixins/infinity/ConfigGeneratorMixin.java @@ -20,7 +20,7 @@ public interface ConfigGeneratorMixin { remap = false, require = 0 ) - static void antarchy$skipBrokenBlockEntityFactories( + private static void antarchy$skipBrokenBlockEntityFactories( Set>> entries, Consumer>> scan) { InfinityBlockEntityScanGuard.forEach(entries, scan, (entry, error) ->