1.20 backport

This commit is contained in:
craisinlord committed 2026-10-14 17:39:56 -05:00
1 parent f7e7bebac3
commit d54264c6c8
4681 files changed
+61551 -78441

No files matched your search

@@ -601,7 +601,6 @@ public final class AntarchyConfigModuleNeoforge {
AntarchySettings.setShrinkingPotionDelta(AntarchyToolsConfig.shrinkingPotionDelta());
AntarchySettings.setGrowthPotionDelta(AntarchyToolsConfig.growthPotionDelta());
AntarchySettings.setInvertProjectilesFromInvertedPlayers(AntarchyToolsConfig.invertProjectilesFromInvertedPlayers());
AntarchySettings.setGravityGunEnabled(AntarchyToolsConfig.gravityGunEnabled());
AntarchySettings.setGravityGunBlocksEnabled(AntarchyToolsConfig.gravityGunBlocksEnabled());
@@ -264,7 +264,6 @@ public final class AntarchyToolsConfig {
private static final ModConfigSpec.DoubleValue DUCT_TAPE_REPAIR_PERCENT_PER_USE;
private static final ModConfigSpec.DoubleValue POTENT_NYXITE_INVERTED_DURATION_SECONDS;
private static final ModConfigSpec.BooleanValue INVERT_PROJECTILES_FROM_INVERTED_PLAYERS;
private static final ModConfigSpec.IntValue CORNEA_EAR_NIGHT_VISION_SECONDS;
private static final ModConfigSpec.BooleanValue AMERICAN_ENABLED;
private static final ModConfigSpec.IntValue AMERICAN_BONUS_NUTRITION;
@@ -579,18 +578,6 @@ public final class AntarchyToolsConfig {
b.pop();
// Gravity
b.push("gravity");
INVERT_PROJECTILES_FROM_INVERTED_PLAYERS = b
.comment(
"If true, projectiles fired by inverted players keep their inverted launch and gravity.",
"Affects bows, crossbows, throwables, and firework boosts."
)
.define("invertProjectilesFromInvertedPlayers", false);
b.pop();
// Gravity Gun
b.push("gravityGun");
@@ -804,7 +791,6 @@ public final class AntarchyToolsConfig {
static double shrinkingPotionDelta() { return SHRINKING_POTION_DELTA.get(); }
static double growthPotionDelta() { return GROWTH_POTION_DELTA.get(); }
static boolean invertProjectilesFromInvertedPlayers() { return INVERT_PROJECTILES_FROM_INVERTED_PLAYERS.get(); }
static boolean gravityGunEnabled() { return GRAVITY_GUN_ENABLED.get(); }
static boolean gravityGunBlocksEnabled() { return GRAVITY_GUN_BLOCKS_ENABLED.get(); }
@@ -0,0 +1,21 @@
package com.craisinlord.antarchy.neoforge;
import java.util.Set;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
public final class InfinityBlockEntityScanGuard {
private InfinityBlockEntityScanGuard() {
}
public static <T> void forEach(Set<T> entries, Consumer<? super T> scan,
BiConsumer<? super T, LinkageError> reportFailure) {
entries.forEach(entry -> {
try {
scan.accept(entry);
} catch (LinkageError error) {
reportFailure.accept(entry, error);
}
});
}
}
@@ -0,0 +1,31 @@
package com.craisinlord.antarchy.neoforge.mixins.infinity;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.neoforge.InfinityBlockEntityScanGuard;
import java.util.Set;
import java.util.function.Consumer;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.block.entity.BlockEntityType;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Pseudo
@Mixin(targets = "net.codexarchonic.infinity.util.config.ConfigGenerator", remap = false)
public interface ConfigGeneratorMixin {
@Redirect(
method = "generateBEs()V",
at = @At(value = "INVOKE", target = "Ljava/util/Set;forEach(Ljava/util/function/Consumer;)V", ordinal = 0),
remap = false,
require = 0
)
static void antarchy$skipBrokenBlockEntityFactories(
Set<ResourceKey<BlockEntityType<?>>> entries,
Consumer<ResourceKey<BlockEntityType<?>>> scan) {
InfinityBlockEntityScanGuard.forEach(entries, scan, (entry, error) ->
Antarchy.LOGGER.warn(
"[Antarchy] Skipping block entity {} in Infinite Dimensions' config scan because its factory has a linkage error. Check the owning mod's dependency versions; normal block placement is still affected.",
entry.location(), error));
}
}
@@ -9,6 +9,7 @@
"entity.ParalyzedMobFreezeMixin",
"infinity.AmendmentRareOresMixin",
"infinity.ConfigGenInvocationMixin",
"infinity.ConfigGeneratorMixin",
"infinity.PortalCreatorMixin",
"infinity.PortalCreatorInvoker",
"infinity.WarpLogicMixin"