glimmer reed, tuft recipes, dimensional tear sounds, nyxium roots, many missing tags, configured support

This commit is contained in:
craisinlord committed 2026-09-02 22:18:24 -05:00
1 parent 4ecd7906d6
commit 867fef9d0a
148 files changed
+1832 -79

No files matched your search

+2
View File
@@ -34,6 +34,7 @@ allprojects {
}
maven { url "https://nexus.resourcefulbees.com/repository/telepathicgrunt/" }
maven { url "https://maven.shedaniel.me" }
maven { url "https://maven.terraformersmc.com/releases/" }
maven { url "https://jitpack.io" }
maven { url "https://www.cursemaven.com" }
maven { url "https://api.modrinth.com/maven/" }
@@ -47,6 +48,7 @@ allprojects {
java {
withSourcesJar()
}
}
// Don't build the root project itself.
@@ -322,6 +322,8 @@ public final class AntarchyObjects {
@SuppressWarnings("unchecked")
public static Supplier<Block> LUMEN_FROGLIGHT = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked")
public static Supplier<Block> GLIMMERING_REED = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked")
public static Supplier<Block> OURANWOOD_ACORN_BLOCK = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked")
public static Supplier<Block> MOSSY_OURANWOOD_LOG = (Supplier<Block>) UNBOUND;
@@ -779,6 +781,10 @@ public final class AntarchyObjects {
LUMEN_FROGLIGHT = supplier;
}
public static void setGlimmeringReed(Supplier<Block> supplier) {
GLIMMERING_REED = supplier;
}
public static void setSpiritApple(Supplier<Item> supplier) {
SPIRIT_APPLE = supplier;
}
@@ -63,6 +63,10 @@ public final class AntarchySoundEvents {
public static Supplier<SoundEvent> THORAXIS_LUCID_POOLS_AMBIENT = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> THORAXIS_LUCID_POOLS_ADDITIONS = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> THORAXIS_LUCID_POOLS_MOOD = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> DIMENSIONAL_TEAR_OPEN = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> DIMENSIONAL_TEAR_IDLE = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> DIMENSIONAL_TEAR_CREATURE_LEAVES = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> DIMENSIONAL_TEAR_CLOSE = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> LUCID_AMBIENT = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> LUCID_FLYING = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> LUCID_ATTACK = (Supplier<SoundEvent>) UNBOUND;
@@ -613,4 +617,16 @@ public final class AntarchySoundEvents {
PRINCESS_FLY = princessFly;
PRINCESS_STEP = princessStep;
}
public static void bindDimensionalTearSounds(
Supplier<SoundEvent> dimensionalTearOpen,
Supplier<SoundEvent> dimensionalTearIdle,
Supplier<SoundEvent> dimensionalTearCreatureLeaves,
Supplier<SoundEvent> dimensionalTearClose
) {
DIMENSIONAL_TEAR_OPEN = dimensionalTearOpen;
DIMENSIONAL_TEAR_IDLE = dimensionalTearIdle;
DIMENSIONAL_TEAR_CREATURE_LEAVES = dimensionalTearCreatureLeaves;
DIMENSIONAL_TEAR_CLOSE = dimensionalTearClose;
}
}
@@ -46,6 +46,7 @@ public final class AntarchyTags {
public static final TagKey<Block> ANTIMETAL_INVERSION_BLOCKS = TagKey.create(Registries.BLOCK, id("antimetal_inversion_blocks"));
public static final TagKey<Block> TIGER_EYE_CAMOUFLAGE_BLACKLIST = TagKey.create(Registries.BLOCK, id("tiger_eye_camouflage_blacklist"));
public static final TagKey<Block> LUCID_ANCHOR_BASE_BLOCKS = TagKey.create(Registries.BLOCK, id("lucid_anchor_base_blocks"));
public static final TagKey<Block> NYXIUM = TagKey.create(Registries.BLOCK, id("nyxium"));
private Blocks() {
}
@@ -125,6 +126,7 @@ public final class AntarchyTags {
public static final TagKey<Item> GLIMMER_AUGMENT_ELKA = TagKey.create(Registries.ITEM, id("glimmer_augment_elka"));
public static final TagKey<Item> HFCS_CANNOT_AMERICANIZE = TagKey.create(Registries.ITEM, id("hfcs_cannot_americanize"));
public static final TagKey<Item> TIGER_EYE_ARMOR = TagKey.create(Registries.ITEM, id("tigers_eye_armor"));
public static final TagKey<Item> BIG_BERTHA_INGREDIENT = TagKey.create(Registries.ITEM, id("big_bertha_ingredient"));
private Items() {
}
@@ -29,6 +29,8 @@ public class DirectionalNyxiumBlock extends Block implements BonemealableBlock {
private static final ResourceLocation NADIR_SAPLING_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "nadir_sapling");
private static final ResourceLocation WHIRLFLOWER_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "whirlflower");
private static final ResourceLocation SPIRALING_VINES_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "spiraling_vines");
private static final ResourceLocation NADIR_ROOTS_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "nadir_roots");
private static final ResourceLocation VERDANT_ROOTS_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "verdant_roots");
private final Type type;
public DirectionalNyxiumBlock(BlockBehaviour.Properties properties, Type type) {
@@ -93,9 +95,17 @@ public class DirectionalNyxiumBlock extends Block implements BonemealableBlock {
if (direction == Direction.DOWN && random.nextInt(7) == 0) {
yield NADIR_SAPLING_ID;
}
yield random.nextInt(4) == 0 ? DUSKBELL_ID : NADIR_FERN_ID;
yield switch (random.nextInt(5)) {
case 0 -> DUSKBELL_ID;
case 1, 2 -> NADIR_ROOTS_ID;
default -> NADIR_FERN_ID;
};
}
case VERDANT -> random.nextInt(3) == 0 ? SPIRALING_VINES_ID : WHIRLFLOWER_ID;
case VERDANT -> switch (random.nextInt(5)) {
case 0, 1 -> VERDANT_ROOTS_ID;
case 2 -> SPIRALING_VINES_ID;
default -> WHIRLFLOWER_ID;
};
};
Block block = BuiltInRegistries.BLOCK.get(id);
BlockState growthState = block.defaultBlockState();
@@ -1,5 +1,6 @@
package com.craisinlord.antarchy.content.block;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@@ -49,15 +50,14 @@ public class DirectionalThoraxisFlowerBlock extends BushBlock {
@Override
protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) {
return true;
return state.is(AntarchyTags.Blocks.NYXIUM);
}
@Override
protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) {
Direction growthDirection = state.getValue(VERTICAL_DIRECTION);
BlockPos supportPos = pos.relative(growthDirection.getOpposite());
BlockState supportState = level.getBlockState(supportPos);
return supportState.isFaceSturdy(level, supportPos, growthDirection);
return this.mayPlaceOn(level.getBlockState(supportPos), level, supportPos);
}
@Override
@@ -0,0 +1,84 @@
package com.craisinlord.antarchy.content.block;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.ItemInteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.BonemealableBlock;
import net.minecraft.world.level.block.DoublePlantBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
import net.minecraft.world.phys.BlockHitResult;
/** A two-block-tall, light-emitting reed found around Lumen pools. */
public final class GlimmeringReedBlock extends DoublePlantBlock implements BonemealableBlock {
public static final MapCodec<GlimmeringReedBlock> CODEC = Block.simpleCodec(GlimmeringReedBlock::new);
public GlimmeringReedBlock(BlockBehaviour.Properties properties) {
super(properties);
}
@Override
public MapCodec<GlimmeringReedBlock> codec() {
return CODEC;
}
@Override
protected ItemInteractionResult useItemOn(
ItemStack stack,
BlockState state,
Level level,
BlockPos pos,
Player player,
InteractionHand hand,
BlockHitResult hitResult
) {
if (player.getItemInHand(hand).is(Items.BONE_MEAL)) {
popResource(level, pos, new ItemStack(state.getBlock().asItem(), 1));
return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION;
}
return super.useItemOn(stack, state, level, pos, player, hand, hitResult);
}
@Override
public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) {
return true;
}
@Override
public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) {
return true;
}
@Override
public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) {
}
@Override
public void animateTick(BlockState state, Level level, BlockPos pos, RandomSource random) {
super.animateTick(state, level, pos, random);
if (state.getValue(HALF) != DoubleBlockHalf.UPPER || random.nextInt(8) != 0) {
return;
}
double x = pos.getX() + 0.15D + random.nextDouble() * 0.7D;
double y = pos.getY() + 0.76D + random.nextDouble() * 0.18D;
double z = pos.getZ() + 0.15D + random.nextDouble() * 0.7D;
level.addParticle(ParticleTypes.GLOW, x, y, z, 0.0D, 0.02D, 0.0D);
if (random.nextInt(4) == 0) {
level.addParticle(ParticleTypes.ENCHANT, x, y + 0.02D, z, 0.0D, 0.015D, 0.0D);
}
}
}
@@ -6,7 +6,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour;
public class GorevineBlock extends SimpleDirectionalVineBlock {
public static final MapCodec<GorevineBlock> CODEC = simpleCodec(GorevineBlock::new);
private static final int MAX_GROWTH_DISTANCE = 12;
private static final int MAX_GROWTH_DISTANCE = 7;
public GorevineBlock(BlockBehaviour.Properties properties) {
super(properties);
@@ -27,7 +27,7 @@ public class SimpleDirectionalVineBlock extends BushBlock implements Bonemealabl
public static final EnumProperty<Direction> GROWTH_DIRECTION = EnumProperty.create("growth_direction", Direction.class, Direction.UP, Direction.DOWN);
public static final BooleanProperty TOP_CAP = BooleanProperty.create("top_cap");
public static final BooleanProperty BOTTOM_CAP = BooleanProperty.create("bottom_cap");
public static final IntegerProperty DISTANCE = IntegerProperty.create("distance", 0, 6);
public static final IntegerProperty DISTANCE = IntegerProperty.create("distance", 0, 15);
protected static final int MAX_DISTANCE = 6;
protected static final VoxelShape SHAPE = Block.box(4.0D, 0.0D, 4.0D, 12.0D, 16.0D, 12.0D);
@@ -153,9 +153,10 @@ public class SimpleDirectionalVineBlock extends BushBlock implements Bonemealabl
return;
}
int nextDistance = Math.min(state.getValue(DISTANCE) + 1, maxDistance());
BlockState grownState = this.defaultBlockState()
.setValue(GROWTH_DIRECTION, direction)
.setValue(DISTANCE, state.getValue(DISTANCE) + 1);
.setValue(DISTANCE, nextDistance);
level.setBlock(targetPos, grownState, Block.UPDATE_ALL);
BlockState posState = level.getBlockState(pos);
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.content.block;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@@ -27,7 +28,6 @@ public class WhirlflowerBlock extends BushBlock {
private static final VoxelShape UP_SHAPE = Block.box(3.0D, 0.0D, 3.0D, 13.0D, 13.0D, 13.0D);
private static final VoxelShape DOWN_SHAPE = Block.box(3.0D, 3.0D, 3.0D, 13.0D, 16.0D, 13.0D);
private static final ResourceLocation VEINED_TYPHONITE_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "veined_typhonite");
private static final ResourceLocation VERDANT_NYXIUM_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "verdant_nyxium");
public WhirlflowerBlock(BlockBehaviour.Properties properties) {
super(properties);
@@ -54,8 +54,8 @@ public class WhirlflowerBlock extends BushBlock {
@Override
protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) {
ResourceLocation id = BuiltInRegistries.BLOCK.getKey(state.getBlock());
return id.equals(VEINED_TYPHONITE_ID) || id.equals(VERDANT_NYXIUM_ID);
return state.is(AntarchyTags.Blocks.NYXIUM)
|| BuiltInRegistries.BLOCK.getKey(state.getBlock()).equals(VEINED_TYPHONITE_ID);
}
@Override
@@ -221,6 +221,8 @@ public final class CreativeTabContents {
entry("nadir_fern", "natural_blocks"),
entry("large_nadir_fern", "natural_blocks"),
entry("duskbell", "natural_blocks"),
entry("nadir_roots", "natural_blocks"),
entry("verdant_roots", "natural_blocks"),
entry("typhonite_pillar", "building_blocks"),
entry("antigravel", "natural_blocks"),
entry("budding_blood_crystal", "building_blocks"),
@@ -340,6 +342,7 @@ public final class CreativeTabContents {
entry("duplicator_sapling", "natural_blocks"),
entry("orange_milkweed", "natural_blocks"),
entry("pink_milkweed", "natural_blocks"),
entry("glimmering_reed", "natural_blocks"),
entry("camellia", "natural_blocks"),
entry("spider_lily", "natural_blocks"),
entry("lotus", "natural_blocks"),
@@ -100,9 +100,13 @@ public class ManticoreEntity extends Monster implements GeoEntity {
}
public static boolean canSpawn(EntityType<ManticoreEntity> type, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER || spawnReason == MobSpawnType.COMMAND) {
if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER
|| spawnReason == MobSpawnType.COMMAND || spawnReason == MobSpawnType.MOB_SUMMONED) {
return true;
}
if (pos.getY() >= 0) {
return false;
}
BlockState below = level.getBlockState(pos.below());
BlockState above = level.getBlockState(pos.above());
boolean floorSupport = !below.is(Blocks.BEDROCK) && below.isFaceSturdy(level, pos.below(), Direction.UP);
@@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.entity.portal;
import com.craisinlord.antarchy.config.AntarchySettings;
import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.AntarchySoundEvents;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.craisinlord.antarchy.content.entity.ManticoreEntity;
import com.craisinlord.antarchy.content.entity.royal.QueenEntity;
@@ -11,6 +12,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.sounds.AbstractTickableSoundInstance;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderSet;
@@ -63,6 +66,7 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
private static final RawAnimation CLOSING_ANIM = RawAnimation.begin().thenPlayAndHold("closing");
private static final int DEFAULT_LIFETIME_TICKS = 20 * 60 * 20;
private static final int OPENING_ANIMATION_TICKS = 20;
private static final int MANTICORE_EMERGENCE_TICKS = OPENING_ANIMATION_TICKS + 20;
private static final int CLOSING_ANIMATION_TICKS = 10;
private static final int EVENT_WARNING_TICKS = 80;
private static final int TELEPORT_COOLDOWN_TICKS = 60;
@@ -72,6 +76,7 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
private static final Map<UUID, Set<UUID>> QUEEN_TEAR_IDS = new HashMap<>();
private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this);
private boolean idleSoundStarted;
private UUID linkedTearId;
@Nullable
private DimensionalTearEntity linkedTear;
@@ -138,13 +143,20 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
super.tick();
if (this.level().isClientSide) {
this.tickClientParticles();
this.tickIdleSound();
return;
}
this.ageTicks++;
if (this.ageTicks == 1) {
this.level().playSound(null, this.blockPosition(), AntarchySoundEvents.DIMENSIONAL_TEAR_OPEN.get(), SoundSource.HOSTILE, 1.0F, 1.0F);
}
if (this.ageTicks < OPENING_ANIMATION_TICKS) {
this.setTearState(TearState.OPENING);
} else if (this.ageTicks >= this.lifetimeTicks - CLOSING_ANIMATION_TICKS) {
if (this.ageTicks == this.lifetimeTicks - CLOSING_ANIMATION_TICKS) {
this.level().playSound(null, this.blockPosition(), AntarchySoundEvents.DIMENSIONAL_TEAR_CLOSE.get(), SoundSource.HOSTILE, 1.0F, 1.0F);
}
this.setTearState(TearState.COLLAPSING);
} else if (this.getTearState() == TearState.OPENING || this.getTearState() == TearState.COLLAPSING) {
this.setTearState(TearState.NORMAL);
@@ -154,11 +166,11 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
return;
}
if (this.queenOwnerId != null && this.ageTicks == OPENING_ANIMATION_TICKS) {
if (this.queenOwnerId != null && this.ageTicks == MANTICORE_EMERGENCE_TICKS) {
this.spawnQueenManticores((ServerLevel) this.level());
}
if (this.staffOwnerId != null && this.ageTicks == OPENING_ANIMATION_TICKS) {
if (this.staffOwnerId != null && this.ageTicks == MANTICORE_EMERGENCE_TICKS) {
this.spawnStaffManticores((ServerLevel) this.level());
}
@@ -219,7 +231,7 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
mob.setDeltaMovement(this.getViewVector(1.0F).scale(0.35D).add(0.0D, 0.08D, 0.0D));
mob.setNoGravity(true);
level.addFreshEntity(mob);
level.playSound(null, this.blockPosition(), eventState == TearState.LUCID ? SoundEvents.AMETHYST_BLOCK_CHIME : SoundEvents.ENDERMAN_SCREAM, SoundSource.HOSTILE, 0.75F, eventState == TearState.LUCID ? 1.45F : 0.85F);
level.playSound(null, this.blockPosition(), AntarchySoundEvents.DIMENSIONAL_TEAR_CREATURE_LEAVES.get(), SoundSource.HOSTILE, 0.75F, eventState == TearState.LUCID ? 1.15F : 0.9F);
}
private void spawnQueenManticores(ServerLevel level) {
@@ -412,6 +424,14 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
this.entityData.set(STATE, state.ordinal());
}
private void tickIdleSound() {
if (this.idleSoundStarted || this.getTearState() == TearState.OPENING) {
return;
}
this.idleSoundStarted = true;
Minecraft.getInstance().getSoundManager().play(new TearIdleSoundInstance(this));
}
private void tickClientParticles() {
TearState state = this.getTearState();
if (this.random.nextInt(state == TearState.NORMAL ? 5 : 2) != 0) {
@@ -523,4 +543,36 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.geoCache;
}
private static final class TearIdleSoundInstance extends AbstractTickableSoundInstance {
private final DimensionalTearEntity tear;
private TearIdleSoundInstance(DimensionalTearEntity tear) {
super(AntarchySoundEvents.DIMENSIONAL_TEAR_IDLE.get(), SoundSource.HOSTILE, tear.random);
this.tear = tear;
this.looping = true;
this.delay = 0;
this.volume = 0.6F;
this.pitch = 1.0F;
this.x = tear.getX();
this.y = tear.getY();
this.z = tear.getZ();
}
@Override
public void tick() {
if (this.tear.isRemoved() || this.tear.getTearState() == TearState.COLLAPSING) {
this.stop();
return;
}
this.x = this.tear.getX();
this.y = this.tear.getY();
this.z = this.tear.getZ();
}
@Override
public boolean canStartSilent() {
return true;
}
}
}
@@ -68,7 +68,7 @@ public class WindVortexEntity extends Entity {
private static final String HOMING_KEY = "Homing";
private static final double BASE_RADIUS = 0.35D;
private static final double DRIFT_FRICTION = 0.96D;
private static final double DRIFT_FRICTION = 0.995D;
private static final int FADE_OUT_TICKS = 8;
public enum VortexMode {
@@ -174,8 +174,8 @@ public class WindVortexEntity extends Entity {
if (--this.travelTicksRemaining <= 0) {
this.travelling = false;
this.noPhysics = false;
this.setDeltaMovement(this.travelVelocity);
this.travelVelocity = Vec3.ZERO;
this.setDeltaMovement(Vec3.ZERO);
}
} else {
Vec3 drift = this.getDeltaMovement().multiply(DRIFT_FRICTION, DRIFT_FRICTION, DRIFT_FRICTION);
@@ -0,0 +1,59 @@
package com.craisinlord.antarchy.content.worldgen.elythia;
import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.craisinlord.antarchy.content.block.GlimmeringReedBlock;
import com.mojang.serialization.Codec;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.block.DoublePlantBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
public final class GlimmeringReedFeature extends Feature<NoneFeatureConfiguration> {
public GlimmeringReedFeature(Codec<NoneFeatureConfiguration> codec) {
super(codec);
}
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
WorldGenLevel level = context.level();
RandomSource random = context.random();
BlockPos origin = context.origin();
BlockState reed = AntarchyObjects.GLIMMERING_REED.get().defaultBlockState();
boolean placedAny = false;
for (int i = 0; i < 18; i++) {
int x = origin.getX() + random.nextInt(17) - 8;
int z = origin.getZ() + random.nextInt(17) - 8;
int surfaceY = level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z) - 1;
BlockPos groundPos = new BlockPos(x, surfaceY, z);
BlockPos reedPos = groundPos.above();
if (!level.getBlockState(groundPos).isSolid() || !level.isEmptyBlock(reedPos)
|| !level.isEmptyBlock(reedPos.above()) || !reed.canSurvive(level, reedPos)) {
continue;
}
boolean besideLumen = false;
for (Direction direction : Direction.Plane.HORIZONTAL) {
if (level.getFluidState(groundPos.relative(direction)).is(AntarchyTags.Fluids.LUMEN)
&& level.getFluidState(groundPos.relative(direction)).isSource()) {
besideLumen = true;
break;
}
}
if (!besideLumen) {
continue;
}
DoublePlantBlock.placeAt(level, reed, reedPos, 2);
placedAny = true;
}
return placedAny;
}
}
@@ -18,6 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(LivingEntityRenderer.class)
public abstract class HoverboardRiderPoseMixin<T extends LivingEntity, M extends EntityModel<T>> {
private static final float HOVERBOARD_RIDER_RENDER_YAW = -90.0F;
private static final float HOVERBOARD_RIDER_TORSO_ROLL = -15.0F;
@Shadow
public abstract M getModel();
@@ -60,6 +61,7 @@ public abstract class HoverboardRiderPoseMixin<T extends LivingEntity, M extends
float correction = (float) Math.toRadians(HOVERBOARD_RIDER_RENDER_YAW);
humanoidModel.head.yRot += correction;
humanoidModel.hat.yRot += correction;
humanoidModel.body.zRot += (float) Math.toRadians(HOVERBOARD_RIDER_TORSO_ROLL);
}
}
}
@@ -0,0 +1,10 @@
{
"variants": {
"half=lower": {
"model": "antarchy:block/glimmering_reed_bottom"
},
"half=upper": {
"model": "antarchy:block/glimmering_reed_top"
}
}
}
@@ -0,0 +1,11 @@
{
"variants": {
"vertical_direction=up": {
"model": "antarchy:block/nadir_roots"
},
"vertical_direction=down": {
"model": "antarchy:block/nadir_roots",
"x": 180
}
}
}
@@ -0,0 +1,11 @@
{
"variants": {
"vertical_direction=up": {
"model": "antarchy:block/verdant_roots"
},
"vertical_direction=down": {
"model": "antarchy:block/verdant_roots",
"x": 180
}
}
}
@@ -106,6 +106,7 @@
"block.antarchy.black_truffalo_tuft": "Black Truffalo Tuft",
"block.antarchy.orange_milkweed": "Orange Milkweed",
"block.antarchy.pink_milkweed": "Pink Milkweed",
"block.antarchy.glimmering_reed": "Glimmering Reed",
"block.antarchy.camellia": "Camellia",
"block.antarchy.spider_lily": "Spider Lily",
"block.antarchy.lotus": "Lotus",
@@ -493,6 +494,7 @@
"entity.antarchy.truffalo_chest_boat": "Truffalo Chest Boat",
"item.antarchy.orange_milkweed": "Orange Milkweed",
"item.antarchy.pink_milkweed": "Pink Milkweed",
"item.antarchy.glimmering_reed": "Glimmering Reed",
"item.antarchy.camellia": "Camellia",
"item.antarchy.spider_lily": "Spider Lily",
"item.antarchy.hushweed": "Hushweed",
@@ -587,6 +589,7 @@
"entity.antarchy.upward_falling_block": "Falling Antigravel",
"entity.antarchy.vortex": "Vortex",
"entity.antarchy.wind_vortex": "Wind Vortex",
"entity.antarchy.dimensional_tear": "Dimensional Tear",
"item.antarchy.vortex_spawn_egg": "Vortex Spawn Egg",
"item.antarchy.ultimate_helmet": "Ultimate Helmet",
"item.antarchy.ultimate_chestplate": "Ultimate Chestplate",
@@ -912,6 +915,10 @@
"subtitles.antarchy.thoraxis_dream_dunes_additions": "Dream Dunes rustle",
"subtitles.antarchy.thoraxis_dream_dunes_mood": "Dream Dunes sigh",
"subtitles.antarchy.thoraxis_lucid_pools_ambient": "Lucid Pools hum",
"subtitles.antarchy.dimensional_tear_open": "A dimensional tear opens",
"subtitles.antarchy.dimensional_tear_idle": "A dimensional tear shimmers",
"subtitles.antarchy.dimensional_tear_creature_leaves": "A creature emerges from the tear",
"subtitles.antarchy.dimensional_tear_close": "A dimensional tear closes",
"subtitles.antarchy.thoraxis_lucid_pools_additions": "Lucid Pools curse",
"subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur",
"subtitles.antarchy.lucid_ambient": "Lucid hums",
@@ -1350,6 +1357,8 @@
"block.antarchy.nadir_fern": "Nadir Fern",
"block.antarchy.large_nadir_fern": "Large Nadir Fern",
"block.antarchy.duskbell": "Duskbell",
"block.antarchy.nadir_roots": "Nadir Roots",
"block.antarchy.verdant_roots": "Verdant Roots",
"block.antarchy.gorevine": "Gorevine"
,"decree.antarchy.the_sky_is_mine": "THE SKY IS MINE"
,"decree.antarchy.the_sky_is_mine.subtitle": "Stay grounded."
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cross",
"textures": {
"cross": "antarchy:block/glimming_reed/glimmering_reed_bottom"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cross",
"textures": {
"cross": "antarchy:block/glimming_reed/glimmering_reed_top"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cross",
"textures": {
"cross": "antarchy:block/nadir/nadir_roots"
}
}
@@ -1,7 +1,7 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "antarchy:block/typhonite_pillar_top",
"side": "antarchy:block/typhonite_pillar"
"end": "antarchy:block/typhonite/typhonite_pillar_top",
"side": "antarchy:block/typhonite/typhonite_pillar"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cross",
"textures": {
"cross": "antarchy:block/verdant_roots"
}
}
@@ -9,7 +9,7 @@
],
"translation": [
-5.25,
-1.85,
2.0,
-5
],
"scale": [
@@ -26,7 +26,7 @@
],
"translation": [
-5.25,
-1.85,
2.0,
-5
],
"scale": [
@@ -43,7 +43,7 @@
],
"translation": [
-1,
0,
2.0,
0.5
],
"scale": [
@@ -60,7 +60,7 @@
],
"translation": [
-1,
0,
2.0,
0.5
],
"scale": [
@@ -135,4 +135,4 @@
]
}
}
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "antarchy:block/glimming_reed/glimmering_reed_top"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "antarchy:block/nadir/nadir_roots"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "antarchy:block/verdant_roots"
}
}
@@ -1106,9 +1106,37 @@
"name": "antarchy:inversion_layer",
"type": "event",
"stream": true
},
{
"name": "antarchy:music/game/thoraxis/assimilation",
"stream": true
}
]
},
"dimensional_tear_open": {
"subtitle": "subtitles.antarchy.dimensional_tear_open",
"sounds": [
{ "name": "antarchy:mob/dimensional_tear/tear_open" }
]
},
"dimensional_tear_idle": {
"subtitle": "subtitles.antarchy.dimensional_tear_idle",
"sounds": [
{ "name": "antarchy:mob/dimensional_tear/tear_idle" }
]
},
"dimensional_tear_creature_leaves": {
"subtitle": "subtitles.antarchy.dimensional_tear_creature_leaves",
"sounds": [
{ "name": "antarchy:mob/dimensional_tear/tear_creature_leaves" }
]
},
"dimensional_tear_close": {
"subtitle": "subtitles.antarchy.dimensional_tear_close",
"sounds": [
{ "name": "antarchy:mob/dimensional_tear/tear_close" }
]
},
"venenatus": {
"sounds": [
{
Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

@@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"name": "antarchy:nadir_roots"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"name": "antarchy:verdant_roots"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:black_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:black_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:black_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:black_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:blue_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:blue_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:blue_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:blue_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:brown_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:brown_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:brown_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:brown_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:cyan_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:cyan_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:cyan_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:cyan_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:gray_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:gray_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:gray_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:gray_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:green_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:green_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:green_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:green_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:light_blue_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:light_blue_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:light_blue_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:light_blue_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:light_gray_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:light_gray_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:light_gray_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:light_gray_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:lime_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:lime_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:lime_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:lime_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:magenta_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:magenta_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:magenta_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:magenta_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:orange_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:orange_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:orange_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:orange_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"pattern": [
"###",
"#X#",
"###"
],
"key": {
"#": {
"item": "minecraft:stick"
},
"X": {
"tag": "antarchy:truffalo_tufts"
}
},
"result": {
"id": "minecraft:painting"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:pink_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:pink_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:pink_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:pink_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:purple_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:purple_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:purple_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:purple_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:red_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:red_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:red_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:red_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:white_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:white_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:white_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:white_bed"
}
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"###",
" S "
],
"key": {
"#": {
"item": "antarchy:yellow_truffalo_tuft"
},
"S": {
"item": "minecraft:stick"
}
},
"result": {
"id": "minecraft:yellow_banner"
}
}
@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"category": "decorations",
"pattern": [
"###",
"PPP"
],
"key": {
"#": {
"item": "antarchy:yellow_truffalo_tuft"
},
"P": {
"tag": "minecraft:planks"
}
},
"result": {
"id": "minecraft:yellow_bed"
}
}
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"antarchy:nadir_nyxium",
"antarchy:verdant_nyxium"
]
}
@@ -0,0 +1,28 @@
{
"replace": false,
"values": [
"antarchy:big_bertha_blade",
"antarchy:big_bertha_hilt",
"antarchy:big_bertha_handle",
"antarchy:lucid_eye",
"antarchy:basilisk_fang",
"antarchy:emperor_scorpion_stinger",
"antarchy:ultimate_sword",
"antarchy:cloud_shark_fin",
"antarchy:vortex_charge",
"antarchy:kraken_tooth",
"antarchy:mantis_claw",
"antarchy:brutalfly_wing",
"antarchy:manticore_wing",
"antarchy:cooked_corndog",
"antarchy:gravity_gun",
"antarchy:nightmare_scale",
"antarchy:molevore_nose",
"antarchy:jumpy_bug_leg",
"antarchy:jerry_nucleus",
"antarchy:primordial_scute",
"antarchy:worm_tooth",
"antarchy:hercules_horn",
"antarchy:triffid_goo"
]
}
@@ -3,6 +3,8 @@
"values": [
"minecraft:hanging_roots",
"minecraft:crimson_roots",
"minecraft:warped_roots"
"minecraft:warped_roots",
"antarchy:nadir_roots",
"antarchy:verdant_roots"
]
}
@@ -0,0 +1,21 @@
{
"replace": false,
"values": [
"antarchy:white_truffalo_tuft",
"antarchy:orange_truffalo_tuft",
"antarchy:magenta_truffalo_tuft",
"antarchy:light_blue_truffalo_tuft",
"antarchy:yellow_truffalo_tuft",
"antarchy:lime_truffalo_tuft",
"antarchy:pink_truffalo_tuft",
"antarchy:gray_truffalo_tuft",
"antarchy:light_gray_truffalo_tuft",
"antarchy:cyan_truffalo_tuft",
"antarchy:purple_truffalo_tuft",
"antarchy:blue_truffalo_tuft",
"antarchy:brown_truffalo_tuft",
"antarchy:green_truffalo_tuft",
"antarchy:red_truffalo_tuft",
"antarchy:black_truffalo_tuft"
]
}
@@ -78,6 +78,12 @@
"weight": 3,
"minCount": 1,
"maxCount": 1
},
{
"type": "antarchy:manticore",
"weight": 12,
"minCount": 1,
"maxCount": 2
}
],
"creature": [
@@ -34,6 +34,7 @@
"antarchy:lumen_pools",
"antarchy:lumen_streams",
"antarchy:lumen_lily_pads",
"antarchy:glimmering_reeds",
"antarchy:giant_lily_pad_patch_common"
],
[],
@@ -52,20 +52,14 @@
"antarchy:nadir_forest_ceiling_trees",
"antarchy:nadir_forest_ceiling_saplings",
"antarchy:nadir_ferns",
"antarchy:duskbells"
"antarchy:duskbells",
"antarchy:nadir_roots_patch"
],
[]
],
"creature_spawn_probability": 0.08,
"spawners": {
"monster": [
{
"type": "antarchy:manticore",
"weight": 12,
"minCount": 1,
"maxCount": 2
}
],
"monster": [],
"creature": [
{
"type": "antarchy:bed_bug",
@@ -64,7 +64,9 @@
"antarchy:patch_ceiling_fire"
],
[
"antarchy:whirlflower_patch"
"antarchy:whirlflower_patch",
"antarchy:spiraling_vines_patch",
"antarchy:verdant_roots_patch"
]
],
"creature_spawn_probability": 0.03,
@@ -0,0 +1,4 @@
{
"type": "antarchy:glimmering_reeds",
"config": {}
}
@@ -2,8 +2,8 @@
"type": "minecraft:random_patch",
"config": {
"tries": 18,
"xz_spread": 5,
"y_spread": 4,
"xz_spread": 3,
"y_spread": 1,
"feature": "antarchy:gorevine"
}
}
@@ -0,0 +1,14 @@
{
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "antarchy:nadir_roots",
"Properties": {
"vertical_direction": "down"
}
}
}
}
}
@@ -0,0 +1,9 @@
{
"type": "minecraft:random_patch",
"config": {
"tries": 40,
"xz_spread": 6,
"y_spread": 2,
"feature": "antarchy:nadir_roots"
}
}
@@ -0,0 +1,17 @@
{
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "antarchy:spiraling_vines",
"Properties": {
"growth_direction": "up",
"top_cap": "true",
"bottom_cap": "true",
"distance": "0"
}
}
}
}
}
@@ -0,0 +1,9 @@
{
"type": "minecraft:random_patch",
"config": {
"tries": 24,
"xz_spread": 4,
"y_spread": 2,
"feature": "antarchy:spiraling_vines"
}
}
@@ -0,0 +1,14 @@
{
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "antarchy:verdant_roots",
"Properties": {
"vertical_direction": "up"
}
}
}
}
}
@@ -0,0 +1,9 @@
{
"type": "minecraft:random_patch",
"config": {
"tries": 40,
"xz_spread": 6,
"y_spread": 2,
"feature": "antarchy:verdant_roots"
}
}
@@ -1,9 +1,9 @@
{
"type": "minecraft:random_patch",
"config": {
"tries": 6,
"xz_spread": 3,
"y_spread": 1,
"tries": 24,
"xz_spread": 4,
"y_spread": 2,
"feature": "antarchy:whirlflower"
}
}
@@ -325,13 +325,22 @@
"if_true": {
"type": "minecraft:noise_threshold",
"noise": "minecraft:gravel",
"min_threshold": -0.05,
"max_threshold": 0.05
"min_threshold": -0.022,
"max_threshold": 0.022
},
"then_run": {
"type": "minecraft:block",
"result_state": {
"Name": "antarchy:veined_typhonite"
"type": "minecraft:condition",
"if_true": {
"type": "minecraft:noise_threshold",
"noise": "minecraft:calcite",
"min_threshold": -0.35,
"max_threshold": 1.7976931348623157e+308
},
"then_run": {
"type": "minecraft:block",
"result_state": {
"Name": "antarchy:veined_typhonite"
}
}
}
},
@@ -339,7 +348,7 @@
"type": "minecraft:condition",
"if_true": {
"type": "minecraft:stone_depth",
"add_surface_depth": true,
"add_surface_depth": false,
"offset": 0,
"secondary_depth_range": 0,
"surface_type": "floor"
@@ -0,0 +1,19 @@
{
"feature": "antarchy:glimmering_reeds",
"placement": [
{
"type": "minecraft:count",
"count": 4
},
{
"type": "minecraft:in_square"
},
{
"type": "minecraft:heightmap",
"heightmap": "WORLD_SURFACE_WG"
},
{
"type": "minecraft:biome"
}
]
}
@@ -0,0 +1,4 @@
{
"feature": "antarchy:nadir_roots",
"placement": []
}
@@ -0,0 +1,52 @@
{
"feature": "antarchy:nadir_roots_patch",
"placement": [
{
"type": "minecraft:count",
"count": {
"type": "minecraft:uniform",
"min_inclusive": 8,
"max_inclusive": 16
}
},
{
"type": "minecraft:in_square"
},
{
"type": "minecraft:height_range",
"height": {
"type": "minecraft:uniform",
"min_inclusive": {
"absolute": 8
},
"max_inclusive": {
"absolute": 240
}
}
},
{
"type": "minecraft:environment_scan",
"direction_of_search": "up",
"max_steps": 32,
"allowed_search_condition": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:air"
},
"target_condition": {
"type": "minecraft:matching_blocks",
"blocks": "antarchy:nadir_nyxium"
}
},
{
"type": "minecraft:random_offset",
"xz_spread": 0,
"y_spread": {
"type": "minecraft:constant",
"value": -1
}
},
{
"type": "minecraft:biome"
}
]
}
@@ -0,0 +1,4 @@
{
"feature": "antarchy:spiraling_vines",
"placement": []
}
@@ -0,0 +1,52 @@
{
"feature": "antarchy:spiraling_vines_patch",
"placement": [
{
"type": "minecraft:count",
"count": {
"type": "minecraft:uniform",
"min_inclusive": 6,
"max_inclusive": 12
}
},
{
"type": "minecraft:in_square"
},
{
"type": "minecraft:height_range",
"height": {
"type": "minecraft:uniform",
"min_inclusive": {
"absolute": 8
},
"max_inclusive": {
"absolute": 240
}
}
},
{
"type": "minecraft:environment_scan",
"direction_of_search": "down",
"max_steps": 32,
"allowed_search_condition": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:air"
},
"target_condition": {
"type": "minecraft:matching_blocks",
"blocks": "antarchy:verdant_nyxium"
}
},
{
"type": "minecraft:random_offset",
"xz_spread": 0,
"y_spread": {
"type": "minecraft:constant",
"value": 1
}
},
{
"type": "minecraft:biome"
}
]
}
@@ -0,0 +1,4 @@
{
"feature": "antarchy:verdant_roots",
"placement": []
}
Loaded 100 of 148 files, more files were not shown because too many files have changed in this diff. Show more