time dilation and contraction effects, various fixes

This commit is contained in:
craisinlord committed 2026-09-09 09:37:55 -05:00
1 parent 68eba61022
commit 89d41dd7e1
192 files changed
+2962 -1981

No files matched your search

@@ -88,6 +88,8 @@ public final class AntarchyFabricContent {
net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry.registerPotionRecipe(net.minecraft.world.item.alchemy.Potions.AWKWARD, Ingredient.of(AntarchyFabricItems.CLOUD_SHARK_FIN.get()), net.minecraft.world.item.alchemy.Potions.SLOW_FALLING);
net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry.registerPotionRecipe(net.minecraft.world.item.alchemy.Potions.AWKWARD, Ingredient.of(AntarchyFabricItems.JUMPY_BUG_LEG.get()), Potions.LEAPING);
net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry.registerPotionRecipe(net.minecraft.world.item.alchemy.Potions.AWKWARD, Ingredient.of(AntarchyFabricItems.CORNEA_EAR.get()), net.minecraft.world.item.alchemy.Potions.NIGHT_VISION);
net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry.registerPotionRecipe(net.minecraft.world.item.alchemy.Potions.AWKWARD, Ingredient.of(AntarchyFabricItems.QUEEN_SCALE.get()), potionHolder(AntarchyFabricMisc.TIME_DILATION));
net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry.registerPotionRecipe(potionHolder(AntarchyFabricMisc.TIME_DILATION), Ingredient.of(Items.GLOWSTONE_DUST), potionHolder(AntarchyFabricMisc.LONG_TIME_DILATION));
AntarchyFabricSounds.SOUND_EVENTS.register();
AntarchyFabricMisc.FLUIDS.register();
@@ -441,6 +443,12 @@ public final class AntarchyFabricContent {
com.craisinlord.antarchy.fabric.network.AntarchyFabricNetworking.sendToPlayer(player, payload, com.craisinlord.antarchy.content.network.HordeIntensityPayload.STREAM_CODEC, com.craisinlord.antarchy.content.network.HordeIntensityPayload.TYPE));
BloodCrystalKatanaItem.setTrailCallback(AntarchyFabricNetworking::syncKatanaTrail);
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyFabricNetworking::syncGravityEntity);
com.craisinlord.antarchy.content.time.TimeDilationApi.setSyncDispatcher(
com.craisinlord.antarchy.fabric.network.AntarchyFabricTimeDilationNetworking::syncRate);
com.craisinlord.antarchy.content.time.TimeDilationApi.setFieldSyncDispatcher(
com.craisinlord.antarchy.fabric.network.AntarchyFabricTimeDilationNetworking::syncFields);
AntarchyObjects.setTimeDilationField(() -> AntarchyFabricEntities.TIME_DILATION_FIELD.get());
AntarchyObjects.setDilatedEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.DILATED));
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSendToPlayer((player, payload) ->
AntarchyFabricNetworking.sendToPlayer(player, payload,
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.STREAM_CODEC,
@@ -20,6 +20,8 @@ import com.craisinlord.antarchy.content.portal.PermanentPortalManager;
import com.craisinlord.antarchy.content.command.CavarynCommand;
import com.craisinlord.antarchy.content.command.CaterpillarCommand;
import com.craisinlord.antarchy.content.command.GravityCommand;
import com.craisinlord.antarchy.content.time.TimeDilationCommand;
import com.craisinlord.antarchy.content.time.TimeDilationManager;
import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents;
@@ -60,10 +62,18 @@ public final class AntarchyFabricEvents {
}
public static void register() {
net.fabricmc.fabric.api.networking.v1.EntityTrackingEvents.START_TRACKING.register((trackedEntity, player) -> {
if (trackedEntity instanceof com.craisinlord.antarchy.content.time.TimeDilationEntityAccess access) {
com.craisinlord.antarchy.fabric.network.AntarchyFabricTimeDilationNetworking.syncRateToPlayer(
player, trackedEntity, access.antarchy$getTimeDilationRate()
);
}
});
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
CavarynCommand.register(dispatcher);
GravityCommand.register(dispatcher);
CaterpillarCommand.register(dispatcher);
TimeDilationCommand.register(dispatcher);
});
DispenserBlock.registerBehavior(AntarchyFabricItems.SQUIDZOOKA.get(), new SquidzookaDispenseBehavior());
@@ -154,6 +164,7 @@ public final class AntarchyFabricEvents {
AttitudeAdjusterSlamManager.tick(level);
MinersDreamExcavationManager.tick(level);
}
TimeDilationManager.tickServer(server);
invertedPlayers.retainAll(activeThisTick);
});
}
@@ -124,6 +124,7 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_PORTAL.get(), NightmarePortalRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.DIMENSIONAL_TEAR.get(), DimensionalTearRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.TIME_DILATION_FIELD.get(), TimeDilationFieldRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BED_BUG.get(), BedBugRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.WASP.get(), WaspRenderer::new);
@@ -476,6 +477,9 @@ public final class AntarchyFabricClientBootstrap {
private static void registerClientCallbacks() {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.level != null) {
com.craisinlord.antarchy.content.client.ClientTimeDilationTicker.tick(client.level);
}
CameraShakeClientState.tick();
HerculesBeetleImpactShakeClientState.tick();
HordeClientState.tick();
@@ -87,5 +87,9 @@ public final class AntarchyFabricClientNetworking {
HordeClientState.update(payload.intensity()));
registerReceiver(TigerEyeCamouflageStatePayload.TYPE, TigerEyeCamouflageStatePayload.STREAM_CODEC, payload ->
TigerEyeCamouflageClientState.update(payload.entityId(), payload.active(), payload.blockStateId()));
registerReceiver(TimeDilationRatePayload.TYPE, TimeDilationRatePayload.STREAM_CODEC, payload ->
AntarchyFabricTimeDilationNetworking.handleRate(Minecraft.getInstance().player, payload));
registerReceiver(TimeDilationFieldsPayload.TYPE, TimeDilationFieldsPayload.STREAM_CODEC, payload ->
com.craisinlord.antarchy.content.client.ClientTimeDilationTicker.applyFields(payload.fields()));
}
}
@@ -28,6 +28,7 @@ import com.craisinlord.antarchy.content.entity.NadirChestBoatEntity;
import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity;
import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity;
import com.craisinlord.antarchy.content.entity.portal.DimensionalTearEntity;
import com.craisinlord.antarchy.content.time.TimeDilationFieldEntity;
import com.craisinlord.antarchy.content.entity.AlphaMantisEntity;
import com.craisinlord.antarchy.content.entity.MantisEntity;
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
@@ -460,6 +461,13 @@ public final class AntarchyFabricEntities {
.updateInterval(2)
.build("dimensional_tear"));
public static final DeferredHolder<EntityType<?>, EntityType<TimeDilationFieldEntity>> TIME_DILATION_FIELD = ENTITY_TYPES.register("time_dilation_field",
() -> EntityType.Builder.<TimeDilationFieldEntity>of(TimeDilationFieldEntity::new, MobCategory.MISC)
.sized(0.5F, 0.5F)
.clientTrackingRange(16)
.updateInterval(20)
.build("time_dilation_field"));
public static final DeferredHolder<EntityType<?>, EntityType<ToreterrorEntity>> TORETERROR = ENTITY_TYPES.register("toreterror",
() -> EntityType.Builder.of(ToreterrorEntity::new, MobCategory.MONSTER)
@@ -29,6 +29,7 @@ import com.craisinlord.antarchy.content.effect.InvertedMobEffect;
import com.craisinlord.antarchy.content.effect.ParalyzedMobEffect;
import com.craisinlord.antarchy.content.effect.ShrinkMobEffect;
import com.craisinlord.antarchy.content.effect.StinkyMobEffect;
import com.craisinlord.antarchy.content.effect.DilatedMobEffect;
import com.craisinlord.antarchy.content.worldgen.elythia.CoralSpikeFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.ElythiaBiomeSource;
import com.craisinlord.antarchy.content.worldgen.elythia.ElythiaRiverCarveFunction;
@@ -348,6 +349,8 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<MobEffect, InvertedMobEffect> INVERTED = MOB_EFFECTS.register("inverted", InvertedMobEffect::new);
public static final DeferredHolder<MobEffect, DilatedMobEffect> DILATED = MOB_EFFECTS.register("dilated", DilatedMobEffect::new);
public static final DeferredHolder<MobEffect, StinkyMobEffect> STINKY = MOB_EFFECTS.register("stinky", StinkyMobEffect::new);
@@ -379,6 +382,12 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<Potion, Potion> LONG_INVERSION = POTIONS.register("long_inversion",
() -> new Potion("inversion", new MobEffectInstance(mobEffectHolder(INVERTED), 2400)));
public static final DeferredHolder<Potion, Potion> TIME_DILATION = POTIONS.register("time_dilation",
() -> new Potion(new MobEffectInstance(mobEffectHolder(DILATED), 1200)));
public static final DeferredHolder<Potion, Potion> LONG_TIME_DILATION = POTIONS.register("long_time_dilation",
() -> new Potion("time_dilation", new MobEffectInstance(mobEffectHolder(DILATED), 1200, 1)));
public static final DeferredHolder<Potion, Potion> STINKY_POTION = POTIONS.register("stinky",
() -> new Potion(new MobEffectInstance(mobEffectHolder(STINKY), 1200)));
@@ -619,12 +628,12 @@ public final class AntarchyFabricMisc {
() -> new TriffidPatchFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<com.mojang.serialization.Codec<? extends BiomeSource>, com.mojang.serialization.Codec<ElythiaBiomeSource>> ELYTHIA_BIOME_SOURCE = BIOME_SOURCES.register("elythia_biome_source",
() -> ElythiaBiomeSource.CODEC.codec());
public static final DeferredHolder<com.mojang.serialization.Codec<? extends BiomeSource>, com.mojang.serialization.Codec<? extends BiomeSource>> ELYTHIA_BIOME_SOURCE = BIOME_SOURCES.register("elythia_biome_source",
() -> (com.mojang.serialization.Codec<? extends net.minecraft.world.level.biome.BiomeSource>) (com.mojang.serialization.Codec<?>) ElythiaBiomeSource.CODEC);
public static final DeferredHolder<com.mojang.serialization.Codec<? extends DensityFunction>, com.mojang.serialization.Codec<ElythiaRiverCarveFunction>> ELYTHIA_RIVER_CARVE = DENSITY_FUNCTION_TYPES.register("elythia_river_carve",
() -> ElythiaRiverCarveFunction.KEY_CODEC.codec());
public static final DeferredHolder<com.mojang.serialization.Codec<? extends DensityFunction>, com.mojang.serialization.Codec<? extends DensityFunction>> ELYTHIA_RIVER_CARVE = DENSITY_FUNCTION_TYPES.register("elythia_river_carve",
() -> (com.mojang.serialization.Codec<? extends net.minecraft.world.level.levelgen.DensityFunction>) (com.mojang.serialization.Codec<?>) ElythiaRiverCarveFunction.KEY_CODEC.codec());
public static final DeferredHolder<Feature<?>, ElythiaPondFeature> ELYTHIA_POND = FEATURES.register("elythia_pond",
@@ -782,8 +791,8 @@ public final class AntarchyFabricMisc {
() -> new com.craisinlord.antarchy.content.worldgen.elythia.FungalMushroomFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<com.mojang.serialization.Codec<? extends BiomeSource>, com.mojang.serialization.Codec<ThoraxisBiomeSource>> THORAXIS_BIOME_SOURCE = BIOME_SOURCES.register("thoraxis_biome_source",
() -> ThoraxisBiomeSource.CODEC.codec());
public static final DeferredHolder<com.mojang.serialization.Codec<? extends BiomeSource>, com.mojang.serialization.Codec<? extends BiomeSource>> THORAXIS_BIOME_SOURCE = BIOME_SOURCES.register("thoraxis_biome_source",
() -> (com.mojang.serialization.Codec<? extends net.minecraft.world.level.biome.BiomeSource>) (com.mojang.serialization.Codec<?>) ThoraxisBiomeSource.CODEC);
public static final ArmorMaterial JUMPY_BOOTS_ARMOR_MATERIAL = armorMaterial(