restructure mixins

This commit is contained in:
FalsePattern committed 2025-06-09 14:40:14 +02:00
1 parent 9637c27159
commit ebdfcd21aa
3 files changed
+387 -311

No files matched your search

@@ -31,7 +31,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
@Mixin(ChunkRadiationHandlerPRISM.SubChunk.class)
public abstract class ChunkRadiationHandlerPRISM_SubChunkMixin {
public abstract class ChunkRadiationHandlerPRISMSubChunkMixin {
@Redirect(method = "rebuild",
at = @At(value = "INVOKE",
target = "Lnet/minecraft/world/chunk/storage/ExtendedBlockStorage;getBlockLSBArray()[B"),
@@ -26,327 +26,397 @@ import com.falsepattern.endlessids.config.GeneralConfig;
import com.falsepattern.lib.mixin.IMixin;
import com.falsepattern.lib.mixin.ITargetedMod;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.val;
import java.util.List;
import java.util.function.Predicate;
import java.util.function.Supplier;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ABYSSALCRAFT;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.AM2;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ANTIIDCONFLICT;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ANTIQUEATLAS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ATG;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.BIOMETWEAKER;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.BIOMEWAND;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.BOP;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.BUILDCRAFT;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.CLIMATECONTROL;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.COFHLIB;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.COMPACTMACHINES;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.DARKWORLD;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.DIMDOORS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.DRAGONAPI;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.EB;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ENDERLICIOUS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.EREBUS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.EXTENDEDPLANETS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.EXTRAPLANETS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.EXTRAUTILITIES;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.FACTORIZATION;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.FUTUREPACK;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.GADOMANCY;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.GALACTICRAFTCORE;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.GALAXYSPACE;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.HBM_NTM;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.HIGHLANDS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.ICG;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.IR3;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.JAS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.LOTR;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.MATTERMEGADRIVE;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.MATTEROVERDRIVE;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.MFQM;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.NATURESCOMPASS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.NETHERLICIOUS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.NOMADICTENTS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.OWG;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.RANDOMTHINGS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.RESTRUCTURED;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.RTG;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.RWG;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.TARDIS;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.THAUMCRAFT;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.THUTCORE;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.TMOR;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.TROPICRAFT;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.TWILIGHTFOREST;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.UBC;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.WITCHERY;
import static com.falsepattern.endlessids.mixin.plugin.TargetedMod.WORLDEDIT;
import static com.falsepattern.lib.mixin.IMixin.PredicateHelpers.avoid;
import static com.falsepattern.lib.mixin.IMixin.PredicateHelpers.condition;
import static com.falsepattern.lib.mixin.IMixin.PredicateHelpers.require;
@RequiredArgsConstructor
public enum Mixin implements IMixin {
//region common
//region AntiIDConflict
AIDCAntiIdConflictBaseMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.AntiIdConflictBaseMixin"),
AIDCBiomesGenBasePlaceholderMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.BiomeGenBasePlaceholderMixin"),
AIDCBiomesManagerMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.BiomesManagerMixin"),
AIDCDimensionsManagerMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.DimensionsManagerMixin"),
AIDCEnchantementsManagerMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.EnchantementsManagerMixin"),
AIDCEntitiesManagerMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.EntitiesManagerMixin"),
AIDCPotionsManagerMixin(Side.COMMON, require(TargetedMod.ANTIIDCONFLICT), "antiidconflict.PotionsManagerMixin"),
//endregion AntiIDConflict
//region biome
//region vanilla
BiomeDictionaryMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome), "biome.vanilla.BiomeDictionaryMixin"),
BiomeGenBaseMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome), "biome.vanilla.BiomeGenBaseMixin"),
BiomeGenBasePlaceholderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome && GeneralConfig.biomeConflictAvoidancePlaceholders), "biome.vanilla.BiomeGenBasePlaceholderMixin"),
ChunkMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome), "biome.vanilla.ChunkMixin"),
GenLayerRiverMixMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(avoid(TargetedMod.DRAGONAPI)), "biome.vanilla.GenLayerRiverMixMixin"),
GenLayerVoronoiZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome), "biome.vanilla.GenLayerVoronoiZoomMixin"),
//endregion vanilla
//region AbyssalCraft
AbyssalCraftMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ABYSSALCRAFT)), "biome.abyssalcraft.AbyssalCraftMixin"),
//endregion AbyssalCraft
//region AntiqueAtlas
BiomeDetectorBaseMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ANTIQUEATLAS)), "biome.antiqueatlas.BiomeDetectorBaseMixin"),
BiomeDetectorNetherMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ANTIQUEATLAS)), "biome.antiqueatlas.BiomeDetectorNetherMixin"),
//endregion AntiqueAtlas
//region AdvancedRocketry
AdvancedRocketryMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.AROCKETRY)), "biome.arocketry.AdvancedRocketryMixin"),
ARocketryChunkProviderSpaceMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.AROCKETRY)), "biome.arocketry.ChunkProviderSpaceMixin"),
//endregion AdvancedRocketry
//region ATG
ATGBiomeConfigMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ATG)), "biome.atg.ATGBiomeConfigMixin"),
ATGBiomeManagerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ATG)), "biome.atg.ATGBiomeManagerMixin"),
ATGWorldGenRocksMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ATG)), "biome.atg.ATGWorldGenRocksMixin"),
//endregion ATG
//region BiomeTweaker
BiomeEventHandlerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BIOMETWEAKER)), "biome.biometweaker.BiomeEventHandlerMixin"),
//endregion BiomeTweaker
//region Biome Wand
BiomeWandItemMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BIOMEWAND)), "biome.biomewand.BiomeWandItemMixin"),
//endregion Biome Wand
//region BoP
BOPBiomeManagerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BOP)), "biome.bop.BOPBiomeManagerMixin"),
BOPBiomesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BOP)), "biome.bop.BOPBiomesMixin"),
//endregion BoP
//region Buildcraft
BuildcraftEnergyMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BUILDCRAFT)), "biome.buildcraft.BuildcraftEnergyMixin"),
//endregion Buildcraft
//region ClimateControl
ClimateControl_api_BiomeSettingsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.api.BiomeSettingsMixin"),
ClimateControl_api_ClimateControlRulesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.api.ClimateControlRulesMixin"),
ClimateControl_customGenLayer_ConfirmBiomeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.ConfirmBiomeMixin"),
ClimateControl_customGenLayer_GenLayerBiomeByClimateMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerBiomeByClimateMixin"),
ClimateControl_customGenLayer_GenLayerBiomeByTaggedClimateMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerBiomeByTaggedClimateMixin"),
ClimateControl_customGenLayer_GenLayerDefineClimateMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerDefineClimateMixin"),
ClimateControl_customGenLayer_GenLayerLowlandRiverMixMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerLowlandRiverMixMixin"),
ClimateControl_customGenLayer_GenLayerSmoothCoastMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerSmoothCoastMixin"),
ClimateControl_customGenLayer_GenLayerSubBiomeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.customGenLayer.GenLayerSubBiomeMixin"),
ClimateControl_generator_AbstractWorldGeneratorMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.generator.AbstractWorldGeneratorMixin"),
ClimateControl_generator_BiomeSwapperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.generator.BiomeSwapperMixin"),
ClimateControl_generator_SubBiomeChooserMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.generator.SubBiomeChooserMixin"),
ClimateControl_genLayerPack_GenLayerHillsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.genLayerPack.GenLayerHillsMixin"),
ClimateControl_genLayerPack_GenLayerPackMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.genLayerPack.GenLayerPackMixin"),
ClimateControl_genLayerPack_GenLayerSmoothMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.genLayerPack.GenLayerSmoothMixin"),
ClimateControl_genLayerPack_GenLayerVoronoiZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.genLayerPack.GenLayerVoronoiZoomMixin"),
ClimateControl_genLayerPack_GenLayerZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.CLIMATECONTROL)), "biome.climatecontrol.genLayerPack.GenLayerZoomMixin"),
//endregion ClimateControl
//region CompactMachines
CMCubeToolsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.COMPACTMACHINES)), "biome.compactmachines.CubeToolsMixin"),
//endregion CompactMachines
//region DarkWorld
DarkWorldModBiomesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DARKWORLD)), "biome.darkworld.ModBiomesMixin"),
//endregion DarkWorld
//region DimDoors
DDBiomeGenBaseMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DIMDOORS)), "biome.dimdoors.DDBiomeGenBaseMixin"),
//endregion DimDoors
//region DragonAPI
DragonAPIGenLayerRiverMixVanillaMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DRAGONAPI)), "biome.dragonapi.vanilla.GenLayerRiverMixMixin"),
DragonAPIGenLayerRiverEventMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DRAGONAPI)), "biome.dragonapi.GenLayerRiverEventMixin"),
DragonAPIBiomeIDTypeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DRAGONAPI)), "biome.dragonapi.IDTypeMixin"),
ReikaChunkHelperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DRAGONAPI)), "biome.dragonapi.ReikaChunkHelperMixin"),
ReikaWorldHelperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.DRAGONAPI)), "biome.dragonapi.ReikaWorldHelperMixin"),
//endregion DragonAPI
//region EnhancedBiomes
EBBiomeIDsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EB)), "biome.eb.BiomeIDsMixin"),
EBGenLayerArchipelagoEdgeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EB)), "biome.eb.GenLayerArchipelagoEdgeMixin"),
EBGenLayerEBHillsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EB)), "biome.eb.GenLayerEBHillsMixin"),
EBGenLayerEBRiverMixMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EB)), "biome.eb.GenLayerEBRiverMixMixin"),
EBGenLayerEBVoronoiZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EB)), "biome.eb.GenLayerEBVoronoiZoomMixin"),
//endregion EnhancedBiomes
//region Enderlicious
EnderliciousBiomeConfigurationMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ENDERLICIOUS)), "biome.enderlicious.BiomeConfigurationMixin"),
EnderliciousEndChunkProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ENDERLICIOUS)), "biome.enderlicious.EndChunkProviderMixin"),
//endregion Enderlicious
//region Erebus
ErebusModBiomesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EREBUS)), "biome.erebus.ModBiomesMixin"),
//endregion Erebus
//region Extended Planets
ChunkProviderOceanMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EXTENDEDPLANETS)), "biome.extendedplanets.ChunkProviderOceanMixin"),
//endregion
//region ExtraPlanets
ExtraPlanetsConfigMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EXTRAPLANETS)), "biome.extraplanets.ConfigMixin"),
//endregion ExtraPlanets
//region ExtraUtilities
ChunkProviderEndOfTimeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.EXTRAUTILITIES)), "biome.extrautilities.ChunkProviderEndOfTimeMixin"),
//endregion ExtraUtilities
//region Factorization
HammerChunkProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.FACTORIZATION)), "biome.factorization.HammerChunkProviderMixin"),
//endregion
//region Futurepack
FuturepackBiomeGenSpaceMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.FUTUREPACK)), "biome.futurepack.BiomeGenSpaceMixin"),
//endregion Futurepack
//region Gadomancy
ChunkProviderTCOuterMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GADOMANCY)), "biome.gadomancy.ChunkProviderTCOuterMixin"),
//endregion
//region GalactiCraftCore
GalactiCraftConfigManagerCoreMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GALACTICRAFTCORE)), "biome.galacticraft.ConfigManagerCoreMixin"),
//endregion GalactiCraftCore
//region GalaxySpace
GSChunkProviderKuiperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GALAXYSPACE)), "biome.galaxyspace.ChunkProviderKuiperMixin"),
GSChunkProviderMarsSSMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GALAXYSPACE)), "biome.galaxyspace.ChunkProviderMarsSSMixin"),
GSChunkProviderSpaceLakesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GALAXYSPACE)), "biome.galaxyspace.ChunkProviderSpaceLakesMixin"),
GSChunkProviderVenusSSMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.GALAXYSPACE)), "biome.galaxyspace.ChunkProviderVenusSSMixin"),
//endregion GalaxySpace
//region Highlands
HighlandsConfigMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.HIGHLANDS)), "biome.highlands.ConfigMixin"),
//endregion Highlands
//region ICG
ICGMysteriumPatchesFixesCaveMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.ICG)), "biome.icg.MysteriumPatchesFixesCaveMixin"),
//endregion ICG
//region Industrial Revolution by Redstone Rebooted
IR3IR2Mixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.IR3)), "biome.ir3.IR2Mixin"),
//endregion Industrial Revolution by Redstone Rebooted
//region Just Another Spawner
LegacyCreatureTypeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.JAS)), "biome.jas.LegacyCreatureTypeMixin"),
ModernCreatureTypeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.JAS)), "biome.jas.ModernCreatureTypeMixin"),
//endregion
//region LOTR
LOTRBiomeVariantStorageMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRBiomeVariantStorageMixin"),
LOTRChunkProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRChunkProviderMixin"),
LOTRChunkProviderUtumnoMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRChunkProviderUtumnoMixin"),
LOTRDimensionMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRDimensionMixin"),
LOTRPacketBiomeVariantsWatchHandlerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRPacketBiomeVariantsWatchHandlerMixin"),
LOTRWorldChunkManagerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRWorldChunkManagerMixin"),
LOTRWorldProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.LOTR)), "biome.lotr.LOTRWorldProviderMixin"),
//endregion LOTR
//region NaturesCompass
NaturesCompassBiomeUtilsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.NATURESCOMPASS)), "biome.naturescompass.BiomeUtilsMixin"),
//endregion NaturesCompass
//region Netherlicious
NetherliciousBiomeConfigurationMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.NETHERLICIOUS)), "biome.netherlicious.BiomeConfigurationMixin"),
//endregion Netherlicious
//region NomadicTents
NomadicTentsTentChunkProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.NOMADICTENTS)), "biome.nomadictents.TentChunkProviderMixin"),
//endregion NomadicTents
//region OWG
OWGChunkGeneratorBetaMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.OWG)), "biome.owg.ChunkGeneratorBetaMixin"),
//endregion OWG
//region RandomThings
ItemBiomePainterMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RANDOMTHINGS)), "biome.randomthings.ItemBiomePainterMixin"),
MessagePaintBiomeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RANDOMTHINGS)), "biome.randomthings.MessagePaintBiomeMixin"),
//endregion RandomThings
//region Restructured
RSBiomeHelperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RESTRUCTURED)), "biome.restructured.BiomeHelperMixin"),
//endregion Restructured
//region RTG
RTGChunkProviderRTGMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.ChunkProviderRTGMixin"),
RTGLandscapeGeneratorMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.LandscapeGeneratorMixin"),
RTGWorldChunkManagerRTGMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RTG)), "biome.rtg.WorldChunkManagerRTGMixin"),
//endregion RTG
//region RWG
RWGChunkGeneratorRealisticMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RWG)), "biome.rwg.ChunkGeneratorRealisticMixin"),
RWGRealisticBiomeBaseMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RWG)), "biome.rwg.RealisticBiomeBaseMixin"),
RWGVillageMaterialsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.RWG)), "biome.rwg.VillageMaterialsMixin"),
//endregion RWG
//region TARDIS Mod
TardisChunkProviderMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.TARDIS)), "biome.tardismod.TardisChunkProviderMixin"),
//endregion
//region Thaumcraft
ThaumcraftUtilsMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.THAUMCRAFT)), "biome.thaumcraft.UtilsMixin"),
//endregion Thaumcraft
//region ThutCore
ThutVector3Mixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.THUTCORE)), "biome.thut.Vector3Mixin"),
//endregion ThutCore
//region The Mists of RioV
ChunkProviderSanctuatiteMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.TMOR)), "biome.tmor.ChunkProviderSanctuatiteMixin"),
//endregion
//region Tropicraft
GenLayerTropiVoronoiZoomMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.TROPICRAFT)), "biome.tropicraft.GenLayerTropiVoronoiZoomMixin"),
//endregion Tropicraft
//region TwilightForest
TFBiomeBaseMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.TWILIGHTFOREST)), "biome.twilightforest.TFBiomeBaseMixin"),
//endregion TwilightForest
//region Witchery
WitcheryWorldChunkManagerMirrorMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.WITCHERY)), "biome.witchery.WorldChunkManagerMirrorMixin"),
WitcheryBrewActionBiomeChangeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.WITCHERY)), "biome.witchery.BrewActionBiomeChangeMixin"),
//endregion Witchery
//endregion biome
//region blockitem
//region vanilla
BlockFireMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.BlockFireMixin"),
BlockMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.BlockMixin"),
ExtendedBlockStorageMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.ExtendedBlockStorageMixin"),
ItemInWorldManagerMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.ItemInWorldManagerMixin"),
ItemStackMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.ItemStackMixin"),
PacketBufferMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.PacketBufferMixin"),
S22PacketMultiBlockChangeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.S22PacketMultiBlockChangeMixin"),
S24PacketBlockActionMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.S24PacketBlockActionMixin"),
StatListMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.StatListMixin"),
WorldMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.WorldMixin"),
//endregion vanilla
//region CoFHLib
CoFHLibCofhBlockHelperMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.COFHLIB)), "blockitem.cofhlib.BlockHelperMixin"),
//endregion CoFHLib
//region DragonAPI
DragonAPIBlockPropertiesMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.DRAGONAPI)), "blockitem.dragonapi.BlockPropertiesMixin"),
DragonAPIBlockItemIDTypeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.DRAGONAPI)), "blockitem.dragonapi.IDTypeMixin"),
//endregion DragonAPI
//region HBM's Nuclear Tech Nod
NTMChunkRadiationHandlerPRISMMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.HBM_NTM)), "blockitem.ntm.ChunkRadiationHandlerPRISMMixin"),
NTMChunkRadiationHandlerPRISM_SubChunkMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.HBM_NTM)), "blockitem.ntm.ChunkRadiationHandlerPRISM_SubChunkMixin"),
//endregion HBM's Nuclear Tech Nod
//region Matter Overdrive
MOInventoryMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.MATTEROVERDRIVE).or(require(TargetedMod.MATTERMEGADRIVE))), "blockitem.matteroverdrive.InventoryMixin"),
MOItemPatternMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.MATTEROVERDRIVE).or(require(TargetedMod.MATTERMEGADRIVE))), "blockitem.matteroverdrive.ItemPatternMixin"),
//endregion Matter Overdrive
//region MFQM
MFQMMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.MFQM)), "blockitem.mfqm.MFQMMixin"),
//endregion MFQM
//region WorldEdit
WorldEditBaseBlockMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.WORLDEDIT)), "blockitem.worldedit.BaseBlockMixin"),
//endregion WorldEdit
//region UBC
UBCOreUBifierMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.UBC)), "blockitem.ubc.OreUBifierMixin"),
UBCBiomeUndergroundDecoratorMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem).and(require(TargetedMod.UBC)), "blockitem.ubc.BiomeUndergroundDecoratorMixin"),
//endregion UBC
//endregion blockitem
//region datawatcher
//region vanilla
DataWatcherMixin(Side.COMMON, condition(() -> GeneralConfig.extendDataWatcher), "datawatcher.vanilla.DataWatcherMixin"),
//endregion vanilla
//region MFQM
MFQMDataWatcherMixin(Side.COMMON, condition(() -> GeneralConfig.extendDataWatcher).and(require(TargetedMod.MFQM)), "datawatcher.mfqm.MFQMDataWatcherMixin"),
//endregion MFQM
//endregion datawatcher
//region enchantment
//region vanilla
EnchantmentMixin(Side.COMMON, condition(() -> GeneralConfig.extendEnchantment), "enchantment.vanilla.EnchantmentMixin"),
//endregion vanilla
//endregion enchantment
//region potion
//region vanilla
PotionEffectMixin(Side.COMMON, condition(() -> GeneralConfig.extendPotion), "potion.vanilla.PotionEffectMixin"),
PotionMixin(Side.COMMON, condition(() -> GeneralConfig.extendPotion), "potion.vanilla.PotionMixin"),
S1DPacketEntityEffectMixin(Side.COMMON, condition(() -> GeneralConfig.extendPotion).and(avoid(AM2)), "potion.vanilla.network.S1DPacketEntityEffectMixin"),
S1EPacketRemoveEntityEffectMixin(Side.COMMON, condition(() -> GeneralConfig.extendPotion).and(avoid(AM2)), "potion.vanilla.network.S1EPacketRemoveEntityEffectMixin"),
//endregion vanilla
//region Thaumcraft
common_potion_Thaumcraft_ConfigMixin(Side.COMMON, condition(() -> GeneralConfig.extendPotion).and(require(TargetedMod.THAUMCRAFT)), "potion.thaumcraft.ConfigMixin"),
//endregion Thaumcraft
//endregion potion
//region entity
//region vanilla
EntityListMixin(Side.COMMON, condition(() -> GeneralConfig.extendEntity), "entity.vanilla.EntityListMixin"),
EntityRegistryMixin(Side.COMMON, condition(() -> GeneralConfig.extendEntity), "entity.vanilla.EntityRegistryMixin"),
S0FPacketSpawnMobMixin(Side.COMMON, condition(() -> GeneralConfig.extendEntity), "entity.vanilla.S0FPacketSpawnMobMixin"),
//endregion vanilla
//endregion entity
//endregion common
public class Mixin {
private Mixin() {
}
//region client
//region biome
//region Biome Wand
BiomeWandItemClientMixin(Side.CLIENT, condition(() -> GeneralConfig.extendBiome).and(require(TargetedMod.BIOMEWAND)), "biome.biomewand.BiomeWandItemMixin"),
//endregion Biome Wand
//endregion biome
//region blockitem
//region vanilla
NetHandlerPlayClientMixinBlockItem(Side.CLIENT, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.NetHandlerPlayClientMixin"),
PlayerControllerMPMixin(Side.CLIENT, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.PlayerControllerMPMixin"),
RenderGlobalMixin(Side.CLIENT, condition(() -> GeneralConfig.extendBlockItem), "blockitem.vanilla.RenderGlobalMixin"),
//endregion vanilla
//endregion blockitem
//region potion
//region vanilla
NetHandlerPlayClientMixinPotion(Side.CLIENT, condition(() -> GeneralConfig.extendPotion).and(avoid(AM2)), "potion.vanilla.NetHandlerPlayClientMixin"),
//endregion vanilla
//endregion potion
//endregion client
public enum Common implements IMixin {
//region antiidconflict
antiidconflict_AntiIdConflictBaseMixin(require(ANTIIDCONFLICT)),
antiidconflict_BiomeGenBasePlaceholderMixin(require(ANTIIDCONFLICT)),
antiidconflict_BiomesManagerMixin(require(ANTIIDCONFLICT)),
antiidconflict_DimensionsManagerMixin(require(ANTIIDCONFLICT)),
antiidconflict_EnchantementsManagerMixin(require(ANTIIDCONFLICT)),
antiidconflict_EntitiesManagerMixin(require(ANTIIDCONFLICT)),
antiidconflict_PotionsManagerMixin(require(ANTIIDCONFLICT)),
//endregion
//region redstone
//region common
BlockCompressedPoweredMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.BlockCompressedPoweredMixin"),
BlockRedstoneDiodeMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.BlockRedstoneDiodeMixin"),
BlockRedstoneTorchMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.BlockRedstoneTorchMixin"),
RedstoneWorldMixin(Side.COMMON, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.WorldMixin"),
//endregion common
//region client
BlockRedstoneWireMixin(Side.CLIENT, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.BlockRedstoneWireMixin"),
RedstoneRenderBlocksMixin(Side.CLIENT, condition(() -> GeneralConfig.extendBlockItem && GeneralConfig.extendRedstone), "redstone.RenderBlocksMixin"),
//endregion client
//endregion redstone
//region biome
biome_vanilla_BiomeDictionaryMixin(EXT_BIOME),
biome_vanilla_BiomeGenBaseMixin(EXT_BIOME),
biome_vanilla_BiomeGenBasePlaceholderMixin(
all(EXT_BIOME, () -> GeneralConfig.biomeConflictAvoidancePlaceholders)),
biome_vanilla_ChunkMixin(EXT_BIOME),
biome_vanilla_GenLayerRiverMixMixin(EXT_BIOME, avoid(DRAGONAPI)),
biome_vanilla_GenLayerVoronoiZoomMixin(EXT_BIOME),
;
@Getter
private final Side side;
@Getter
private final Predicate<List<ITargetedMod>> filter;
@Getter
private final String mixin;
biome_abyssalcraft_AbyssalCraftMixin(EXT_BIOME, require(ABYSSALCRAFT)),
biome_antiqueatlas_BiomeDetectorBaseMixin(EXT_BIOME, require(ANTIQUEATLAS)),
biome_antiqueatlas_BiomeDetectorNetherMixin(EXT_BIOME, require(ANTIQUEATLAS)),
biome_atg_ATGBiomeConfigMixin(EXT_BIOME, require(ATG)),
biome_atg_ATGBiomeManagerMixin(EXT_BIOME, require(ATG)),
biome_atg_ATGWorldGenRocksMixin(EXT_BIOME, require(ATG)),
biome_biometweaker_BiomeEventHandlerMixin(EXT_BIOME, require(BIOMETWEAKER)),
biome_biomewand_BiomeWandItemMixin(EXT_BIOME, require(BIOMEWAND)),
biome_bop_BOPBiomeManagerMixin(EXT_BIOME, require(BOP)),
biome_bop_BOPBiomesMixin(EXT_BIOME, require(BOP)),
biome_buildcraft_BuildcraftEnergyMixin(EXT_BIOME, require(BUILDCRAFT)),
biome_climatecontrol_api_BiomeSettingsMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_api_ClimateControlRulesMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_ConfirmBiomeMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerBiomeByClimateMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerBiomeByTaggedClimateMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerDefineClimateMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerLowlandRiverMixMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerSmoothCoastMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_customGenLayer_GenLayerSubBiomeMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_generator_AbstractWorldGeneratorMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_generator_BiomeSwapperMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_generator_SubBiomeChooserMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_genLayerPack_GenLayerHillsMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_genLayerPack_GenLayerPackMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_genLayerPack_GenLayerSmoothMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_genLayerPack_GenLayerVoronoiZoomMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_climatecontrol_genLayerPack_GenLayerZoomMixin(EXT_BIOME, require(CLIMATECONTROL)),
biome_compactmachines_CubeToolsMixin(EXT_BIOME, require(COMPACTMACHINES)),
biome_darkworld_ModBiomesMixin(EXT_BIOME, require(DARKWORLD)),
biome_dimdoors_DDBiomeGenBaseMixin(EXT_BIOME, require(DIMDOORS)),
biome_dragonapi_vanilla_GenLayerRiverMixMixin(EXT_BIOME, require(DRAGONAPI)),
biome_dragonapi_GenLayerRiverEventMixin(EXT_BIOME, require(DRAGONAPI)),
biome_dragonapi_IDTypeMixin(EXT_BIOME, require(DRAGONAPI)),
biome_dragonapi_ReikaChunkHelperMixin(EXT_BIOME, require(DRAGONAPI)),
biome_dragonapi_ReikaWorldHelperMixin(EXT_BIOME, require(DRAGONAPI)),
biome_eb_BiomeIDsMixin(EXT_BIOME, require(EB)),
biome_eb_GenLayerArchipelagoEdgeMixin(EXT_BIOME, require(EB)),
biome_eb_GenLayerEBHillsMixin(EXT_BIOME, require(EB)),
biome_eb_GenLayerEBRiverMixMixin(EXT_BIOME, require(EB)),
biome_eb_GenLayerEBVoronoiZoomMixin(EXT_BIOME, require(EB)),
biome_enderlicious_BiomeConfigurationMixin(EXT_BIOME, require(ENDERLICIOUS)),
biome_enderlicious_EndChunkProviderMixin(EXT_BIOME, require(ENDERLICIOUS)),
biome_erebus_ModBiomesMixin(EXT_BIOME, require(EREBUS)),
biome_extendedplanets_ChunkProviderOceanMixin(EXT_BIOME, require(EXTENDEDPLANETS)),
biome_extraplanets_ConfigMixin(EXT_BIOME, require(EXTRAPLANETS)),
biome_extrautilities_ChunkProviderEndOfTimeMixin(EXT_BIOME, require(EXTRAUTILITIES)),
biome_factorization_HammerChunkProviderMixin(EXT_BIOME, require(FACTORIZATION)),
biome_futurepack_BiomeGenSpaceMixin(EXT_BIOME, require(FUTUREPACK)),
biome_gadomancy_ChunkProviderTCOuterMixin(EXT_BIOME, require(GADOMANCY)),
biome_galacticraft_ConfigManagerCoreMixin(EXT_BIOME, require(GALACTICRAFTCORE)),
biome_galaxyspace_ChunkProviderKuiperMixin(EXT_BIOME, require(GALAXYSPACE)),
biome_galaxyspace_ChunkProviderMarsSSMixin(EXT_BIOME, require(GALAXYSPACE)),
biome_galaxyspace_ChunkProviderSpaceLakesMixin(EXT_BIOME, require(GALAXYSPACE)),
biome_galaxyspace_ChunkProviderVenusSSMixin(EXT_BIOME, require(GALAXYSPACE)),
biome_highlands_ConfigMixin(EXT_BIOME, require(HIGHLANDS)),
biome_icg_MysteriumPatchesFixesCaveMixin(EXT_BIOME, require(ICG)),
biome_ir3_IR2Mixin(EXT_BIOME, require(IR3)),
biome_jas_LegacyCreatureTypeMixin(EXT_BIOME, require(JAS)),
biome_jas_ModernCreatureTypeMixin(EXT_BIOME, require(JAS)),
biome_lotr_LOTRBiomeVariantStorageMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRChunkProviderMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRChunkProviderUtumnoMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRDimensionMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRPacketBiomeVariantsWatchHandlerMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRWorldChunkManagerMixin(EXT_BIOME, require(LOTR)),
biome_lotr_LOTRWorldProviderMixin(EXT_BIOME, require(LOTR)),
biome_naturescompass_BiomeUtilsMixin(EXT_BIOME, require(NATURESCOMPASS)),
biome_netherlicious_BiomeConfigurationMixin(EXT_BIOME, require(NETHERLICIOUS)),
biome_nomadictents_TentChunkProviderMixin(EXT_BIOME, require(NOMADICTENTS)),
biome_owg_ChunkGeneratorBetaMixin(EXT_BIOME, require(OWG)),
biome_randomthings_ItemBiomePainterMixin(EXT_BIOME, require(RANDOMTHINGS)),
biome_randomthings_MessagePaintBiomeMixin(EXT_BIOME, require(RANDOMTHINGS)),
biome_restructured_BiomeHelperMixin(EXT_BIOME, require(RESTRUCTURED)),
biome_rtg_ChunkProviderRTGMixin(EXT_BIOME, require(RTG)),
biome_rtg_LandscapeGeneratorMixin(EXT_BIOME, require(RTG)),
biome_rtg_WorldChunkManagerRTGMixin(EXT_BIOME, require(RTG)),
biome_rwg_ChunkGeneratorRealisticMixin(EXT_BIOME, require(RWG)),
biome_rwg_RealisticBiomeBaseMixin(EXT_BIOME, require(RWG)),
biome_rwg_VillageMaterialsMixin(EXT_BIOME, require(RWG)),
biome_tardismod_TardisChunkProviderMixin(EXT_BIOME, require(TARDIS)),
biome_thaumcraft_UtilsMixin(EXT_BIOME, require(THAUMCRAFT)),
biome_thut_Vector3Mixin(EXT_BIOME, require(THUTCORE)),
biome_tmor_ChunkProviderSanctuatiteMixin(EXT_BIOME, require(TMOR)),
biome_tropicraft_GenLayerTropiVoronoiZoomMixin(EXT_BIOME, require(TROPICRAFT)),
biome_twilightforest_TFBiomeBaseMixin(EXT_BIOME, require(TWILIGHTFOREST)),
biome_witchery_WorldChunkManagerMirrorMixin(EXT_BIOME, require(WITCHERY)),
biome_witchery_BrewActionBiomeChangeMixin(EXT_BIOME, require(WITCHERY)),
//endregion
//region blockitem
blockitem_vanilla_BlockFireMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_BlockMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_ExtendedBlockStorageMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_ItemInWorldManagerMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_ItemStackMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_PacketBufferMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_S22PacketMultiBlockChangeMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_S24PacketBlockActionMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_StatListMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_WorldMixin(EXT_BLOCK_ITEM),
blockitem_cofhlib_BlockHelperMixin(EXT_BLOCK_ITEM, require(COFHLIB)),
blockitem_dragonapi_BlockPropertiesMixin(EXT_BLOCK_ITEM, require(DRAGONAPI)),
blockitem_dragonapi_IDTypeMixin(EXT_BLOCK_ITEM, require(DRAGONAPI)),
blockitem_ntm_ChunkRadiationHandlerPRISMMixin(EXT_BLOCK_ITEM, require(HBM_NTM)),
blockitem_ntm_ChunkRadiationHandlerPRISMSubChunkMixin(EXT_BLOCK_ITEM, require(HBM_NTM)),
blockitem_matteroverdrive_InventoryMixin(EXT_BLOCK_ITEM, require(MATTEROVERDRIVE).or(require(MATTERMEGADRIVE))),
blockitem_matteroverdrive_ItemPatternMixin(EXT_BLOCK_ITEM,
require(MATTEROVERDRIVE).or(require(MATTERMEGADRIVE))),
blockitem_mfqm_MFQMMixin(EXT_BLOCK_ITEM, require(MFQM)),
blockitem_worldedit_BaseBlockMixin(EXT_BLOCK_ITEM, require(WORLDEDIT)),
blockitem_ubc_OreUBifierMixin(EXT_BLOCK_ITEM, require(UBC)),
blockitem_ubc_BiomeUndergroundDecoratorMixin(EXT_BLOCK_ITEM, require(UBC)),
//endregion
//region datawatcher
datawatcher_vanilla_DataWatcherMixin(EXT_DATA_WATCHER),
datawatcher_mfqm_MFQMDataWatcherMixin(EXT_DATA_WATCHER, require(MFQM)),
//endregion
//region enchantment
enchantment_vanilla_EnchantmentMixin(EXT_ENCHANTMENT),
//endregion
//region entity
entity_vanilla_EntityListMixin(EXT_ENTITY),
entity_vanilla_EntityRegistryMixin(EXT_ENTITY),
entity_vanilla_S0FPacketSpawnMobMixin(EXT_ENTITY),
//endregion
//region potion
potion_vanilla_PotionEffectMixin(EXT_POTION),
potion_vanilla_PotionMixin(EXT_POTION),
potion_vanilla_network_S1DPacketEntityEffectMixin(EXT_POTION, avoid(AM2)),
potion_vanilla_network_S1EPacketRemoveEntityEffectMixin(EXT_POTION, avoid(AM2)),
potion_thaumcraft_ConfigMixin(EXT_POTION, require(THAUMCRAFT)),
//endregion
//region redstone
redstone_BlockCompressedPoweredMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
redstone_BlockRedstoneDiodeMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
redstone_BlockRedstoneTorchMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
redstone_WorldMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
//endregion
;
//region boilerplate
@Getter
private final Predicate<List<ITargetedMod>> filter;
@Getter
private final String mixin;
Common(Predicate<List<ITargetedMod>> predicate) {
filter = predicate;
mixin = buildMixin(name());
}
Common(Supplier<Boolean> condition) {
filter = buildPredicate(condition);
mixin = buildMixin(name());
}
Common(Supplier<Boolean> condition, Predicate<List<ITargetedMod>> predicate) {
filter = buildPredicate(condition).and(predicate);
mixin = buildMixin(name());
}
@Override
public Side getSide() {
return Side.COMMON;
}
//endregion
}
public enum Client implements IMixin {
//region biome
biome_biomewand_BiomeWandItemMixin(EXT_BIOME, require(BIOMEWAND)),
//endregion
//region blockitem
blockitem_vanilla_NetHandlerPlayClientMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_PlayerControllerMPMixin(EXT_BLOCK_ITEM),
blockitem_vanilla_RenderGlobalMixin(EXT_BLOCK_ITEM),
//endregion
//region potion
potion_vanilla_NetHandlerPlayClientMixin(EXT_POTION, avoid(AM2)),
//endregion
//region redstone
redstone_BlockRedstoneWireMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
redstone_RenderBlocksMixin(all(EXT_BLOCK_ITEM, EXT_REDSTONE)),
//endregion
;
//region boilerplate
@Getter
private final Predicate<List<ITargetedMod>> filter;
@Getter
private final String mixin;
Client(Supplier<Boolean> condition) {
filter = buildPredicate(condition);
mixin = buildMixin(name());
}
Client(Supplier<Boolean> condition, Predicate<List<ITargetedMod>> predicate) {
filter = buildPredicate(condition).and(predicate);
mixin = buildMixin(name());
}
@Override
public Side getSide() {
return Side.CLIENT;
}
//endregion
}
public static IMixin[] values() {
val common = Common.values();
val client = Client.values();
val result = new IMixin[common.length + client.length];
System.arraycopy(common, 0, result, 0, common.length);
System.arraycopy(client, 0, result, common.length, client.length);
return result;
}
//region boilerplate
private static Predicate<List<ITargetedMod>> buildPredicate(Supplier<Boolean> condition) {
return condition(condition);
}
private static String buildMixin(String name) {
return name.replace('_', '.');
}
private static final Supplier<Boolean> EXT_BIOME = () -> GeneralConfig.extendBiome;
private static final Supplier<Boolean> EXT_BLOCK_ITEM = () -> GeneralConfig.extendBlockItem;
private static final Supplier<Boolean> EXT_DATA_WATCHER = () -> GeneralConfig.extendDataWatcher;
private static final Supplier<Boolean> EXT_ENCHANTMENT = () -> GeneralConfig.extendEnchantment;
private static final Supplier<Boolean> EXT_POTION = () -> GeneralConfig.extendPotion;
private static final Supplier<Boolean> EXT_ENTITY = () -> GeneralConfig.extendEntity;
private static final Supplier<Boolean> EXT_REDSTONE = () -> GeneralConfig.extendRedstone;
@SafeVarargs
private static Supplier<Boolean> all(Supplier<Boolean>... conds) {
return () -> {
for (Supplier<Boolean> cond : conds) {
if (!cond.get()) {
return false;
}
}
return true;
};
}
//endregion
}
@@ -93,4 +93,10 @@ public enum TargetedMod implements ITargetedMod {
private final boolean loadInDevelopment;
@Getter
private final Predicate<String> condition;
@Override
public String toString() {
return modName;
}
}