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
+1830 -77

No files matched your search

+2
View File
@@ -34,6 +34,7 @@ allprojects {
} }
maven { url "https://nexus.resourcefulbees.com/repository/telepathicgrunt/" } maven { url "https://nexus.resourcefulbees.com/repository/telepathicgrunt/" }
maven { url "https://maven.shedaniel.me" } maven { url "https://maven.shedaniel.me" }
maven { url "https://maven.terraformersmc.com/releases/" }
maven { url "https://jitpack.io" } maven { url "https://jitpack.io" }
maven { url "https://www.cursemaven.com" } maven { url "https://www.cursemaven.com" }
maven { url "https://api.modrinth.com/maven/" } maven { url "https://api.modrinth.com/maven/" }
@@ -47,6 +48,7 @@ allprojects {
java { java {
withSourcesJar() withSourcesJar()
} }
} }
// Don't build the root project itself. // Don't build the root project itself.
@@ -322,6 +322,8 @@ public final class AntarchyObjects {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static Supplier<Block> LUMEN_FROGLIGHT = (Supplier<Block>) UNBOUND; public static Supplier<Block> LUMEN_FROGLIGHT = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static Supplier<Block> GLIMMERING_REED = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked")
public static Supplier<Block> OURANWOOD_ACORN_BLOCK = (Supplier<Block>) UNBOUND; public static Supplier<Block> OURANWOOD_ACORN_BLOCK = (Supplier<Block>) UNBOUND;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static Supplier<Block> MOSSY_OURANWOOD_LOG = (Supplier<Block>) UNBOUND; public static Supplier<Block> MOSSY_OURANWOOD_LOG = (Supplier<Block>) UNBOUND;
@@ -779,6 +781,10 @@ public final class AntarchyObjects {
LUMEN_FROGLIGHT = supplier; LUMEN_FROGLIGHT = supplier;
} }
public static void setGlimmeringReed(Supplier<Block> supplier) {
GLIMMERING_REED = supplier;
}
public static void setSpiritApple(Supplier<Item> supplier) { public static void setSpiritApple(Supplier<Item> supplier) {
SPIRIT_APPLE = 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_AMBIENT = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> THORAXIS_LUCID_POOLS_ADDITIONS = (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> 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_AMBIENT = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> LUCID_FLYING = (Supplier<SoundEvent>) UNBOUND; public static Supplier<SoundEvent> LUCID_FLYING = (Supplier<SoundEvent>) UNBOUND;
public static Supplier<SoundEvent> LUCID_ATTACK = (Supplier<SoundEvent>) UNBOUND; public static Supplier<SoundEvent> LUCID_ATTACK = (Supplier<SoundEvent>) UNBOUND;
@@ -613,4 +617,16 @@ public final class AntarchySoundEvents {
PRINCESS_FLY = princessFly; PRINCESS_FLY = princessFly;
PRINCESS_STEP = princessStep; 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> 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> 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> 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() { 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> 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> 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> 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() { 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 NADIR_SAPLING_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "nadir_sapling");
private static final ResourceLocation WHIRLFLOWER_ID = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "whirlflower"); 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 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; private final Type type;
public DirectionalNyxiumBlock(BlockBehaviour.Properties properties, 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) { if (direction == Direction.DOWN && random.nextInt(7) == 0) {
yield NADIR_SAPLING_ID; 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); Block block = BuiltInRegistries.BLOCK.get(id);
BlockState growthState = block.defaultBlockState(); BlockState growthState = block.defaultBlockState();
@@ -1,5 +1,6 @@
package com.craisinlord.antarchy.content.block; package com.craisinlord.antarchy.content.block;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.mojang.serialization.MapCodec; import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
@@ -49,15 +50,14 @@ public class DirectionalThoraxisFlowerBlock extends BushBlock {
@Override @Override
protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) { protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) {
return true; return state.is(AntarchyTags.Blocks.NYXIUM);
} }
@Override @Override
protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) { protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) {
Direction growthDirection = state.getValue(VERTICAL_DIRECTION); Direction growthDirection = state.getValue(VERTICAL_DIRECTION);
BlockPos supportPos = pos.relative(growthDirection.getOpposite()); BlockPos supportPos = pos.relative(growthDirection.getOpposite());
BlockState supportState = level.getBlockState(supportPos); return this.mayPlaceOn(level.getBlockState(supportPos), level, supportPos);
return supportState.isFaceSturdy(level, supportPos, growthDirection);
} }
@Override @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 class GorevineBlock extends SimpleDirectionalVineBlock {
public static final MapCodec<GorevineBlock> CODEC = simpleCodec(GorevineBlock::new); 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) { public GorevineBlock(BlockBehaviour.Properties properties) {
super(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 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 TOP_CAP = BooleanProperty.create("top_cap");
public static final BooleanProperty BOTTOM_CAP = BooleanProperty.create("bottom_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 int MAX_DISTANCE = 6;
protected static final VoxelShape SHAPE = Block.box(4.0D, 0.0D, 4.0D, 12.0D, 16.0D, 12.0D); 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; return;
} }
int nextDistance = Math.min(state.getValue(DISTANCE) + 1, maxDistance());
BlockState grownState = this.defaultBlockState() BlockState grownState = this.defaultBlockState()
.setValue(GROWTH_DIRECTION, direction) .setValue(GROWTH_DIRECTION, direction)
.setValue(DISTANCE, state.getValue(DISTANCE) + 1); .setValue(DISTANCE, nextDistance);
level.setBlock(targetPos, grownState, Block.UPDATE_ALL); level.setBlock(targetPos, grownState, Block.UPDATE_ALL);
BlockState posState = level.getBlockState(pos); BlockState posState = level.getBlockState(pos);
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.content.block; package com.craisinlord.antarchy.content.block;
import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.mojang.serialization.MapCodec; import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; 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 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 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 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) { public WhirlflowerBlock(BlockBehaviour.Properties properties) {
super(properties); super(properties);
@@ -54,8 +54,8 @@ public class WhirlflowerBlock extends BushBlock {
@Override @Override
protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) { protected boolean mayPlaceOn(BlockState state, BlockGetter level, BlockPos pos) {
ResourceLocation id = BuiltInRegistries.BLOCK.getKey(state.getBlock()); return state.is(AntarchyTags.Blocks.NYXIUM)
return id.equals(VEINED_TYPHONITE_ID) || id.equals(VERDANT_NYXIUM_ID); || BuiltInRegistries.BLOCK.getKey(state.getBlock()).equals(VEINED_TYPHONITE_ID);
} }
@Override @Override
@@ -221,6 +221,8 @@ public final class CreativeTabContents {
entry("nadir_fern", "natural_blocks"), entry("nadir_fern", "natural_blocks"),
entry("large_nadir_fern", "natural_blocks"), entry("large_nadir_fern", "natural_blocks"),
entry("duskbell", "natural_blocks"), entry("duskbell", "natural_blocks"),
entry("nadir_roots", "natural_blocks"),
entry("verdant_roots", "natural_blocks"),
entry("typhonite_pillar", "building_blocks"), entry("typhonite_pillar", "building_blocks"),
entry("antigravel", "natural_blocks"), entry("antigravel", "natural_blocks"),
entry("budding_blood_crystal", "building_blocks"), entry("budding_blood_crystal", "building_blocks"),
@@ -340,6 +342,7 @@ public final class CreativeTabContents {
entry("duplicator_sapling", "natural_blocks"), entry("duplicator_sapling", "natural_blocks"),
entry("orange_milkweed", "natural_blocks"), entry("orange_milkweed", "natural_blocks"),
entry("pink_milkweed", "natural_blocks"), entry("pink_milkweed", "natural_blocks"),
entry("glimmering_reed", "natural_blocks"),
entry("camellia", "natural_blocks"), entry("camellia", "natural_blocks"),
entry("spider_lily", "natural_blocks"), entry("spider_lily", "natural_blocks"),
entry("lotus", "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) { 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; return true;
} }
if (pos.getY() >= 0) {
return false;
}
BlockState below = level.getBlockState(pos.below()); BlockState below = level.getBlockState(pos.below());
BlockState above = level.getBlockState(pos.above()); BlockState above = level.getBlockState(pos.above());
boolean floorSupport = !below.is(Blocks.BEDROCK) && below.isFaceSturdy(level, pos.below(), Direction.UP); 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.config.AntarchySettings;
import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.AntarchySoundEvents;
import com.craisinlord.antarchy.content.AntarchyTags; import com.craisinlord.antarchy.content.AntarchyTags;
import com.craisinlord.antarchy.content.entity.ManticoreEntity; import com.craisinlord.antarchy.content.entity.ManticoreEntity;
import com.craisinlord.antarchy.content.entity.royal.QueenEntity; import com.craisinlord.antarchy.content.entity.royal.QueenEntity;
@@ -11,6 +12,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID; 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.BlockPos;
import net.minecraft.core.Holder; import net.minecraft.core.Holder;
import net.minecraft.core.HolderSet; 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 RawAnimation CLOSING_ANIM = RawAnimation.begin().thenPlayAndHold("closing");
private static final int DEFAULT_LIFETIME_TICKS = 20 * 60 * 20; private static final int DEFAULT_LIFETIME_TICKS = 20 * 60 * 20;
private static final int OPENING_ANIMATION_TICKS = 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 CLOSING_ANIMATION_TICKS = 10;
private static final int EVENT_WARNING_TICKS = 80; private static final int EVENT_WARNING_TICKS = 80;
private static final int TELEPORT_COOLDOWN_TICKS = 60; 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 static final Map<UUID, Set<UUID>> QUEEN_TEAR_IDS = new HashMap<>();
private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this);
private boolean idleSoundStarted;
private UUID linkedTearId; private UUID linkedTearId;
@Nullable @Nullable
private DimensionalTearEntity linkedTear; private DimensionalTearEntity linkedTear;
@@ -138,13 +143,20 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
super.tick(); super.tick();
if (this.level().isClientSide) { if (this.level().isClientSide) {
this.tickClientParticles(); this.tickClientParticles();
this.tickIdleSound();
return; return;
} }
this.ageTicks++; 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) { if (this.ageTicks < OPENING_ANIMATION_TICKS) {
this.setTearState(TearState.OPENING); this.setTearState(TearState.OPENING);
} else if (this.ageTicks >= this.lifetimeTicks - CLOSING_ANIMATION_TICKS) { } 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); this.setTearState(TearState.COLLAPSING);
} else if (this.getTearState() == TearState.OPENING || this.getTearState() == TearState.COLLAPSING) { } else if (this.getTearState() == TearState.OPENING || this.getTearState() == TearState.COLLAPSING) {
this.setTearState(TearState.NORMAL); this.setTearState(TearState.NORMAL);
@@ -154,11 +166,11 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
return; return;
} }
if (this.queenOwnerId != null && this.ageTicks == OPENING_ANIMATION_TICKS) { if (this.queenOwnerId != null && this.ageTicks == MANTICORE_EMERGENCE_TICKS) {
this.spawnQueenManticores((ServerLevel) this.level()); 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()); 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.setDeltaMovement(this.getViewVector(1.0F).scale(0.35D).add(0.0D, 0.08D, 0.0D));
mob.setNoGravity(true); mob.setNoGravity(true);
level.addFreshEntity(mob); 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) { private void spawnQueenManticores(ServerLevel level) {
@@ -412,6 +424,14 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
this.entityData.set(STATE, state.ordinal()); 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() { private void tickClientParticles() {
TearState state = this.getTearState(); TearState state = this.getTearState();
if (this.random.nextInt(state == TearState.NORMAL ? 5 : 2) != 0) { if (this.random.nextInt(state == TearState.NORMAL ? 5 : 2) != 0) {
@@ -523,4 +543,36 @@ public class DimensionalTearEntity extends Entity implements GeoEntity {
public AnimatableInstanceCache getAnimatableInstanceCache() { public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.geoCache; 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 String HOMING_KEY = "Homing";
private static final double BASE_RADIUS = 0.35D; 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; private static final int FADE_OUT_TICKS = 8;
public enum VortexMode { public enum VortexMode {
@@ -174,8 +174,8 @@ public class WindVortexEntity extends Entity {
if (--this.travelTicksRemaining <= 0) { if (--this.travelTicksRemaining <= 0) {
this.travelling = false; this.travelling = false;
this.noPhysics = false; this.noPhysics = false;
this.setDeltaMovement(this.travelVelocity);
this.travelVelocity = Vec3.ZERO; this.travelVelocity = Vec3.ZERO;
this.setDeltaMovement(Vec3.ZERO);
} }
} else { } else {
Vec3 drift = this.getDeltaMovement().multiply(DRIFT_FRICTION, DRIFT_FRICTION, DRIFT_FRICTION); 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) @Mixin(LivingEntityRenderer.class)
public abstract class HoverboardRiderPoseMixin<T extends LivingEntity, M extends EntityModel<T>> { 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_RENDER_YAW = -90.0F;
private static final float HOVERBOARD_RIDER_TORSO_ROLL = -15.0F;
@Shadow @Shadow
public abstract M getModel(); 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); float correction = (float) Math.toRadians(HOVERBOARD_RIDER_RENDER_YAW);
humanoidModel.head.yRot += correction; humanoidModel.head.yRot += correction;
humanoidModel.hat.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.black_truffalo_tuft": "Black Truffalo Tuft",
"block.antarchy.orange_milkweed": "Orange Milkweed", "block.antarchy.orange_milkweed": "Orange Milkweed",
"block.antarchy.pink_milkweed": "Pink Milkweed", "block.antarchy.pink_milkweed": "Pink Milkweed",
"block.antarchy.glimmering_reed": "Glimmering Reed",
"block.antarchy.camellia": "Camellia", "block.antarchy.camellia": "Camellia",
"block.antarchy.spider_lily": "Spider Lily", "block.antarchy.spider_lily": "Spider Lily",
"block.antarchy.lotus": "Lotus", "block.antarchy.lotus": "Lotus",
@@ -493,6 +494,7 @@
"entity.antarchy.truffalo_chest_boat": "Truffalo Chest Boat", "entity.antarchy.truffalo_chest_boat": "Truffalo Chest Boat",
"item.antarchy.orange_milkweed": "Orange Milkweed", "item.antarchy.orange_milkweed": "Orange Milkweed",
"item.antarchy.pink_milkweed": "Pink Milkweed", "item.antarchy.pink_milkweed": "Pink Milkweed",
"item.antarchy.glimmering_reed": "Glimmering Reed",
"item.antarchy.camellia": "Camellia", "item.antarchy.camellia": "Camellia",
"item.antarchy.spider_lily": "Spider Lily", "item.antarchy.spider_lily": "Spider Lily",
"item.antarchy.hushweed": "Hushweed", "item.antarchy.hushweed": "Hushweed",
@@ -587,6 +589,7 @@
"entity.antarchy.upward_falling_block": "Falling Antigravel", "entity.antarchy.upward_falling_block": "Falling Antigravel",
"entity.antarchy.vortex": "Vortex", "entity.antarchy.vortex": "Vortex",
"entity.antarchy.wind_vortex": "Wind Vortex", "entity.antarchy.wind_vortex": "Wind Vortex",
"entity.antarchy.dimensional_tear": "Dimensional Tear",
"item.antarchy.vortex_spawn_egg": "Vortex Spawn Egg", "item.antarchy.vortex_spawn_egg": "Vortex Spawn Egg",
"item.antarchy.ultimate_helmet": "Ultimate Helmet", "item.antarchy.ultimate_helmet": "Ultimate Helmet",
"item.antarchy.ultimate_chestplate": "Ultimate Chestplate", "item.antarchy.ultimate_chestplate": "Ultimate Chestplate",
@@ -912,6 +915,10 @@
"subtitles.antarchy.thoraxis_dream_dunes_additions": "Dream Dunes rustle", "subtitles.antarchy.thoraxis_dream_dunes_additions": "Dream Dunes rustle",
"subtitles.antarchy.thoraxis_dream_dunes_mood": "Dream Dunes sigh", "subtitles.antarchy.thoraxis_dream_dunes_mood": "Dream Dunes sigh",
"subtitles.antarchy.thoraxis_lucid_pools_ambient": "Lucid Pools hum", "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_additions": "Lucid Pools curse",
"subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur", "subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur",
"subtitles.antarchy.lucid_ambient": "Lucid hums", "subtitles.antarchy.lucid_ambient": "Lucid hums",
@@ -1350,6 +1357,8 @@
"block.antarchy.nadir_fern": "Nadir Fern", "block.antarchy.nadir_fern": "Nadir Fern",
"block.antarchy.large_nadir_fern": "Large Nadir Fern", "block.antarchy.large_nadir_fern": "Large Nadir Fern",
"block.antarchy.duskbell": "Duskbell", "block.antarchy.duskbell": "Duskbell",
"block.antarchy.nadir_roots": "Nadir Roots",
"block.antarchy.verdant_roots": "Verdant Roots",
"block.antarchy.gorevine": "Gorevine" "block.antarchy.gorevine": "Gorevine"
,"decree.antarchy.the_sky_is_mine": "THE SKY IS MINE" ,"decree.antarchy.the_sky_is_mine": "THE SKY IS MINE"
,"decree.antarchy.the_sky_is_mine.subtitle": "Stay grounded." ,"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", "parent": "minecraft:block/cube_column",
"textures": { "textures": {
"end": "antarchy:block/typhonite_pillar_top", "end": "antarchy:block/typhonite/typhonite_pillar_top",
"side": "antarchy:block/typhonite_pillar" "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": [ "translation": [
-5.25, -5.25,
-1.85, 2.0,
-5 -5
], ],
"scale": [ "scale": [
@@ -26,7 +26,7 @@
], ],
"translation": [ "translation": [
-5.25, -5.25,
-1.85, 2.0,
-5 -5
], ],
"scale": [ "scale": [
@@ -43,7 +43,7 @@
], ],
"translation": [ "translation": [
-1, -1,
0, 2.0,
0.5 0.5
], ],
"scale": [ "scale": [
@@ -60,7 +60,7 @@
], ],
"translation": [ "translation": [
-1, -1,
0, 2.0,
0.5 0.5
], ],
"scale": [ "scale": [
@@ -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", "name": "antarchy:inversion_layer",
"type": "event", "type": "event",
"stream": true "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": { "venenatus": {
"sounds": [ "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": [ "values": [
"minecraft:hanging_roots", "minecraft:hanging_roots",
"minecraft:crimson_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, "weight": 3,
"minCount": 1, "minCount": 1,
"maxCount": 1 "maxCount": 1
},
{
"type": "antarchy:manticore",
"weight": 12,
"minCount": 1,
"maxCount": 2
} }
], ],
"creature": [ "creature": [
@@ -34,6 +34,7 @@
"antarchy:lumen_pools", "antarchy:lumen_pools",
"antarchy:lumen_streams", "antarchy:lumen_streams",
"antarchy:lumen_lily_pads", "antarchy:lumen_lily_pads",
"antarchy:glimmering_reeds",
"antarchy:giant_lily_pad_patch_common" "antarchy:giant_lily_pad_patch_common"
], ],
[], [],
@@ -52,20 +52,14 @@
"antarchy:nadir_forest_ceiling_trees", "antarchy:nadir_forest_ceiling_trees",
"antarchy:nadir_forest_ceiling_saplings", "antarchy:nadir_forest_ceiling_saplings",
"antarchy:nadir_ferns", "antarchy:nadir_ferns",
"antarchy:duskbells" "antarchy:duskbells",
"antarchy:nadir_roots_patch"
], ],
[] []
], ],
"creature_spawn_probability": 0.08, "creature_spawn_probability": 0.08,
"spawners": { "spawners": {
"monster": [ "monster": [],
{
"type": "antarchy:manticore",
"weight": 12,
"minCount": 1,
"maxCount": 2
}
],
"creature": [ "creature": [
{ {
"type": "antarchy:bed_bug", "type": "antarchy:bed_bug",
@@ -64,7 +64,9 @@
"antarchy:patch_ceiling_fire" "antarchy:patch_ceiling_fire"
], ],
[ [
"antarchy:whirlflower_patch" "antarchy:whirlflower_patch",
"antarchy:spiraling_vines_patch",
"antarchy:verdant_roots_patch"
] ]
], ],
"creature_spawn_probability": 0.03, "creature_spawn_probability": 0.03,
@@ -0,0 +1,4 @@
{
"type": "antarchy:glimmering_reeds",
"config": {}
}
@@ -2,8 +2,8 @@
"type": "minecraft:random_patch", "type": "minecraft:random_patch",
"config": { "config": {
"tries": 18, "tries": 18,
"xz_spread": 5, "xz_spread": 3,
"y_spread": 4, "y_spread": 1,
"feature": "antarchy:gorevine" "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", "type": "minecraft:random_patch",
"config": { "config": {
"tries": 6, "tries": 24,
"xz_spread": 3, "xz_spread": 4,
"y_spread": 1, "y_spread": 2,
"feature": "antarchy:whirlflower" "feature": "antarchy:whirlflower"
} }
} }
@@ -325,13 +325,22 @@
"if_true": { "if_true": {
"type": "minecraft:noise_threshold", "type": "minecraft:noise_threshold",
"noise": "minecraft:gravel", "noise": "minecraft:gravel",
"min_threshold": -0.05, "min_threshold": -0.022,
"max_threshold": 0.05 "max_threshold": 0.022
}, },
"then_run": { "then_run": {
"type": "minecraft:block", "type": "minecraft:condition",
"result_state": { "if_true": {
"Name": "antarchy:veined_typhonite" "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", "type": "minecraft:condition",
"if_true": { "if_true": {
"type": "minecraft:stone_depth", "type": "minecraft:stone_depth",
"add_surface_depth": true, "add_surface_depth": false,
"offset": 0, "offset": 0,
"secondary_depth_range": 0, "secondary_depth_range": 0,
"surface_type": "floor" "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