giant lilypad lotus etc

This commit is contained in:
craisinlord committed 2026-07-16 21:08:01 -05:00
1 parent f192574150
commit bf101845f5
184 files changed
+3024 -3949

No files matched your search

@@ -208,6 +208,7 @@ public final class AntarchyConfigModuleFabric {
|| name.startsWith("squidzooka")
|| name.equals("invertProjectilesFromInvertedPlayers")
|| name.startsWith("gravityGun")
|| name.startsWith("critterCage")
|| name.startsWith("minersDream")
|| name.equals("potentNyxiteInvertedDurationSeconds")
|| name.equals("corneaEarNightVisionSeconds")
@@ -107,14 +107,6 @@ public final class AntarchyFabric implements ModInitializer {
Registries.PLACED_FEATURE,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "corn_patch")
);
private static final TagKey<net.minecraft.world.level.biome.Biome> HAS_STAR_CORAL = TagKey.create(
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "has_star_coral")
);
private static final ResourceKey<PlacedFeature> STAR_CORAL_PATCH = ResourceKey.create(
Registries.PLACED_FEATURE,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "star_coral_patch")
);
private static final TagKey<net.minecraft.world.level.biome.Biome> HAS_SEASHELL = TagKey.create(
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "has_seashell")
@@ -140,6 +132,14 @@ public final class AntarchyFabric implements ModInitializer {
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "is_cavaryn")
);
private static final TagKey<net.minecraft.world.level.biome.Biome> DORRIE_OVERWORLD_SPAWN_BIOMES = TagKey.create(
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "dorrie_overworld_spawn_biomes")
);
private static final TagKey<net.minecraft.world.level.biome.Biome> DORRIE_ELYTHIA_SPAWN_BIOMES = TagKey.create(
Registries.BIOME,
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "dorrie_elythia_spawn_biomes")
);
private static void registerWorldgenFeatures() {
BiomeModifications.addFeature(
@@ -221,11 +221,6 @@ public final class AntarchyFabric implements ModInitializer {
GenerationStep.Decoration.VEGETAL_DECORATION,
CORN_PATCH
);
BiomeModifications.addFeature(
BiomeSelectors.tag(HAS_STAR_CORAL),
GenerationStep.Decoration.VEGETAL_DECORATION,
STAR_CORAL_PATCH
);
BiomeModifications.addFeature(
BiomeSelectors.tag(HAS_SEASHELL),
GenerationStep.Decoration.VEGETAL_DECORATION,
@@ -261,5 +256,17 @@ public final class AntarchyFabric implements ModInitializer {
AntarchyFabricEntities.CATERPILLAR.get(),
24, 2, 4
);
BiomeModifications.addSpawn(
BiomeSelectors.tag(DORRIE_OVERWORLD_SPAWN_BIOMES),
net.minecraft.world.entity.MobCategory.CREATURE,
AntarchyFabricEntities.DORRIE.get(),
1, 1, 1
);
BiomeModifications.addSpawn(
BiomeSelectors.tag(DORRIE_ELYTHIA_SPAWN_BIOMES),
net.minecraft.world.entity.MobCategory.CREATURE,
AntarchyFabricEntities.DORRIE.get(),
10, 1, 2
);
}
}
@@ -282,7 +282,15 @@ public final class AntarchyFabricContent {
AntarchyObjects.setLumenBlock(() -> AntarchyFabricBlocks.LUMEN_BLOCK.get());
AntarchyObjects.setLumenFroglight(() -> AntarchyFabricBlocks.LUMEN_FROGLIGHT.get());
AntarchyObjects.setPeachLeavesParticle(() -> AntarchyFabricMisc.PEACH_LEAVES_PARTICLE.get());
AntarchyObjects.setLotusPollen(() -> AntarchyFabricMisc.LOTUS_POLLEN.get());
AntarchyObjects.setDorrieInventoryMenu(AntarchyFabricMisc.DORRIE_INVENTORY_MENU);
AntarchyObjects.setCritterCage(() -> AntarchyFabricItems.CRITTER_CAGE.get());
AntarchyObjects.setCritterCageBlock(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK.get());
AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get());
AntarchyObjects.setCritterCageProjectile(() -> AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get());
AntarchyObjects.setCritterCageEntityTypeComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_ENTITY_TYPE_COMPONENT.get());
AntarchyObjects.setCritterCagePrimaryColorComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_PRIMARY_COLOR_COMPONENT.get());
AntarchyObjects.setCritterCageSecondaryColorComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_SECONDARY_COLOR_COMPONENT.get());
AntarchyObjects.bind(
AntarchyFabricEntities.EASTER_BUNNY,
AntarchyFabricEntities.FLYING_SQUIRREL,
@@ -82,12 +82,15 @@ public final class AntarchyFabricEvents {
if (!(entity.level() instanceof ServerLevel serverLevel)) {
return;
}
if (!(entity.getKillCredit() instanceof net.minecraft.world.entity.player.Player)) {
return;
}
BlockPos deathPos = entity.blockPosition();
if (AntarchySettings.krakenSquidSpawnEnabled() && serverLevel.random.nextInt(100) == 0) {
spawnKrakens(serverLevel, deathPos, 1);
}
if (AntarchySettings.krakenMassSpawnEnabled() && serverLevel.random.nextInt(100) == 0) {
if (AntarchySettings.krakenMassSpawnEnabled() && serverLevel.random.nextInt(500) == 0) {
spawnKrakens(serverLevel, deathPos, 10);
}
});
@@ -76,6 +76,10 @@ public final class AntarchyFabricClientBootstrap {
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.SEASHELL_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) SeashellRenderer::new
);
BlockEntityRendererRegistry.register(
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) CritterCageRenderer::new
);
EntityRendererRegistry.register(AntarchyFabricEntities.EASTER_BUNNY.get(), EasterBunnyRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.FLYING_SQUIRREL.get(), FlyingSquirrelRenderer::new);
@@ -117,6 +121,7 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID_BOLT.get(), LucidBoltRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get(), ThrownItemRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.HUSH_PROJECTILE.get(), HushProjectileRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.UPWARD_FALLING_BLOCK.get(), UpwardFallingBlockRenderer::new);
@@ -155,6 +160,24 @@ public final class AntarchyFabricClientBootstrap {
(stack, tintIndex) -> tintIndex == 0 ? net.minecraft.world.level.GrassColor.getDefaultColor() : -1,
AntarchyFabricItems.SPIDER_LILY_ITEM.get()
);
ColorProviderRegistry.ITEM.register(
(stack, tintIndex) -> {
if (!(stack.getItem() instanceof com.craisinlord.antarchy.content.item.CritterCageItem cage)) {
return -1;
}
if (cage.getItemState(stack) != 2) {
return -1;
}
if (tintIndex == 1) {
return cage.getPrimaryColor(stack);
}
if (tintIndex == 2) {
return cage.getSecondaryColor(stack);
}
return -1;
},
AntarchyFabricItems.CRITTER_CAGE.get()
);
}
private static void registerFluids() {
@@ -225,6 +248,7 @@ public final class AntarchyFabricClientBootstrap {
registry.register(AntarchyFabricMisc.STINKY_GAS.get(), HypnoticGasParticle.Provider::new);
registry.register(AntarchyFabricMisc.STINKY_FLY.get(), FireflyParticle.Provider::new);
registry.register(AntarchyFabricMisc.PEACH_LEAVES_PARTICLE.get(), PeachLeavesParticle.Provider::new);
registry.register(AntarchyFabricMisc.LOTUS_POLLEN.get(), com.craisinlord.antarchy.content.client.particle.LotusPollenParticle.Provider::new);
registry.register(AntarchyFabricMisc.HYPNOTIC_GAS.get(), HypnoticGasParticle.Provider::new);
registry.register(AntarchyFabricMisc.HYPNOTIC_GAS_DOWN.get(), sprites -> new HypnoticGasParticle.Provider(sprites, true));
registry.register(AntarchyFabricMisc.HYPNOTIC_GAS_CLOUD.get(), new HypnoticGasCloudParticle.Provider());
@@ -257,6 +281,7 @@ public final class AntarchyFabricClientBootstrap {
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.LOTUS.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.GIANT_LILY_PAD.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.HUSHWEED.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.CRITTER_CAGE_BLOCK.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.CORNEA_STALK.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.CORN_CROP.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.WILD_CORN.get(), RenderType.cutout());
@@ -344,6 +369,16 @@ public final class AntarchyFabricClientBootstrap {
ResourceLocation.withDefaultNamespace("firework"),
(stack, level, entity, seed) -> CrossbowItem.isCharged(stack) && ChargedProjectiles.of(stack).contains(Items.FIREWORK_ROCKET) ? 1.0F : 0.0F
);
ItemProperties.register(
AntarchyFabricItems.CRITTER_CAGE.get(),
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "critter_cage_state"),
(stack, level, entity, seed) -> {
if (!(stack.getItem() instanceof com.craisinlord.antarchy.content.item.CritterCageItem cage)) {
return 0.0F;
}
return cage.getItemState(stack);
}
);
}
@SuppressWarnings({"unchecked", "rawtypes"})
@@ -13,6 +13,7 @@ import com.craisinlord.antarchy.content.item.BloodCrystalArmorItem;
import com.craisinlord.antarchy.content.item.BloodCrystalAppleItem;
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
import com.craisinlord.antarchy.content.block.entity.CritterCageBlockEntity;
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
@@ -358,6 +359,8 @@ public final class AntarchyFabricBlocks {
() -> new com.craisinlord.antarchy.content.block.LotusBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SPORE_BLOSSOM)));
public static final DeferredBlock<SeashellBlock> SEASHELL = BLOCKS.register("seashell",
() -> new SeashellBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TURTLE_EGG).noOcclusion()));
public static final DeferredBlock<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block",
() -> new CritterCageBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BARS).noOcclusion()));
public static final DeferredBlock<net.minecraft.world.level.block.StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
@@ -1018,6 +1021,11 @@ public final class AntarchyFabricBlocks {
SeashellBlockEntity::new,
SEASHELL.get()
).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block",
() -> BlockEntityType.Builder.of(
CritterCageBlockEntity::new,
CRITTER_CAGE_BLOCK.get()
).build(null));
@@ -65,6 +65,7 @@ import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
import com.craisinlord.antarchy.content.entity.HushProjectileEntity;
import com.craisinlord.antarchy.content.entity.CritterCageProjectileEntity;
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
import com.craisinlord.antarchy.content.entity.StinkBugEntity;
import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity;
@@ -479,7 +480,7 @@ public final class AntarchyFabricEntities {
public static final DeferredHolder<EntityType<?>, EntityType<OctopusBombEntity>> OCTOPUS_BOMB = ENTITY_TYPES.register("octopus_bomb",
() -> EntityType.Builder.of(OctopusBombEntity::new, MobCategory.MONSTER)
() -> EntityType.Builder.of(OctopusBombEntity::new, MobCategory.WATER_CREATURE)
.sized(2.4F, 2.9F)
.clientTrackingRange(10)
.build("octopus_bomb"));
@@ -547,6 +548,12 @@ public final class AntarchyFabricEntities {
.clientTrackingRange(8)
.updateInterval(1)
.build("lucid_pearl_projectile"));
public static final DeferredHolder<EntityType<?>, EntityType<CritterCageProjectileEntity>> CRITTER_CAGE_PROJECTILE = ENTITY_TYPES.register("critter_cage_projectile",
() -> EntityType.Builder.<CritterCageProjectileEntity>of(CritterCageProjectileEntity::new, MobCategory.MISC)
.sized(0.25F, 0.25F)
.clientTrackingRange(8)
.updateInterval(1)
.build("critter_cage_projectile"));
public static final DeferredHolder<EntityType<?>, EntityType<HushProjectileEntity>> HUSH_PROJECTILE = ENTITY_TYPES.register("hush_projectile",
@@ -607,7 +614,7 @@ public final class AntarchyFabricEntities {
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.OuranwoodDeerEntity>> OURANWOOD_DEER = ENTITY_TYPES.register("ouranwood_deer",
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.OuranwoodDeerEntity::new, MobCategory.CREATURE)
.sized(0.9F, 1.4F)
.sized(1.125F, 1.75F)
.clientTrackingRange(8)
.build("ouranwood_deer"));
@@ -11,6 +11,7 @@ import com.craisinlord.antarchy.content.AntarchySoundEvents;
import com.craisinlord.antarchy.content.item.BloodCrystalArmorItem;
import com.craisinlord.antarchy.content.item.BloodCrystalAppleItem;
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
import com.craisinlord.antarchy.content.item.CritterCageItem;
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
@@ -402,7 +403,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad",
() -> new PlaceOnWaterBlockItem(AntarchyFabricBlocks.GIANT_LILY_PAD.get(), new Item.Properties()));
() -> new com.craisinlord.antarchy.content.item.GiantLilyPadItem(AntarchyFabricBlocks.GIANT_LILY_PAD.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> SEASHELL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.SEASHELL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOTUS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOTUS);
@@ -439,6 +440,10 @@ public final class AntarchyFabricItems {
() -> new com.craisinlord.antarchy.content.item.PeachChestBoatItem(AntarchyFabricEntities.PEACH_CHEST_BOAT_ENTITY.get(), new Item.Properties().stacksTo(1)));
public static final DeferredItem<CritterCageItem> CRITTER_CAGE = ITEMS.register("critter_cage",
() -> new CritterCageItem(new Item.Properties().stacksTo(16)));
public static final DeferredItem<net.minecraft.world.item.BlockItem> DUPLICATOR_SAPLING_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DUPLICATOR_SAPLING);
@@ -327,6 +327,24 @@ public final class AntarchyFabricMisc {
.persistent(net.minecraft.util.Unit.CODEC)
.networkSynchronized(net.minecraft.network.codec.StreamCodec.unit(net.minecraft.util.Unit.INSTANCE))
.build());
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<net.minecraft.resources.ResourceLocation>> CRITTER_CAGE_ENTITY_TYPE_COMPONENT =
DATA_COMPONENT_TYPES.register("critter_cage_entity_type",
() -> net.minecraft.core.component.DataComponentType.<net.minecraft.resources.ResourceLocation>builder()
.persistent(net.minecraft.resources.ResourceLocation.CODEC)
.networkSynchronized(net.minecraft.resources.ResourceLocation.STREAM_CODEC)
.build());
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<Integer>> CRITTER_CAGE_PRIMARY_COLOR_COMPONENT =
DATA_COMPONENT_TYPES.register("critter_cage_primary_color",
() -> net.minecraft.core.component.DataComponentType.<Integer>builder()
.persistent(com.mojang.serialization.Codec.INT)
.networkSynchronized(net.minecraft.network.codec.ByteBufCodecs.INT)
.build());
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<Integer>> CRITTER_CAGE_SECONDARY_COLOR_COMPONENT =
DATA_COMPONENT_TYPES.register("critter_cage_secondary_color",
() -> net.minecraft.core.component.DataComponentType.<Integer>builder()
.persistent(com.mojang.serialization.Codec.INT)
.networkSynchronized(net.minecraft.network.codec.ByteBufCodecs.INT)
.build());
public static final DeferredHolder<net.minecraft.world.item.crafting.RecipeSerializer<?>, net.minecraft.world.item.crafting.RecipeSerializer<com.craisinlord.antarchy.content.AmericanizeRecipe>> AMERICANIZE_SERIALIZER =
@@ -419,6 +437,8 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> PEACH_LEAVES_PARTICLE = PARTICLE_TYPES.register("peach_leaves_particle",
() -> simpleParticleType());
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> LOTUS_POLLEN = PARTICLE_TYPES.register("lotus_pollen",
() -> simpleParticleType());
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> HYPNOTIC_GAS = PARTICLE_TYPES.register("hypnotic_gas",
@@ -273,7 +273,7 @@ public final class AntarchyFabricSpawnPlacements {
SpawnPlacements.register(AntarchyFabricEntities.MISSILE_SQUID.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn);
SpawnPlacements.register(AntarchyFabricEntities.OCTOPUS_BOMB.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, OctopusBombEntity::canSpawn);
SpawnPlacements.register(AntarchyFabricEntities.CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.AbstractFish::checkSurfaceWaterAnimalSpawnRules);
SpawnPlacements.register(AntarchyFabricEntities.DORRIE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
SpawnPlacements.register(AntarchyFabricEntities.DORRIE.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.OCEAN_FLOOR, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
SpawnPlacements.register(AntarchyFabricEntities.OURANWOOD_DEER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
SpawnPlacements.register(AntarchyFabricEntities.GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.glimmer.GlimmerEntity::checkGlimmerSpawnRules);
SpawnPlacements.register(AntarchyFabricEntities.ELKA.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);