Beta 7 Commit
This commit is contained in:
1 parent
f23cf63f4f
commit
e74ee5733a
321 files changed
+10199
-10966
No files matched your search
@@ -42,6 +42,13 @@ dependencies {
|
||||
compileOnly(files("$rootDir/infinite_dimensions_jars/cloth-config-15.0.140-fabric.jar"))
|
||||
compileOnly(files("$rootDir/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar"))
|
||||
|
||||
// Compile against the NeoForge jar (official Mojang mappings, matches this module's compile
|
||||
// space) but load the real Fabric jar at runtime — sizeable_foliage's Fabric jar ships
|
||||
// intermediary-mapped (Fabric's normal shipping format) which this compileOnly classpath
|
||||
// can't resolve directly.
|
||||
compileOnly(files("$rootDir/sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar"))
|
||||
runtimeOnly(files("$rootDir/sizeable_foliage_jars/sizeable_foliage-fabric-1.21.1-1.0.0.jar"))
|
||||
|
||||
annotationProcessor "org.spongepowered:mixin:0.8.7:processor"
|
||||
common(project(path: ':common', configuration: 'namedElements')) { transitive false }
|
||||
shadowCommon(project(path: ':common', configuration: 'namedElements')) { transitive false }
|
||||
|
||||
@@ -38,50 +38,10 @@ public final class AntarchyFabric implements ModInitializer {
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "mantis_overworld_spawn_biomes")
|
||||
);
|
||||
private static final TagKey<net.minecraft.world.level.biome.Biome> VERY_SHORT_GRASS_SPAWN_BIOMES = TagKey.create(
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass_spawn_biomes")
|
||||
);
|
||||
private static final TagKey<net.minecraft.world.level.biome.Biome> VERY_TALL_GRASS_SPAWN_BIOMES = TagKey.create(
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass_spawn_biomes")
|
||||
);
|
||||
private static final TagKey<net.minecraft.world.level.biome.Biome> BIG_BUSH_SPAWN_BIOMES = TagKey.create(
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_spawn_biomes")
|
||||
);
|
||||
private static final TagKey<net.minecraft.world.level.biome.Biome> BIG_BUSH_2X2_SPAWN_BIOMES = TagKey.create(
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2_spawn_biomes")
|
||||
);
|
||||
private static final TagKey<net.minecraft.world.level.biome.Biome> MEGA_TAIGA_SPAWN_BIOMES = TagKey.create(
|
||||
Registries.BIOME,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "mega_taiga_spawn_biomes")
|
||||
);
|
||||
private static final ResourceKey<PlacedFeature> VERY_SHORT_GRASS_FEATURE = ResourceKey.create(
|
||||
Registries.PLACED_FEATURE,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass")
|
||||
);
|
||||
private static final ResourceKey<PlacedFeature> VERY_TALL_GRASS_FEATURE = ResourceKey.create(
|
||||
Registries.PLACED_FEATURE,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass")
|
||||
);
|
||||
private static final ResourceKey<PlacedFeature> BIG_BUSH_FEATURE = ResourceKey.create(
|
||||
Registries.PLACED_FEATURE,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush")
|
||||
);
|
||||
private static final ResourceKey<PlacedFeature> BIG_BUSH_2X2_FEATURE = ResourceKey.create(
|
||||
Registries.PLACED_FEATURE,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2")
|
||||
);
|
||||
private static final ResourceKey<PlacedFeature> BIG_BUSH_3X3_FEATURE = ResourceKey.create(
|
||||
Registries.PLACED_FEATURE,
|
||||
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_3x3")
|
||||
);
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
AntarchyFabricNetworking.register();
|
||||
AntarchyFabricNetworking.bootstrapMultipartCommon();
|
||||
AntarchyConfigModuleFabric.init();
|
||||
AntarchyFabricContent.register();
|
||||
registerWorldgenFeatures();
|
||||
@@ -131,30 +91,5 @@ public final class AntarchyFabric implements ModInitializer {
|
||||
AntarchyFabricContent.ALPHA_MANTIS.get(),
|
||||
1, 1, 1
|
||||
);
|
||||
BiomeModifications.addFeature(
|
||||
BiomeSelectors.tag(VERY_SHORT_GRASS_SPAWN_BIOMES),
|
||||
GenerationStep.Decoration.VEGETAL_DECORATION,
|
||||
VERY_SHORT_GRASS_FEATURE
|
||||
);
|
||||
BiomeModifications.addFeature(
|
||||
BiomeSelectors.tag(VERY_TALL_GRASS_SPAWN_BIOMES),
|
||||
GenerationStep.Decoration.VEGETAL_DECORATION,
|
||||
VERY_TALL_GRASS_FEATURE
|
||||
);
|
||||
BiomeModifications.addFeature(
|
||||
BiomeSelectors.tag(BIG_BUSH_SPAWN_BIOMES),
|
||||
GenerationStep.Decoration.VEGETAL_DECORATION,
|
||||
BIG_BUSH_FEATURE
|
||||
);
|
||||
BiomeModifications.addFeature(
|
||||
BiomeSelectors.tag(BIG_BUSH_2X2_SPAWN_BIOMES),
|
||||
GenerationStep.Decoration.VEGETAL_DECORATION,
|
||||
BIG_BUSH_2X2_FEATURE
|
||||
);
|
||||
BiomeModifications.addFeature(
|
||||
BiomeSelectors.tag(MEGA_TAIGA_SPAWN_BIOMES),
|
||||
GenerationStep.Decoration.VEGETAL_DECORATION,
|
||||
BIG_BUSH_3X3_FEATURE
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -76,8 +76,6 @@ import com.craisinlord.antarchy.content.item.LucidPearlItem;
|
||||
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WaterBombEntity;
|
||||
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
|
||||
import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity;
|
||||
import com.craisinlord.antarchy.content.item.PrimordialArmorItem;
|
||||
import com.craisinlord.antarchy.content.item.WaterCannonItem;
|
||||
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
|
||||
@@ -86,15 +84,12 @@ import com.craisinlord.antarchy.content.entity.MolevoreEntity;
|
||||
import com.craisinlord.antarchy.content.entity.MolewormEntity;
|
||||
import com.craisinlord.antarchy.content.entity.BomberEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SpitBugEntity;
|
||||
import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.entity.TriffidEntity;
|
||||
import com.craisinlord.antarchy.content.entity.WaspEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.BaseAntEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.BrownAntEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.RedAntEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.TermiteEntity;
|
||||
import com.craisinlord.antarchy.content.item.BattleAxeItem;
|
||||
import com.craisinlord.antarchy.content.item.BasiliskDaggerItem;
|
||||
import com.craisinlord.antarchy.content.item.BigBerthaItem;
|
||||
@@ -528,30 +523,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
|
||||
public static final DeferredBlock<MilkweedBlock> PINK_MILKWEED = BLOCKS.register("pink_milkweed",
|
||||
() -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)));
|
||||
public static final DeferredBlock<TorchflowerBushBlock> TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush",
|
||||
() -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY)
|
||||
.lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0)));
|
||||
public static final DeferredBlock<VeryShortGrassBlock> VERY_SHORT_GRASS = BLOCKS.register("very_short_grass",
|
||||
() -> new VeryShortGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SHORT_GRASS)));
|
||||
public static final DeferredBlock<VeryTallGrassBlock> VERY_TALL_GRASS = BLOCKS.register("very_tall_grass",
|
||||
() -> new VeryTallGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TALL_GRASS)));
|
||||
public static final DeferredBlock<BigBushBlock> BIG_BUSH = BLOCKS.register("big_bush",
|
||||
() -> new BigBushBlock(BlockBehaviour.Properties.of()
|
||||
.mapColor(net.minecraft.world.level.material.MapColor.PLANT)
|
||||
.noCollission()
|
||||
.instabreak()
|
||||
.sound(net.minecraft.world.level.block.SoundType.GRASS)
|
||||
.ignitedByLava()
|
||||
.pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY)));
|
||||
public static final DeferredBlock<BigBushPartBlock> BIG_BUSH_PART = BLOCKS.register("big_bush_part",
|
||||
() -> new BigBushPartBlock(BlockBehaviour.Properties.of()
|
||||
.mapColor(net.minecraft.world.level.material.MapColor.PLANT)
|
||||
.noCollission()
|
||||
.instabreak()
|
||||
.sound(net.minecraft.world.level.block.SoundType.GRASS)
|
||||
.ignitedByLava()
|
||||
.pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY)
|
||||
.noLootTable()));
|
||||
public static final DeferredBlock<net.minecraft.world.level.block.StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
|
||||
() -> new net.minecraft.world.level.block.StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN)));
|
||||
public static final DeferredBlock<net.minecraft.world.level.block.WallSignBlock> OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign",
|
||||
@@ -645,39 +616,19 @@ public final class AntarchyFabricContent {
|
||||
() -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties()));
|
||||
public static final DeferredBlock<AntDimensionPortalBlock> THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal",
|
||||
() -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties()));
|
||||
public static final DeferredBlock<AntDimensionPortalBlock> CAVARYN_PORTAL = BLOCKS.register("cavaryn_portal",
|
||||
() -> new AntDimensionPortalBlock(PermanentPortalType.CAVARYN, portalProperties()));
|
||||
public static final DeferredBlock<Block> PALE_NYXITE = BLOCKS.register("pale_nyxite",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final DeferredBlock<NyxiteSpikeBlock> NYXITE_SPIKE = BLOCKS.register("nyxite_spike",
|
||||
() -> new NyxiteSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE)));
|
||||
public static final DeferredBlock<ChitenSpikeBlock> CHITEN_SPIKE = BLOCKS.register("chiten_spike",
|
||||
() -> new ChitenSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE)));
|
||||
public static final DeferredBlock<PotentNyxiteBlock> POTENT_NYXITE = BLOCKS.register("potent_nyxite",
|
||||
() -> new PotentNyxiteBlock(
|
||||
AntarchyFabricContent::potentNyxiteBlockEntityType,
|
||||
BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK).lightLevel(state -> 3)
|
||||
));
|
||||
public static final DeferredBlock<Block> MYRMITE = BLOCKS.register("myrmite",
|
||||
() -> new Block(nyxiteProperties()));
|
||||
public static final DeferredBlock<Block> BROODSTONE = BLOCKS.register("broodstone",
|
||||
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE).requiresCorrectToolForDrops()));
|
||||
public static final DeferredBlock<RotatedPillarBlock> CHITEN_BLOCK = BLOCKS.register("chiten_block",
|
||||
() -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops()));
|
||||
public static final DeferredBlock<UmbralMossBlock> UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block",
|
||||
() -> new UmbralMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK)));
|
||||
public static final DeferredBlock<UmbralMossCarpetBlock> UMBRAL_MOSS_CARPET = BLOCKS.register("umbral_moss_carpet",
|
||||
() -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion()));
|
||||
public static final DeferredBlock<AmberMossBlock> AMBER_MOSS_BLOCK = BLOCKS.register("amber_moss_block",
|
||||
() -> new AmberMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK)));
|
||||
public static final DeferredBlock<UmbralMossCarpetBlock> AMBER_MOSS_CARPET = BLOCKS.register("amber_moss_carpet",
|
||||
() -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion()));
|
||||
public static final DeferredBlock<GlowLichenBlock> AMBER_LICHEN = BLOCKS.register("amber_lichen",
|
||||
() -> new GlowLichenBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLOW_LICHEN).lightLevel(state -> 4)));
|
||||
public static final DeferredBlock<Block> BILE_VEIN = BLOCKS.register("bile_vein",
|
||||
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK)));
|
||||
public static final DeferredBlock<VineBlock> CREEPVINE = BLOCKS.register("creepvine",
|
||||
() -> new VineBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.VINE)));
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame",
|
||||
() -> simpleParticleType());
|
||||
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> STINKY_GAS = PARTICLE_TYPES.register("stinky_gas",
|
||||
@@ -716,22 +667,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new DreamFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_FIRE)));
|
||||
public static final DeferredBlock<DreamCeilingFireBlock> DREAM_CEILING_FIRE = BLOCKS.register("dream_fire_ceiling",
|
||||
() -> new DreamCeilingFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_FIRE)));
|
||||
public static final DeferredBlock<CreepingHorrorEggBlock> CREEPING_HORROR_EGG = BLOCKS.register("creeping_horror_egg",
|
||||
() -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.of()
|
||||
.strength(0.15F)
|
||||
.sound(SoundType.METAL)
|
||||
.randomTicks()
|
||||
.noOcclusion()
|
||||
.noCollission()
|
||||
.replaceable()));
|
||||
public static final DeferredBlock<LurkingTerrorEggBlock> LURKING_TERROR_EGG = BLOCKS.register("lurking_terror_egg",
|
||||
() -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.of()
|
||||
.strength(0.15F)
|
||||
.sound(SoundType.METAL)
|
||||
.randomTicks()
|
||||
.noOcclusion()
|
||||
.noCollission()
|
||||
.replaceable()));
|
||||
public static final DeferredBlock<BedBugEggBlock> BED_BUG_EGG = BLOCKS.register("bed_bug_egg",
|
||||
() -> new BedBugEggBlock(BlockBehaviour.Properties.of()
|
||||
.strength(0.15F)
|
||||
@@ -771,6 +706,7 @@ public final class AntarchyFabricContent {
|
||||
() -> new Potion("stinky", new MobEffectInstance(mobEffectHolder(STINKY), 2400)));
|
||||
public static final DeferredHolder<MobEffect, ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new);
|
||||
public static final DeferredHolder<MobEffect, GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new);
|
||||
// public static final DeferredHolder<MobEffect, com.craisinlord.antarchy.content.effect.GlimmersGraceMobEffect> GLIMMERS_GRACE = MOB_EFFECTS.register("glimmers_grace", com.craisinlord.antarchy.content.effect.GlimmersGraceMobEffect::new);
|
||||
public static final DeferredHolder<Potion, Potion> PARALYSIS = POTIONS.register("paralysis",
|
||||
() -> new Potion(new MobEffectInstance(mobEffectHolder(PARALYZED), 200)));
|
||||
public static final DeferredHolder<Potion, Potion> LONG_PARALYSIS = POTIONS.register("long_paralysis",
|
||||
@@ -850,8 +786,6 @@ public final class AntarchyFabricContent {
|
||||
() -> buildAntType(BrownAntEntity::new, MobCategory.CREATURE, "brown_ant"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<RainbowAntEntity>> RAINBOW_ANT = ENTITY_TYPES.register("rainbow_ant",
|
||||
() -> buildAntType(RainbowAntEntity::new, MobCategory.CREATURE, "rainbow_ant"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<TermiteEntity>> TERMITE = ENTITY_TYPES.register("termite",
|
||||
() -> buildAntType(TermiteEntity::new, MobCategory.CREATURE, "termite"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<MolewormEntity>> MOLEWORM = ENTITY_TYPES.register("moleworm",
|
||||
() -> EntityType.Builder.of(MolewormEntity::new, MobCategory.MONSTER)
|
||||
.sized(0.4F, 0.3F)
|
||||
@@ -867,11 +801,6 @@ public final class AntarchyFabricContent {
|
||||
.sized(4.25F, 3.35F)
|
||||
.clientTrackingRange(10)
|
||||
.build("alpha_mantis"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<RollyPollyEntity>> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly",
|
||||
() -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE)
|
||||
.sized(0.95F, 0.85F)
|
||||
.clientTrackingRange(10)
|
||||
.build("rolly_polly"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<OuranwoodBoatEntity>> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat",
|
||||
() -> EntityType.Builder.<OuranwoodBoatEntity>of(OuranwoodBoatEntity::new, MobCategory.MISC)
|
||||
.sized(1.375F, 0.5625F)
|
||||
@@ -899,11 +828,6 @@ public final class AntarchyFabricContent {
|
||||
.sized(1.15F, 0.8F)
|
||||
.clientTrackingRange(8)
|
||||
.build("bed_bug"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<StinkBugEntity>> STINK_BUG = ENTITY_TYPES.register("stink_bug",
|
||||
() -> EntityType.Builder.of(StinkBugEntity::new, MobCategory.CREATURE)
|
||||
.sized(0.35F, 0.2F)
|
||||
.clientTrackingRange(8)
|
||||
.build("stink_bug"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<WaspEntity>> WASP = ENTITY_TYPES.register("wasp",
|
||||
() -> EntityType.Builder.of(WaspEntity::new, MobCategory.MONSTER)
|
||||
.sized(0.8625F, 1.365F)
|
||||
@@ -914,22 +838,6 @@ public final class AntarchyFabricContent {
|
||||
.sized(0.55F, 0.75F)
|
||||
.clientTrackingRange(8)
|
||||
.build("bomber"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<JumpyBugEntity>> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug",
|
||||
() -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER)
|
||||
.sized(3.0F, 3.0F)
|
||||
.clientTrackingRange(8)
|
||||
.build("jumpy_bug"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<SpitBugEntity>> SPIT_BUG = ENTITY_TYPES.register("spit_bug",
|
||||
() -> EntityType.Builder.of(SpitBugEntity::new, MobCategory.MONSTER)
|
||||
.sized(2.5F, 3.0F)
|
||||
.clientTrackingRange(10)
|
||||
.build("spit_bug"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<SpitBugProjectileEntity>> SPIT_BUG_PROJECTILE = ENTITY_TYPES.register("spit_bug_projectile",
|
||||
() -> EntityType.Builder.<SpitBugProjectileEntity>of(SpitBugProjectileEntity::new, MobCategory.MISC)
|
||||
.sized(0.5F, 0.5F)
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("spit_bug_projectile"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<SizeRayProjectileEntity>> SHRINK_RAY_PROJECTILE = ENTITY_TYPES.register("shrink_ray_projectile",
|
||||
() -> EntityType.Builder.<SizeRayProjectileEntity>of(SizeRayProjectileEntity::createShrink, MobCategory.MISC)
|
||||
.sized(0.5F, 0.5F)
|
||||
@@ -953,8 +861,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new AntNestBlock(BROWN_ANT, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable()));
|
||||
public static final DeferredBlock<AntNestBlock> RAINBOW_ANT_NEST = BLOCKS.register("rainbow_ant_nest",
|
||||
() -> new AntNestBlock(RAINBOW_ANT, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable()));
|
||||
public static final DeferredBlock<AntNestBlock> TERMITE_NEST = BLOCKS.register("termite_nest",
|
||||
() -> new AntNestBlock(TERMITE, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable()));
|
||||
public static final DeferredBlock<Block> URANIUM_ORE = BLOCKS.register("uranium_ore",
|
||||
() -> createOre(Blocks.EMERALD_ORE, 4, 8));
|
||||
public static final DeferredBlock<Block> DEEPSLATE_URANIUM_ORE = BLOCKS.register("deepslate_uranium_ore",
|
||||
@@ -1063,8 +969,7 @@ public final class AntarchyFabricContent {
|
||||
AntNestBlockEntity::new,
|
||||
RED_ANT_NEST.get(),
|
||||
BROWN_ANT_NEST.get(),
|
||||
RAINBOW_ANT_NEST.get(),
|
||||
TERMITE_NEST.get()
|
||||
RAINBOW_ANT_NEST.get()
|
||||
).build(null));
|
||||
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<DreamCampfireBlockEntity>> DREAM_CAMPFIRE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("dream_campfire",
|
||||
() -> BlockEntityType.Builder.of(
|
||||
@@ -1092,8 +997,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new BrownAntNestFeature(SimpleBlockConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, RainbowAntNestFeature> RAINBOW_ANT_NEST_FEATURE = FEATURES.register("rainbow_ant_nest",
|
||||
() -> new RainbowAntNestFeature(SimpleBlockConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, TermiteNestFeature> TERMITE_NEST_FEATURE = FEATURES.register("termite_nest",
|
||||
() -> new TermiteNestFeature(SimpleBlockConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, OuranwoodTreeFeature> OURANWOOD_LARGE_TREE = FEATURES.register("ouranwood_large_tree",
|
||||
() -> new OuranwoodTreeFeature(OuranwoodTreeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, OuranwoodTreeFeature> OURANWOOD_YOUNG_TREE = FEATURES.register("ouranwood_young_tree",
|
||||
@@ -1114,12 +1017,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.TORCHFLOWER_FIELDS));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover",
|
||||
() -> new ElythiaSurfaceCoverFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature> VERY_TALL_GRASS_FEATURE = FEATURES.register("very_tall_grass",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_2X2_FEATURE = FEATURES.register("big_bush_2x2",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 1));
|
||||
public static final DeferredHolder<Feature<?>, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_3X3_FEATURE = FEATURES.register("big_bush_3x3",
|
||||
() -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 2));
|
||||
public static final DeferredHolder<Feature<?>, ElythiaUndergroundFeature> ELYTHIA_UNDERGROUND = FEATURES.register("elythia_underground",
|
||||
() -> new ElythiaUndergroundFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, BrutalflyCocoonFeature> BRUTALFLY_COCOON = FEATURES.register("brutalfly_cocoon",
|
||||
@@ -1152,16 +1049,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes",
|
||||
() -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ChitenSpikeFeature> CAVARYN_CHITEN_SPIKES = FEATURES.register("cavaryn_chiten_spikes",
|
||||
() -> new ChitenSpikeFeature(ChitenSpikeConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins",
|
||||
() -> new CavarynBileVeinFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynBileCystFeature> CAVARYN_BILE_CYSTS = FEATURES.register("cavaryn_bile_cysts",
|
||||
() -> new CavarynBileCystFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynCreepvineFeature> CAVARYN_CREEPVINE = FEATURES.register("cavaryn_creepvine",
|
||||
() -> new CavarynCreepvineFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynWallAmberMossFeature> CAVARYN_WALL_AMBER_MOSS = FEATURES.register("cavaryn_wall_amber_moss",
|
||||
() -> new CavarynWallAmberMossFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, AntiwaterSpringsFeature> ANTIWATER_SPRINGS = FEATURES.register("antiwater_springs",
|
||||
() -> new AntiwaterSpringsFeature(AntiwaterSpringsConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, PotentNyxiteFeature> POTENT_NYXITE_FEATURE = FEATURES.register("potent_nyxite",
|
||||
@@ -1174,8 +1061,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new BedBugNestFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, BedBugSurfaceClusterFeature> BED_BUG_SURFACE_CLUSTER = FEATURES.register("bed_bug_surface_cluster",
|
||||
() -> new BedBugSurfaceClusterFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, CavarynEggPatchFeature> CAVARYN_TERROR_EGG_PATCH = FEATURES.register("cavaryn_terror_egg_patch",
|
||||
() -> new CavarynEggPatchFeature(NoneFeatureConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, ThoraxisAntiwaterPoolFeature> THORAXIS_ANTIWATER_POOL = FEATURES.register("thoraxis_antiwater_pool",
|
||||
() -> new ThoraxisAntiwaterPoolFeature(ThoraxisAntiwaterPoolConfiguration.CODEC));
|
||||
public static final DeferredHolder<Feature<?>, LucidAntiwaterPoolFeature> LUCID_ANTIWATER_POOL = FEATURES.register("lucid_antiwater_pool",
|
||||
@@ -1210,13 +1095,8 @@ public final class AntarchyFabricContent {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_LEAVES);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(OURANWOOD_ACORN_BLOCK);
|
||||
// public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_VINE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_SHORT_GRASS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_TALL_GRASS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BIG_BUSH_ITEM = ITEMS.register("big_bush",
|
||||
() -> new com.craisinlord.antarchy.content.item.BigBushBlockItem(BIG_BUSH.get(), new Item.Properties()));
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(ORANGE_MILKWEED);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(PINK_MILKWEED);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(TORCHFLOWER_BUSH);
|
||||
public static final DeferredItem<net.minecraft.world.item.SignItem> OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign",
|
||||
() -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), OURANWOOD_SIGN.get(), OURANWOOD_WALL_SIGN.get()));
|
||||
public static final DeferredItem<net.minecraft.world.item.HangingSignItem> OURANWOOD_HANGING_SIGN_ITEM = ITEMS.register("ouranwood_hanging_sign",
|
||||
@@ -1229,7 +1109,6 @@ public final class AntarchyFabricContent {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> RED_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(RED_ANT_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROWN_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(BROWN_ANT_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> RAINBOW_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(RAINBOW_ANT_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> TERMITE_NEST_ITEM = ITEMS.registerSimpleBlockItem(TERMITE_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(URANIUM_ORE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DEEPSLATE_URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(DEEPSLATE_URANIUM_ORE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> TITANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(TITANIUM_ORE);
|
||||
@@ -1285,12 +1164,9 @@ public final class AntarchyFabricContent {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> INFESTED_ROOTED_DIRT_ITEM = ITEMS.registerSimpleBlockItem(INFESTED_ROOTED_DIRT);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> INFESTED_COARSE_DIRT_ITEM = ITEMS.registerSimpleBlockItem(INFESTED_COARSE_DIRT);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_ITEM = ITEMS.registerSimpleBlockItem(NYXITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(MYRMITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_ITEM = ITEMS.registerSimpleBlockItem(BROODSTONE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(POLISHED_NYXITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHISELED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(CHISELED_NYXITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_BRICKS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITEN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(CHITEN_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_STAIRS);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_SLAB);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_WALL);
|
||||
@@ -1325,17 +1201,10 @@ public final class AntarchyFabricContent {
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(POTENT_NYXITE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(UMBRAL_MOSS_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(UMBRAL_MOSS_CARPET);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> AMBER_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AMBER_MOSS_BLOCK);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> AMBER_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AMBER_MOSS_CARPET);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> AMBER_LICHEN_ITEM = ITEMS.registerSimpleBlockItem(AMBER_LICHEN);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BILE_VEIN_ITEM = ITEMS.registerSimpleBlockItem(BILE_VEIN);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CREEPVINE_ITEM = ITEMS.registerSimpleBlockItem(CREEPVINE);
|
||||
public static final DeferredItem<StandingAndWallBlockItem> DREAM_TORCH_ITEM = ITEMS.register("dream_torch",
|
||||
() -> new StandingAndWallBlockItem(DREAM_TORCH.get(), DREAM_WALL_TORCH.get(), new Item.Properties(), Direction.UP));
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_LANTERN_ITEM = ITEMS.registerSimpleBlockItem(DREAM_LANTERN);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_CAMPFIRE_ITEM = ITEMS.registerSimpleBlockItem(DREAM_CAMPFIRE);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CREEPING_HORROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(CREEPING_HORROR_EGG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> LURKING_TERROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(LURKING_TERROR_EGG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> BED_BUG_EGG_ITEM = ITEMS.registerSimpleBlockItem(BED_BUG_EGG);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> WASP_NEST_ITEM = ITEMS.registerSimpleBlockItem(WASP_NEST);
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> HUSHWEED_ITEM = ITEMS.registerSimpleBlockItem(HUSHWEED);
|
||||
@@ -1378,10 +1247,10 @@ public final class AntarchyFabricContent {
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<Item> QUEEN_SCALE = ITEMS.register("queen_scale",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
|
||||
public static final DeferredItem<Item> CHITEN = ITEMS.registerSimpleItem("chiten", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITEN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(CHITEN_SPIKE);
|
||||
public static final DeferredItem<Item> STINK_BUG_ITEM = ITEMS.registerSimpleItem("stink_bug", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<Item> JUMPY_BUG_LEG = ITEMS.registerSimpleItem("jumpy_bug_leg", new Item.Properties().rarity(Rarity.UNCOMMON));
|
||||
public static final DeferredItem<Item> STINK_BUG_ITEM = ITEMS.register("stink_bug",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON)));
|
||||
public static final DeferredItem<Item> JUMPY_BUG_LEG = ITEMS.register("jumpy_bug_leg",
|
||||
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON)));
|
||||
private static final DeferredHolder<ArmorMaterial, ArmorMaterial> JUMPY_BOOTS_ARMOR_MATERIAL = ARMOR_MATERIALS.register("jumpy_boots",
|
||||
() -> new ArmorMaterial(
|
||||
createJumpyBootsDefense(),
|
||||
@@ -1695,6 +1564,15 @@ public final class AntarchyFabricContent {
|
||||
.sized(11.4F, 39.0F)
|
||||
.clientTrackingRange(12)
|
||||
.build("kraken"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity>> KRAKEN_PART = ENTITY_TYPES.register("kraken_part",
|
||||
() -> EntityType.Builder.<com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity>of(
|
||||
com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity::new,
|
||||
MobCategory.MISC
|
||||
)
|
||||
.sized(1.0F, 1.0F)
|
||||
.clientTrackingRange(12)
|
||||
.updateInterval(1)
|
||||
.build("kraken_part"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<MissileSquidEntity>> MISSILE_SQUID = ENTITY_TYPES.register("missile_squid",
|
||||
() -> EntityType.Builder.of(MissileSquidEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.62F, 3.18F)
|
||||
@@ -1780,16 +1658,12 @@ public final class AntarchyFabricContent {
|
||||
() -> new DeferredSpawnEggItem(BROWN_ANT, 0x6A4320, 0x26160A, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> RAINBOW_ANT_SPAWN_EGG = ITEMS.register("rainbow_ant_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(RAINBOW_ANT, 0x56D4F0, 0xF66DBB, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> TERMITE_SPAWN_EGG = ITEMS.register("termite_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(TERMITE, 0xD4B96A, 0xFF6B1A, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> MOLEWORM_SPAWN_EGG = ITEMS.register("moleworm_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON)));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg",
|
||||
@@ -1806,12 +1680,6 @@ public final class AntarchyFabricContent {
|
||||
() -> new DeferredSpawnEggItem(WASP, 0x111111, 0xF1D800, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> BOMBER_SPAWN_EGG = ITEMS.register("bomber_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(JUMPY_BUG, 0x0A1636, 0x8A3E00, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> SPIT_BUG_SPAWN_EGG = ITEMS.register("spit_bug_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(SPIT_BUG, 0x6B4A2B, 0x7ED957, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> STINK_BUG_SPAWN_EGG = ITEMS.register("stink_bug_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(STINK_BUG, 0x111111, 0xFF7A00, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> KRAKEN_SPAWN_EGG = ITEMS.register("kraken_spawn_egg",
|
||||
@@ -1864,44 +1732,24 @@ public final class AntarchyFabricContent {
|
||||
.clientTrackingRange(8)
|
||||
.updateInterval(1)
|
||||
.build("water_bomb"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<CreepingHorrorEntity>> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror",
|
||||
() -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.3F, 1.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("creeping_horror"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<LurkingTerrorEntity>> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror",
|
||||
() -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER)
|
||||
.sized(1.3F, 1.5F)
|
||||
.clientTrackingRange(10)
|
||||
.build("lurking_terror"));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> TORETERROR_SPAWN_EGG = ITEMS.register("toreterror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(TORETERROR, 0x90EE90, 0x5C4033, new Item.Properties().rarity(Rarity.EPIC)));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties()));
|
||||
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.CheepEntity>> CHEEP = ENTITY_TYPES.register("cheep",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.CheepEntity::new, MobCategory.WATER_AMBIENT)
|
||||
.sized(1.0F, 1.2F)
|
||||
.clientTrackingRange(8)
|
||||
.build("cheep"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.DorrieEntity>> DORRIE = ENTITY_TYPES.register("dorrie",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.DorrieEntity::new, MobCategory.WATER_CREATURE)
|
||||
.sized(2.4F, 2.0F)
|
||||
.clientTrackingRange(10)
|
||||
.build("dorrie"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.HerculesBeetleEntity>> HERCULES_BEETLE = ENTITY_TYPES.register("hercules_beetle",
|
||||
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.HerculesBeetleEntity::new, MobCategory.MONSTER)
|
||||
.sized(3.0F, 4.0F)
|
||||
.clientTrackingRange(12)
|
||||
.build("hercules_beetle"));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> CHEEP_SPAWN_EGG = ITEMS.register("cheep_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(CHEEP, 0xFF00AA, 0x00FF44, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(DORRIE, 0x1B91B3, 0xC0E8FF, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> HERCULES_BEETLE_SPAWN_EGG = ITEMS.register("hercules_beetle_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(HERCULES_BEETLE, 0x6B1F2A, 0xD4AF37, new Item.Properties().rarity(Rarity.RARE)));
|
||||
|
||||
// public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.entity.GlimmerEntity>> GLIMMER = ENTITY_TYPES.register("glimmer",
|
||||
// () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.GlimmerEntity::new, MobCategory.CREATURE)
|
||||
// .sized(0.9F, 1.4F)
|
||||
// .clientTrackingRange(8)
|
||||
// .build("glimmer"));
|
||||
// public static final DeferredItem<DeferredSpawnEggItem> GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg",
|
||||
// () -> new DeferredSpawnEggItem(GLIMMER, 0xBEEFFF, 0x6FD8FF, new Item.Properties()));
|
||||
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> ANTARCHY_TAB = CREATIVE_MODE_TABS.register("antarchy",
|
||||
() -> CreativeModeTab.builder(CreativeModeTab.Row.TOP, 0)
|
||||
@@ -1975,25 +1823,18 @@ public final class AntarchyFabricContent {
|
||||
FabricDefaultAttributeRegistry.register(OCTOPUS_BOMB.get(), OctopusBombEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(NIGHTMARE.get(), NightmareEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(BED_BUG.get(), BedBugEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(STINK_BUG.get(), StinkBugEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(WASP.get(), WaspEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(BOMBER.get(), BomberEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(SPIT_BUG.get(), SpitBugEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(MANTIS.get(), MantisEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(TRIFFID.get(), TriffidEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(LUCID.get(), LucidEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(SCORPION.get(), ScorpionEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(BASILISK.get(), BasiliskEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(EMPEROR_SCORPION.get(), EmperorScorpionEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(TORETERROR.get(), ToreterrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.entity.HerculesBeetleEntity.createAttributes().build());
|
||||
// FabricDefaultAttributeRegistry.register(GLIMMER.get(), com.craisinlord.antarchy.content.entity.GlimmerEntity.createAttributes().build());
|
||||
|
||||
FabricDefaultAttributeRegistry.register(RED_ANT.get(), buildAntAttributes(
|
||||
AntarchySettings.redAntHealth(),
|
||||
@@ -2012,11 +1853,6 @@ public final class AntarchyFabricContent {
|
||||
).build());
|
||||
FabricDefaultAttributeRegistry.register(MOLEWORM.get(), MolewormEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(MOLEVORE.get(), MolevoreEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(TERMITE.get(), buildAntAttributes(
|
||||
AntarchySettings.termiteHealth(),
|
||||
AntarchySettings.termiteMovementSpeed(),
|
||||
AntarchySettings.termiteAttackDamage()
|
||||
).build());
|
||||
}
|
||||
|
||||
private static void registerSpawnPlacements() {
|
||||
@@ -2031,27 +1867,22 @@ public final class AntarchyFabricContent {
|
||||
SpawnPlacements.register(CLOUD_SHARK.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CloudSharkEntity::canSpawn);
|
||||
SpawnPlacements.register(WASP.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaspEntity::canSpawn);
|
||||
SpawnPlacements.register(BOMBER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BomberEntity::canSpawn);
|
||||
SpawnPlacements.register(JUMPY_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JumpyBugEntity::canSpawn);
|
||||
SpawnPlacements.register(SPIT_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SpitBugEntity::canSpawn);
|
||||
SpawnPlacements.register(KRAKEN.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, KrakenEntity::canSpawn);
|
||||
SpawnPlacements.register(MISSILE_SQUID.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn);
|
||||
SpawnPlacements.register(OCTOPUS_BOMB.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, OctopusBombEntity::canSpawn);
|
||||
SpawnPlacements.register(CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.AbstractFish::checkSurfaceWaterAnimalSpawnRules);
|
||||
// SpawnPlacements.register(GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
|
||||
SpawnPlacements.register(NIGHTMARE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn);
|
||||
SpawnPlacements.register(MOLEWORM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolewormEntity::canSpawn);
|
||||
SpawnPlacements.register(MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MantisEntity::canSpawn);
|
||||
SpawnPlacements.register(ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules);
|
||||
SpawnPlacements.register(MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn);
|
||||
SpawnPlacements.register(BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn);
|
||||
SpawnPlacements.register(STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn);
|
||||
SpawnPlacements.register(LUCID.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LucidEntity::canSpawn);
|
||||
SpawnPlacements.register(SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ScorpionEntity::canSpawn);
|
||||
SpawnPlacements.register(BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn);
|
||||
SpawnPlacements.register(EMPEROR_SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn);
|
||||
SpawnPlacements.register(TORETERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ToreterrorEntity::canSpawn);
|
||||
SpawnPlacements.register(CREEPING_HORROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CreepingHorrorEntity::canSpawn);
|
||||
SpawnPlacements.register(LURKING_TERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LurkingTerrorEntity::canSpawn);
|
||||
SpawnPlacements.register(TERMITE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
|
||||
}
|
||||
|
||||
private static void populateCreativeTab(CreativeModeTab.Output output) {
|
||||
@@ -2123,7 +1954,7 @@ public final class AntarchyFabricContent {
|
||||
"smooth_dream_sandstone_stairs", "smooth_dream_sandstone_slab",
|
||||
"cut_dream_sandstone_slab" -> 4;
|
||||
case "umbral_moss_block", "umbral_moss_carpet" -> 4;
|
||||
case "torchflower_bush", "big_bush", "very_short_grass", "very_tall_grass", "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6;
|
||||
case "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6;
|
||||
case "blood_crystal_block", "budding_blood_crystal",
|
||||
"small_blood_crystal_bud", "medium_blood_crystal_bud",
|
||||
"large_blood_crystal_bud", "blood_crystal_cluster" -> 7;
|
||||
@@ -2135,7 +1966,6 @@ public final class AntarchyFabricContent {
|
||||
"chiseled_titanium", "uranium_bulb", "titanium_bulb",
|
||||
"uranium_door", "titanium_door", "uranium_trapdoor", "titanium_trapdoor",
|
||||
"uranium_bars", "titanium_bars" -> 8;
|
||||
case "bile_vein" -> 9;
|
||||
case "infested_rooted_dirt", "infested_coarse_dirt", "triffid_goo_block",
|
||||
"cloud_block", "creeping_horror_egg", "lurking_terror_egg" -> 9;
|
||||
case "dream_torch", "dream_lantern", "dream_campfire", "dream_fire", "dream_fire_ceiling" -> 10;
|
||||
@@ -2145,7 +1975,7 @@ public final class AntarchyFabricContent {
|
||||
"moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "rolly_polly_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg",
|
||||
"apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg",
|
||||
"honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg",
|
||||
"bomber_spawn_egg", "jumpy_bug_spawn_egg", "spit_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg",
|
||||
"bomber_spawn_egg", "jumpy_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg",
|
||||
"nightmare_spawn_egg", "bed_bug_spawn_egg", "lucid_spawn_egg", "scorpion_spawn_egg",
|
||||
"basilisk_spawn_egg", "emperor_scorpion_spawn_egg", "toreterror_spawn_egg",
|
||||
"hercules_beetle_spawn_egg",
|
||||
@@ -2454,14 +2284,13 @@ public final class AntarchyFabricContent {
|
||||
CREATIVE_MODE_TABS.register();
|
||||
|
||||
// Wire common-module accessors after all registrations are complete.
|
||||
AntarchyObjects.setHerculesBeetle(() -> HERCULES_BEETLE.get());
|
||||
PermanentPortalType.bindBlocks(
|
||||
() -> MOSSY_OURANWOOD_WOOD.get(),
|
||||
() -> ELYTHIA_PORTAL.get(),
|
||||
() -> NYXITE.get(),
|
||||
() -> THORAXIS_PORTAL.get(),
|
||||
() -> MYRMITE.get(),
|
||||
() -> CAVARYN_PORTAL.get()
|
||||
() -> NYXITE.get(),
|
||||
() -> THORAXIS_PORTAL.get()
|
||||
);
|
||||
|
||||
AntarchySoundEvents.bind(
|
||||
@@ -2588,17 +2417,19 @@ public final class AntarchyFabricContent {
|
||||
TORETERROR_JUMP_UP,
|
||||
TORETERROR_JUMP_LAND,
|
||||
STINKY_FLY_SOUND,
|
||||
CREEPING_HORROR_GROWL,
|
||||
CREEPING_HORROR_HURT,
|
||||
CREEPING_HORROR_BITE,
|
||||
LURKING_TERROR_SNARL,
|
||||
LURKING_TERROR_HURT,
|
||||
LURKING_TERROR_BITE,
|
||||
LURKING_TERROR_FLY_LOOP,
|
||||
ANT_IDLE,
|
||||
ANT_HURT,
|
||||
ANT_BITE,
|
||||
ANT_IDLE,
|
||||
ANT_HURT,
|
||||
ANT_BITE,
|
||||
ANT_IDLE,
|
||||
DUCT_TAPE_USE
|
||||
);
|
||||
|
||||
AntarchyObjects.setOctopusBomb(OCTOPUS_BOMB);
|
||||
// AntarchyObjects.setGlimmer(GLIMMER);
|
||||
// AntarchyObjects.setGlimmersGrace(() -> mobEffectHolder(GLIMMERS_GRACE));
|
||||
AntarchyObjects.bind(
|
||||
EASTER_BUNNY,
|
||||
FLYING_SQUIRREL,
|
||||
@@ -2619,11 +2450,11 @@ public final class AntarchyFabricContent {
|
||||
HUSH_PROJECTILE,
|
||||
TORETERROR,
|
||||
WATER_BOMB,
|
||||
CREEPING_HORROR,
|
||||
LURKING_TERROR,
|
||||
STINK_BUG,
|
||||
(java.util.function.Supplier) BOMBER,
|
||||
(java.util.function.Supplier) BOMBER,
|
||||
(java.util.function.Supplier) BED_BUG,
|
||||
CHEEP,
|
||||
DORRIE,
|
||||
(java.util.function.Supplier) CHEEP,
|
||||
() -> DUPLICATOR_LOG.get(),
|
||||
() -> DUPLICATOR_SAPLING.get(),
|
||||
() -> DUCT_TAPE.get(),
|
||||
@@ -2652,8 +2483,8 @@ public final class AntarchyFabricContent {
|
||||
() -> TRIFFID_GOO_BLOCK.get(),
|
||||
() -> PALE_NYXITE.get(),
|
||||
() -> NYXITE_SPIKE.get(),
|
||||
() -> CHITEN_BLOCK.get(),
|
||||
() -> CHITEN_SPIKE.get(),
|
||||
() -> NYXITE.get(),
|
||||
() -> NYXITE_SPIKE.get(),
|
||||
() -> POTENT_NYXITE.get(),
|
||||
() -> ANTIMETAL.get(),
|
||||
() -> POLISHED_ANTIMETAL.get(),
|
||||
@@ -2676,10 +2507,9 @@ public final class AntarchyFabricContent {
|
||||
() -> MOSSY_OURANWOOD_WOOD.get(),
|
||||
() -> ORANGE_MILKWEED.get(),
|
||||
() -> PINK_MILKWEED.get(),
|
||||
() -> TORCHFLOWER_BUSH.get(),
|
||||
() -> BED_BUG_EGG.get(),
|
||||
() -> CREEPING_HORROR_EGG.get(),
|
||||
() -> LURKING_TERROR_EGG.get(),
|
||||
() -> BED_BUG_EGG.get(),
|
||||
() -> BED_BUG_EGG.get(),
|
||||
() -> WASP_NEST.get(),
|
||||
() -> HUSHWEED.get(),
|
||||
() -> OURANWOOD_SQUIRREL_NEST.get(),
|
||||
|
||||
@@ -52,13 +52,7 @@ public final class AntarchyFabricEvents {
|
||||
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.BIG_BUSH.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CREEPVINE.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.HUSHWEED.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_SHORT_GRASS.get().asItem(), 0.3f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_TALL_GRASS.get().asItem(), 0.5f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CORNEA_EAR.get(), 0.65f);
|
||||
|
||||
ServerLivingEntityEvents.AFTER_DEATH.register((entity, damageSource) -> {
|
||||
|
||||
@@ -7,6 +7,7 @@ public final class AntarchyFabricClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
AntarchyFabricClientNetworking.register();
|
||||
AntarchyFabricClientNetworking.bootstrapMultipartClient();
|
||||
AntarchyFabricClientBootstrap.register();
|
||||
}
|
||||
}
|
||||
|
||||
+5
-32
@@ -6,6 +6,7 @@ import com.craisinlord.antarchy.content.client.renderer.*;
|
||||
import com.craisinlord.antarchy.content.client.particle.*;
|
||||
import com.craisinlord.antarchy.content.client.renderer.AntiwaterFluidRenderer;
|
||||
import com.craisinlord.antarchy.fabric.AntarchyFabricContent;
|
||||
import com.craisinlord.antarchy.fabric.client.renderer.MultipartPartRenderer;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
@@ -75,11 +76,9 @@ public final class AntarchyFabricClientBootstrap {
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.RED_ANT.get(), AntRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.BROWN_ANT.get(), AntRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.RAINBOW_ANT.get(), AntRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.TERMITE.get(), TermiteRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.MOLEWORM.get(), MolewormRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.MANTIS.get(), MantisRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.ALPHA_MANTIS.get(), AlphaMantisRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.ROLLY_POLLY.get(), RollyPollyRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.MOLEVORE.get(), MolevoreRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.TRIFFID.get(), TriffidRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png"), false));
|
||||
@@ -91,16 +90,14 @@ public final class AntarchyFabricClientBootstrap {
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.DR_TRAYAURUS.get(), context -> new DrTrayaurusRenderer(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/dr_trayaurus.png")));
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.CLOUD_SHARK.get(), CloudSharkRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.KRAKEN.get(), KrakenRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.KRAKEN_PART.get(), MultipartPartRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.MISSILE_SQUID.get(), MissileSquidRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.OCTOPUS_BOMB.get(), OctopusBombRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.NIGHTMARE.get(), NightmareRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.LUCID.get(), LucidRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.BED_BUG.get(), BedBugRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.STINK_BUG.get(), StinkBugRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.WASP.get(), WaspRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.BOMBER.get(), BomberRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.JUMPY_BUG.get(), JumpyBugRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.SPIT_BUG.get(), SpitBugRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.BASILISK.get(), BasiliskRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.SHRINK_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new);
|
||||
@@ -108,17 +105,13 @@ public final class AntarchyFabricClientBootstrap {
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.HUSH_PROJECTILE.get(), HushProjectileRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.SPIT_BUG_PROJECTILE.get(), SpitBugProjectileRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.UPWARD_FALLING_BLOCK.get(), UpwardFallingBlockRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.SCORPION.get(), ScorpionRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.EMPEROR_SCORPION.get(), EmperorScorpionRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.TORETERROR.get(), ToreterrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.WATER_BOMB.get(), WaterBombRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.CREEPING_HORROR.get(), CreepingHorrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.LURKING_TERROR.get(), LurkingTerrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.CHEEP.get(), com.craisinlord.antarchy.content.client.renderer.CheepRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.DORRIE.get(), com.craisinlord.antarchy.content.client.renderer.DorrieRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricContent.HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.client.renderer.HerculesBeetleRenderer::new);
|
||||
// EntityRendererRegistry.register(AntarchyFabricContent.GLIMMER.get(), com.craisinlord.antarchy.content.client.renderer.GlimmerRenderer::new);
|
||||
|
||||
EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.boatLayer(), BoatModel::createBodyModel);
|
||||
EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel);
|
||||
@@ -135,18 +128,11 @@ public final class AntarchyFabricClientBootstrap {
|
||||
ColorProviderRegistry.BLOCK.register(
|
||||
(state, level, pos, tintIndex) -> level != null && pos != null
|
||||
? BiomeColors.getAverageGrassColor(level, pos)
|
||||
: net.minecraft.world.level.GrassColor.getDefaultColor(),
|
||||
AntarchyFabricContent.BIG_BUSH.get(),
|
||||
AntarchyFabricContent.BIG_BUSH_PART.get(),
|
||||
AntarchyFabricContent.VERY_SHORT_GRASS.get(),
|
||||
AntarchyFabricContent.VERY_TALL_GRASS.get()
|
||||
: net.minecraft.world.level.GrassColor.getDefaultColor()
|
||||
);
|
||||
ColorProviderRegistry.ITEM.register((stack, tintIndex) -> FoliageColor.getDefaultColor(), AntarchyFabricContent.OURANWOOD_LEAVES_ITEM.get());
|
||||
ColorProviderRegistry.ITEM.register(
|
||||
(stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor(),
|
||||
AntarchyFabricContent.BIG_BUSH_ITEM.get(),
|
||||
AntarchyFabricContent.VERY_SHORT_GRASS_ITEM.get(),
|
||||
AntarchyFabricContent.VERY_TALL_GRASS_ITEM.get()
|
||||
(stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -228,22 +214,12 @@ public final class AntarchyFabricClientBootstrap {
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.DUPLICATOR_SAPLING.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ORANGE_MILKWEED.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.PINK_MILKWEED.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TORCHFLOWER_BUSH.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH_PART.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_SHORT_GRASS.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_TALL_GRASS.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.HUSHWEED.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CORNEA_STALK.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.FALLEN_KING_CROWN_BLOCK.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.AMBER_MOSS_CARPET.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.AMBER_LICHEN.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BILE_VEIN.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CREEPVINE.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.NYXITE_SPIKE.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CHITEN_SPIKE.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.SMALL_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.MEDIUM_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.LARGE_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout());
|
||||
@@ -257,7 +233,6 @@ public final class AntarchyFabricClientBootstrap {
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ANTIWATER_BLOCK.get(), RenderType.translucent());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ELYTHIA_PORTAL.get(), RenderType.translucent());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.THORAXIS_PORTAL.get(), RenderType.translucent());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CAVARYN_PORTAL.get(), RenderType.translucent());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TRIFFID_GOO_BLOCK.get(), RenderType.translucent());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.URANIUM_DOOR.get(), RenderType.cutout());
|
||||
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TITANIUM_DOOR.get(), RenderType.cutout());
|
||||
@@ -369,8 +344,6 @@ public final class AntarchyFabricClientBootstrap {
|
||||
MogglesClientRenderer.register();
|
||||
StinkySoundHandler.register();
|
||||
ReverieTrailHandler.register();
|
||||
ClientTickEvents.END_CLIENT_TICK.register(com.craisinlord.antarchy.content.client.BigBushCameraHider::update);
|
||||
|
||||
HudRenderCallback.EVENT.register((guiGraphics, partialTick) -> {
|
||||
DreadHudRenderer.render(guiGraphics);
|
||||
ParalyzedHudRenderer.render(guiGraphics);
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package com.craisinlord.antarchy.fabric.client.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
||||
public final class MultipartClientPartLevelRegistry {
|
||||
private MultipartClientPartLevelRegistry() {
|
||||
}
|
||||
|
||||
public static void register(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ClientLevel clientLevel = (ClientLevel) ((Entity) owner).level();
|
||||
for (Entity part : parts) {
|
||||
if (part != null && clientLevel.getEntity(part.getId()) != part) {
|
||||
clientLevel.addEntity(part);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void unregister(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Entity part : parts) {
|
||||
if (part != null && !part.isRemoved()) {
|
||||
part.discard();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.craisinlord.antarchy.fabric.client.renderer;
|
||||
|
||||
import com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
public class MultipartPartRenderer extends EntityRenderer<MultipartPartEntity> {
|
||||
private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/misc/white.png");
|
||||
|
||||
public MultipartPartRenderer(EntityRendererProvider.Context context) {
|
||||
super(context);
|
||||
this.shadowRadius = 0.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(MultipartPartEntity entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource buffer, int packedLight) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureLocation(MultipartPartEntity entity) {
|
||||
return TEXTURE;
|
||||
}
|
||||
}
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
package com.craisinlord.antarchy.fabric.entity.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition;
|
||||
|
||||
public final class FabricKrakenMultipartLayout {
|
||||
private static final MultipartPartDefinition[] PARTS = {
|
||||
new MultipartPartDefinition(
|
||||
"tentacle_mass",
|
||||
14.0F,
|
||||
18.0F,
|
||||
0.90F,
|
||||
12.0D,
|
||||
13.5D,
|
||||
0.00D,
|
||||
true
|
||||
),
|
||||
new MultipartPartDefinition(
|
||||
"head",
|
||||
15.0F,
|
||||
11.5F,
|
||||
1.00F,
|
||||
26.0D,
|
||||
19.0D,
|
||||
0.00D,
|
||||
true
|
||||
),
|
||||
new MultipartPartDefinition(
|
||||
"back_head",
|
||||
13.0F,
|
||||
11.0F,
|
||||
1.10F,
|
||||
38.0D,
|
||||
20.5D,
|
||||
0.00D,
|
||||
true
|
||||
),
|
||||
new MultipartPartDefinition(
|
||||
"mantle",
|
||||
16.0F,
|
||||
14.0F,
|
||||
1.00F,
|
||||
51.0D,
|
||||
23.0D,
|
||||
0.00D,
|
||||
true
|
||||
),
|
||||
new MultipartPartDefinition(
|
||||
"crest",
|
||||
12.0F,
|
||||
10.0F,
|
||||
1.10F,
|
||||
63.0D,
|
||||
28.0D,
|
||||
0.00D,
|
||||
true
|
||||
)
|
||||
};
|
||||
|
||||
private FabricKrakenMultipartLayout() {
|
||||
}
|
||||
|
||||
public static MultipartPartDefinition part(int partIndex) {
|
||||
return PARTS[partIndex];
|
||||
}
|
||||
}
|
||||
+199
@@ -0,0 +1,199 @@
|
||||
package com.craisinlord.antarchy.fabric.entity.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartPartAccess;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class MultipartPartEntity extends Entity implements MultipartPartAccess {
|
||||
@Nullable
|
||||
private MultipartEntityOwner owner;
|
||||
private int partIndex;
|
||||
@Nullable
|
||||
private MultipartPartDefinition definition;
|
||||
|
||||
public MultipartPartEntity(EntityType<? extends MultipartPartEntity> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
this.setNoGravity(true);
|
||||
}
|
||||
|
||||
public MultipartPartEntity antarchy$configure(MultipartEntityOwner owner, int partIndex, MultipartPartDefinition definition) {
|
||||
this.owner = owner;
|
||||
this.partIndex = partIndex;
|
||||
this.definition = definition;
|
||||
this.refreshDimensions();
|
||||
this.antarchy$syncFromParent();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Entity antarchy$getMultipartParent() {
|
||||
return this.owner == null ? null : (Entity) this.owner;
|
||||
}
|
||||
|
||||
public int getPartIndex() {
|
||||
return this.partIndex;
|
||||
}
|
||||
|
||||
public String getPartName() {
|
||||
return this.definition == null ? "" : this.definition.name();
|
||||
}
|
||||
|
||||
public float getDamageMultiplier() {
|
||||
return this.definition == null ? 1.0F : this.definition.damageMultiplier();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void antarchy$syncFromParent() {
|
||||
Entity parent = this.antarchy$getMultipartParent();
|
||||
MultipartPartDefinition definition = this.definition;
|
||||
if (parent == null || definition == null || parent.isRemoved()) {
|
||||
return;
|
||||
}
|
||||
|
||||
double oldX = this.getX();
|
||||
double oldY = this.getY();
|
||||
double oldZ = this.getZ();
|
||||
double yawRadians = Math.toRadians(parent.getYRot());
|
||||
Vec3 forward = new Vec3(-Math.sin(yawRadians), 0.0D, Math.cos(yawRadians));
|
||||
Vec3 right = new Vec3(forward.z, 0.0D, -forward.x);
|
||||
Vec3 position = new Vec3(
|
||||
parent.getX() + forward.x * definition.forwardOffset() + right.x * definition.lateralOffset(),
|
||||
parent.getY() + definition.yOffset(),
|
||||
parent.getZ() + forward.z * definition.forwardOffset() + right.z * definition.lateralOffset()
|
||||
);
|
||||
this.setPos(position.x, position.y, position.z);
|
||||
this.setYRot(parent.getYRot());
|
||||
this.setXRot(parent.getXRot());
|
||||
this.xo = oldX;
|
||||
this.yo = oldY;
|
||||
this.zo = oldZ;
|
||||
this.xOld = oldX;
|
||||
this.yOld = oldY;
|
||||
this.zOld = oldZ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean is(Entity entity) {
|
||||
return entity == this || entity == this.antarchy$getMultipartParent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPickable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAttackable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPushable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeCollidedWith() {
|
||||
return !this.isRemoved();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCollideWith(Entity entity) {
|
||||
MultipartPartDefinition definition = this.definition;
|
||||
if (definition == null || !definition.collisionEnabled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Entity parent = this.antarchy$getMultipartParent();
|
||||
if (entity == parent) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (entity instanceof MultipartPartEntity otherPart && otherPart.antarchy$getMultipartParent() == parent) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return entity.canBeCollidedWith() && !this.isPassengerOfSameVehicle(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldBeSaved() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickResult() {
|
||||
Entity parent = this.antarchy$getMultipartParent();
|
||||
return parent == null ? ItemStack.EMPTY : parent.getPickResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
Entity parent = this.antarchy$getMultipartParent();
|
||||
MultipartPartDefinition definition = this.definition;
|
||||
if (parent == null || definition == null || parent.isRemoved()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.level().isClientSide()) {
|
||||
if (source.getEntity() instanceof Player) {
|
||||
MultipartFramework.sendMultipartAttack(parent.getUUID(), this.partIndex, amount * definition.damageMultiplier());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return this.owner != null && this.owner.antarchy$hurtMultipartPart(this, source, amount * definition.damageMultiplier());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerableTo(DamageSource source) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult interactAt(Player player, Vec3 vec, InteractionHand hand) {
|
||||
Entity parent = this.antarchy$getMultipartParent();
|
||||
if (parent == null || parent.isRemoved()) {
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
if (this.level().isClientSide()) {
|
||||
MultipartFramework.sendMultipartInteract(parent.getUUID(), this.partIndex, hand.ordinal());
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
return this.owner == null ? InteractionResult.PASS : this.owner.antarchy$interactMultipartPart(this, player, vec, hand);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityDimensions getDimensions(Pose pose) {
|
||||
MultipartPartDefinition definition = this.definition;
|
||||
return definition == null ? super.getDimensions(pose) : EntityDimensions.scalable(definition.width(), definition.height());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void defineSynchedData(net.minecraft.network.syncher.SynchedEntityData.Builder builder) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readAdditionalSaveData(CompoundTag tag) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag tag) {
|
||||
}
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package com.craisinlord.antarchy.fabric.entity.multipart;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
||||
public final class MultipartServerPartLevelRegistry {
|
||||
private MultipartServerPartLevelRegistry() {
|
||||
}
|
||||
|
||||
public static void register(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ServerLevel serverLevel = (ServerLevel) ((Entity) owner).level();
|
||||
for (Entity part : parts) {
|
||||
if (part != null && serverLevel.getEntity(part.getId()) != part) {
|
||||
serverLevel.addFreshEntity(part);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void unregister(MultipartEntityOwner owner) {
|
||||
Entity[] parts = owner.antarchy$getMultipartParts();
|
||||
if (parts == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (Entity part : parts) {
|
||||
if (part != null && !part.isRemoved()) {
|
||||
part.discard();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.client;
|
||||
|
||||
import com.craisinlord.antarchy.fabric.AntarchyFabricContent;
|
||||
import net.minecraft.client.multiplayer.ClientPacketListener;
|
||||
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(ClientPacketListener.class)
|
||||
public abstract class MultipartClientSpawnMixin {
|
||||
@Inject(method = "handleAddEntity", at = @At("HEAD"), cancellable = true)
|
||||
private void antarchy$skipTrackedMultipartPlaceholders(ClientboundAddEntityPacket packet, CallbackInfo ci) {
|
||||
if (packet.getType() == AntarchyFabricContent.KRAKEN_PART.get()) {
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.fabric.client.multipart.MultipartClientPartLevelRegistry;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.entity.EntityInLevelCallback;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Entity.class)
|
||||
public abstract class MultipartEntityLevelRegistryMixin {
|
||||
@Inject(method = "setLevelCallback", at = @At("TAIL"))
|
||||
private void antarchy$registerMultipartParts(EntityInLevelCallback entityInLevelCallback, CallbackInfo ci) {
|
||||
Entity self = (Entity) (Object) this;
|
||||
if (self instanceof MultipartEntityOwner owner
|
||||
&& entityInLevelCallback != EntityInLevelCallback.NULL
|
||||
&& self.level().isClientSide()) {
|
||||
if (owner.antarchy$getMultipartParts() == null) {
|
||||
owner.antarchy$spawnMultipartParts();
|
||||
}
|
||||
MultipartClientPartLevelRegistry.register(owner);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "setRemoved", at = @At("HEAD"))
|
||||
private void antarchy$unregisterMultipartParts(Entity.RemovalReason removalReason, CallbackInfo ci) {
|
||||
Entity self = (Entity) (Object) this;
|
||||
if (self instanceof MultipartEntityOwner owner && self.level().isClientSide()) {
|
||||
MultipartClientPartLevelRegistry.unregister(owner);
|
||||
}
|
||||
}
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.entity;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.fabric.entity.multipart.MultipartServerPartLevelRegistry;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.entity.EntityInLevelCallback;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(Entity.class)
|
||||
/*
|
||||
* Keeps multipart child entities registered in Fabric levels.
|
||||
*/
|
||||
public abstract class MultipartEntityLevelRegistryMixin {
|
||||
@Inject(method = "setLevelCallback", at = @At("TAIL"))
|
||||
private void antarchy$registerMultipartParts(EntityInLevelCallback entityInLevelCallback, CallbackInfo ci) {
|
||||
Entity self = (Entity) (Object) this;
|
||||
if (self instanceof MultipartEntityOwner owner
|
||||
&& entityInLevelCallback != EntityInLevelCallback.NULL
|
||||
&& !self.level().isClientSide()) {
|
||||
if (owner.antarchy$getMultipartParts() == null) {
|
||||
owner.antarchy$spawnMultipartParts();
|
||||
}
|
||||
MultipartServerPartLevelRegistry.register(owner);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "setRemoved", at = @At("HEAD"))
|
||||
private void antarchy$unregisterMultipartParts(Entity.RemovalReason removalReason, CallbackInfo ci) {
|
||||
Entity self = (Entity) (Object) this;
|
||||
if (self instanceof MultipartEntityOwner owner && !self.level().isClientSide()) {
|
||||
MultipartServerPartLevelRegistry.unregister(owner);
|
||||
}
|
||||
}
|
||||
}
|
||||
+20
@@ -4,6 +4,9 @@ import com.craisinlord.antarchy.content.client.BloodglassClientState;
|
||||
import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState;
|
||||
import com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState;
|
||||
import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload;
|
||||
import com.craisinlord.antarchy.content.network.*;
|
||||
import com.craisinlord.antarchy.content.weather.ThoraxisWeatherKind;
|
||||
import com.craisinlord.antarchy.fabric.client.BloodCrystalKatanaTrailClientState;
|
||||
@@ -14,6 +17,23 @@ public final class AntarchyFabricClientNetworking {
|
||||
private AntarchyFabricClientNetworking() {
|
||||
}
|
||||
|
||||
public static void bootstrapMultipartClient() {
|
||||
MultipartFramework.bootstrap(
|
||||
AntarchyFabricNetworking::createMultipartPart,
|
||||
new MultipartFramework.NetworkBridge() {
|
||||
@Override
|
||||
public void sendAttack(java.util.UUID parentId, int partIndex, float damage) {
|
||||
ClientPlayNetworking.send(new MultipartAttackPayload(parentId, partIndex, damage));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendInteract(java.util.UUID parentId, int partIndex, int handId) {
|
||||
ClientPlayNetworking.send(new MultipartInteractPayload(parentId, partIndex, handId));
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(GravityStatePayload.TYPE, (payload, context) ->
|
||||
context.client().execute(() -> AntarchyFabricNetworking.handleGravityState(context.player(), payload)));
|
||||
|
||||
+24
-3
@@ -3,6 +3,7 @@ package com.craisinlord.antarchy.fabric.network;
|
||||
import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity;
|
||||
import com.craisinlord.antarchy.content.client.HerculesBeetleImpactShakeClientState;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload;
|
||||
import com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload;
|
||||
import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi;
|
||||
@@ -19,6 +20,8 @@ import com.craisinlord.antarchy.content.entity.DorrieEntity;
|
||||
import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload;
|
||||
import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload;
|
||||
import com.craisinlord.antarchy.content.weather.ThoraxisWeatherSnapshot;
|
||||
import com.craisinlord.antarchy.fabric.AntarchyFabricContent;
|
||||
import com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.PlayerLookup;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
@@ -28,7 +31,6 @@ import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
@@ -43,6 +45,26 @@ public final class AntarchyFabricNetworking {
|
||||
registerServerReceivers();
|
||||
}
|
||||
|
||||
public static void bootstrapMultipartCommon() {
|
||||
MultipartFramework.bootstrap(
|
||||
AntarchyFabricNetworking::createMultipartPart,
|
||||
new MultipartFramework.NetworkBridge() {
|
||||
@Override
|
||||
public void sendAttack(java.util.UUID parentId, int partIndex, float damage) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendInteract(java.util.UUID parentId, int partIndex, int handId) {
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public static MultipartPartEntity createMultipartPart(MultipartEntityOwner owner, int partIndex, com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition spec) {
|
||||
return new MultipartPartEntity(AntarchyFabricContent.KRAKEN_PART.get(), ((Entity) owner).level())
|
||||
.antarchy$configure(owner, partIndex, spec);
|
||||
}
|
||||
|
||||
private static void registerPayloadTypes() {
|
||||
PayloadTypeRegistry.playS2C().register(GravityStatePayload.TYPE, GravityStatePayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(BloodglassStatePayload.TYPE, BloodglassStatePayload.STREAM_CODEC);
|
||||
@@ -275,8 +297,7 @@ public final class AntarchyFabricNetworking {
|
||||
return;
|
||||
}
|
||||
|
||||
DamageSource source = serverPlayer.level().damageSources().playerAttack(serverPlayer);
|
||||
owner.antarchy$hurtMultipartPart(part, source, payload.damage());
|
||||
serverPlayer.attack(part);
|
||||
}
|
||||
|
||||
private static void handleMultipartInteract(ServerPlayer serverPlayer, MultipartInteractPayload payload) {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"BloodglassRespawnMixin",
|
||||
"DreamCampfireBlockEntityMixin",
|
||||
"JumpyBootsFallDamageMixin",
|
||||
"entity.MultipartEntityLevelRegistryMixin",
|
||||
"WoodTypeInvoker",
|
||||
"infinity.RandomSpringMixin",
|
||||
"infinity.PortalCreatorMixin"
|
||||
@@ -24,7 +25,9 @@
|
||||
"client.DuctTapeInputMixin",
|
||||
"client.AntiwaterFogMixin",
|
||||
"client.GravityGunMouseScrollMixin",
|
||||
"client.CrossbowArmPoseMixin"
|
||||
"client.CrossbowArmPoseMixin",
|
||||
"client.MultipartClientSpawnMixin",
|
||||
"client.MultipartEntityLevelRegistryMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"java": ">=21",
|
||||
"fabric-api": "*",
|
||||
"integrated_api": "*",
|
||||
"geckolib": "*"
|
||||
"geckolib": "*",
|
||||
"sizeable_foliage": "*"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user