kings tree implementation

tons of 1.20 files
This commit is contained in:
craisinlord committed 2026-09-10 09:51:32 -05:00
1 parent f4f4e0c717
commit 326c503ddb
3734 files changed
+121959 -8

No files matched your search

@@ -116,6 +116,10 @@ public final class AntarchyFabric implements ModInitializer {
Registries.PLACED_FEATURE,
new ResourceLocation(Antarchy.MODID, "titanium_ore")
);
private static final ResourceKey<PlacedFeature> KINGS_TREE_GRID = ResourceKey.create(
Registries.PLACED_FEATURE,
new ResourceLocation(Antarchy.MODID, "kings_tree_grid")
);
private static final ResourceKey<PlacedFeature> FLOWER_FOREST_MILKWEED = ResourceKey.create(
Registries.PLACED_FEATURE,
new ResourceLocation(Antarchy.MODID, "flower_forest_milkweed")
@@ -262,6 +266,11 @@ public final class AntarchyFabric implements ModInitializer {
GenerationStep.Decoration.UNDERGROUND_ORES,
TITANIUM_ORE
);
BiomeModifications.addFeature(
BiomeSelectors.tag(IS_ELYTHIA),
GenerationStep.Decoration.VEGETAL_DECORATION,
KINGS_TREE_GRID
);
BiomeModifications.addFeature(
BiomeSelectors.tag(MILKWEED_SPAWN_BIOMES),
GenerationStep.Decoration.VEGETAL_DECORATION,
@@ -448,7 +448,9 @@ public final class AntarchyFabricContent {
com.craisinlord.antarchy.content.time.TimeDilationApi.setFieldSyncDispatcher(
com.craisinlord.antarchy.fabric.network.AntarchyFabricTimeDilationNetworking::syncFields);
AntarchyObjects.setTimeDilationField(() -> AntarchyFabricEntities.TIME_DILATION_FIELD.get());
AntarchyObjects.setRoyalAssailantBlackHole(() -> AntarchyFabricEntities.ROYAL_ASSAILANT_BLACK_HOLE.get());
AntarchyObjects.setDilatedEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.DILATED));
AntarchyObjects.setContractedEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.CONTRACTED));
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSendToPlayer((player, payload) ->
AntarchyFabricNetworking.sendToPlayer(player, payload,
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.STREAM_CODEC,
@@ -125,6 +125,7 @@ public final class AntarchyFabricClientBootstrap {
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.ROYAL_ASSAILANT_BLACK_HOLE.get(), com.craisinlord.antarchy.content.client.renderer.RoyalAssailantBlackHoleRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BED_BUG.get(), BedBugRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.WASP.get(), WaspRenderer::new);
@@ -455,6 +456,8 @@ public final class AntarchyFabricClientBootstrap {
registrationHelper.register(new GlimmeringLivingLayer(playerRenderer));
registrationHelper.register(new BrutalflyElytraLayer(playerRenderer));
registrationHelper.register(new FallenKingCrownLayer(playerRenderer));
registrationHelper.register(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionAfterimageLayer(playerRenderer));
registrationHelper.register(new com.craisinlord.antarchy.content.client.renderer.RoyalAssailantAxeAfterimageLayer(playerRenderer));
}
return;
}
@@ -467,11 +470,13 @@ public final class AntarchyFabricClientBootstrap {
(software.bernie.geckolib.renderer.GeoEntityRenderer) (Object) renderer;
geoRenderer.addRenderLayer(new ParalyzedStoneGeoLayer(geoRenderer));
geoRenderer.addRenderLayer(new GoopedGeoLayer(geoRenderer));
geoRenderer.addRenderLayer(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionGeoLayer(geoRenderer));
return;
}
registrationHelper.register(new ParalyzedStoneLivingLayer(renderer));
registrationHelper.register(new GoopedLivingLayer(renderer));
registrationHelper.register(new GlimmeringLivingLayer(renderer));
registrationHelper.register(new com.craisinlord.antarchy.content.client.renderer.TemporalContractionAfterimageLayer(renderer));
});
}
@@ -479,6 +484,7 @@ public final class AntarchyFabricClientBootstrap {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.level != null) {
com.craisinlord.antarchy.content.client.ClientTimeDilationTicker.tick(client.level);
com.craisinlord.antarchy.content.client.ContractionAfterimages.tick(client.level);
}
CameraShakeClientState.tick();
HerculesBeetleImpactShakeClientState.tick();
@@ -1,4 +1,6 @@
package com.craisinlord.antarchy.fabric.content.fluid;
import com.craisinlord.antarchy.content.fluid.AntiwaterBubbleColumnUtil;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricBlocks;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricItems;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricMisc;
@@ -169,6 +171,8 @@ public abstract class AntiwaterFluid extends FlowingFluid {
return;
}
AntiwaterBubbleColumnUtil.update(level, pos, state);
if (!state.isSource() && !this.isFlowingStateValid(level, pos, state)) {
level.setBlockAndUpdate(pos, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState());
this.scheduleCleanup(level, pos);
@@ -0,0 +1,38 @@
package com.craisinlord.antarchy.fabric.network;
import com.craisinlord.antarchy.content.network.TimeDilationFieldsPayload;
import com.craisinlord.antarchy.content.network.TimeDilationRatePayload;
import com.craisinlord.antarchy.content.time.TimeDilationFieldSnapshot;
import com.craisinlord.antarchy.content.time.TimeDilationApi;
import java.util.List;
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.Entity;
public final class AntarchyFabricTimeDilationNetworking {
private AntarchyFabricTimeDilationNetworking() {}
public static void syncRate(Entity entity, double rate) {
TimeDilationRatePayload payload = new TimeDilationRatePayload(entity.getUUID(), rate);
for (ServerPlayer player : PlayerLookup.tracking(entity)) {
AntarchyFabricNetworking.sendToPlayer(player, payload, TimeDilationRatePayload.STREAM_CODEC, TimeDilationRatePayload.TYPE);
}
if (entity instanceof ServerPlayer player) {
AntarchyFabricNetworking.sendToPlayer(player, payload, TimeDilationRatePayload.STREAM_CODEC, TimeDilationRatePayload.TYPE);
}
}
public static void syncRateToPlayer(ServerPlayer player, Entity entity, double rate) {
TimeDilationRatePayload payload = new TimeDilationRatePayload(entity.getUUID(), rate);
AntarchyFabricNetworking.sendToPlayer(player, payload, TimeDilationRatePayload.STREAM_CODEC, TimeDilationRatePayload.TYPE);
}
public static void syncFields(ServerPlayer player, List<TimeDilationFieldSnapshot> fields) {
AntarchyFabricNetworking.sendToPlayer(player, new TimeDilationFieldsPayload(fields),
TimeDilationFieldsPayload.STREAM_CODEC, TimeDilationFieldsPayload.TYPE);
}
public static void handleRate(Entity ignored, TimeDilationRatePayload payload) {
TimeDilationApi.applySyncedRate(payload.entityUuid(), payload.rate());
}
}
@@ -468,6 +468,14 @@ public final class AntarchyFabricEntities {
.updateInterval(20)
.build("time_dilation_field"));
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>> ROYAL_ASSAILANT_BLACK_HOLE = ENTITY_TYPES.register("royal_assailant_black_hole",
() -> EntityType.Builder.<com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity>of(com.craisinlord.antarchy.content.entity.royal.RoyalAssailantBlackHoleEntity::new, MobCategory.MISC)
.sized(1.0F, 1.0F)
.clientTrackingRange(16)
.updateInterval(2)
.fireImmune()
.build("royal_assailant_black_hole"));
public static final DeferredHolder<EntityType<?>, EntityType<ToreterrorEntity>> TORETERROR = ENTITY_TYPES.register("toreterror",
() -> EntityType.Builder.of(ToreterrorEntity::new, MobCategory.MONSTER)
@@ -30,6 +30,7 @@ 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.effect.ContractedMobEffect;
import com.craisinlord.antarchy.content.worldgen.elythia.CoralSpikeFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.ElythiaBiomeSource;
import com.craisinlord.antarchy.content.worldgen.elythia.ElythiaRiverCarveFunction;
@@ -49,6 +50,7 @@ import com.craisinlord.antarchy.content.worldgen.elythia.LumenPoolFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.LumenLilyPadFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.LumenStreamFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.LumenSpireFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.KingsTreeGridFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.MolewormTunnelsFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.MolewormWarrensFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.OuranwoodCocoonTreeFeature;
@@ -350,6 +352,7 @@ 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, ContractedMobEffect> CONTRACTED = MOB_EFFECTS.register("contracted", ContractedMobEffect::new);
public static final DeferredHolder<MobEffect, StinkyMobEffect> STINKY = MOB_EFFECTS.register("stinky", StinkyMobEffect::new);
@@ -569,6 +572,9 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_FOREST_FLORA = FEATURES.register("elythia_forest_flora",
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FOREST));
public static final DeferredHolder<Feature<?>, KingsTreeGridFeature> KINGS_TREE_GRID = FEATURES.register("kings_tree_grid",
() -> new KingsTreeGridFeature(NoneFeatureConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_MEADOW_FLORA = FEATURES.register("elythia_meadow_flora",
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.MEADOW));