Beta 7 Commit

This commit is contained in:
craisinlord committed 2026-07-09 16:39:59 -05:00
1 parent e74ee5733a
commit 89d9aff0b9
8 files changed
+48 -31

No files matched your search

@@ -25,10 +25,4 @@ public final class AppleCowEntityVariants {
super(entityType, level);
}
}
public static class HoneyedAppleCow extends AppleCowEntity {
public HoneyedAppleCow(EntityType<? extends Cow> entityType, Level level) {
super(entityType, level);
}
}
}
@@ -214,6 +214,10 @@ public final class PermanentPortalShape {
for (int y = -1; y <= 3; y++) {
for (int x = -1; x <= 2; x++) {
BlockPos pos = bottomLeft.relative(widthDirection, x).above(y);
boolean cornerSpot = (x == -1 || x == 2) && (y == -1 || y == 3);
if (cornerSpot) {
continue;
}
if (x == -1 || x == 2 || y == -1 || y == 3) {
level.setBlock(pos, frameState, Block.UPDATE_ALL);
} else {
@@ -233,6 +237,10 @@ public final class PermanentPortalShape {
BlockPos pos = bottomLeft.relative(widthDirection, x).above(y);
BlockState state = level.getBlockState(pos);
boolean frameSpot = x == -1 || x == 2 || y == -1 || y == 3;
boolean cornerSpot = (x == -1 || x == 2) && (y == -1 || y == 3);
if (cornerSpot) {
continue;
}
if (frameSpot) {
if (!state.isAir() && !state.is(frameBlock) && !state.canBeReplaced()) {
return false;
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable;
public final class PermanentPortalTeleporter {
private static final int SEARCH_RADIUS = 24;
private static final int VERTICAL_SEARCH = 24;
private static final int EXISTING_PORTAL_SEARCH_RADIUS = 48;
private PermanentPortalTeleporter() {
}
@@ -64,6 +65,11 @@ public final class PermanentPortalTeleporter {
Vec3 safe = findSafeArrivalPosition(entity, destination, preferredPos);
if (safe != null) {
PermanentPortalShape nearbyActive = findActiveNearby(destination, BlockPos.containing(safe), type);
if (nearbyActive != null) {
return nearbyActive.center();
}
PermanentPortalShape created = createReturnPortal(destination, safe, type);
if (created != null) {
return created.center();
@@ -74,6 +80,33 @@ public final class PermanentPortalTeleporter {
return createFallbackPlatform(destination, preferredPos, type.platformBlock().defaultBlockState());
}
@Nullable
private static PermanentPortalShape findActiveNearby(ServerLevel level, BlockPos center, PermanentPortalType type) {
for (int radius = 0; radius <= EXISTING_PORTAL_SEARCH_RADIUS; radius++) {
for (int xOff = -radius; xOff <= radius; xOff++) {
for (int yOff = -radius; yOff <= radius; yOff++) {
for (int zOff = -radius; zOff <= radius; zOff++) {
if (radius > 0 && Math.abs(xOff) != radius && Math.abs(yOff) != radius && Math.abs(zOff) != radius) {
continue;
}
BlockPos candidate = center.offset(xOff, yOff, zOff);
PermanentPortalShape xShape = PermanentPortalShape.findActive(level, candidate, type, Direction.Axis.X);
if (xShape != null) {
return xShape;
}
PermanentPortalShape zShape = PermanentPortalShape.findActive(level, candidate, type, Direction.Axis.Z);
if (zShape != null) {
return zShape;
}
}
}
}
}
return null;
}
@Nullable
private static Vec3 findSafeArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos) {
int[] yRange = getDimensionYRange(destination);
@@ -134,7 +134,6 @@
"entity.antarchy.apple_cow": "Apple Cow",
"entity.antarchy.golden_apple_cow": "Golden Apple Cow",
"entity.antarchy.enchanted_golden_apple_cow": "Enchanted Golden Apple Cow",
"entity.antarchy.honeyed_apple_cow": "Honeyed Apple Cow",
"entity.antarchy.easter_bunny": "Easter Bunny",
"entity.antarchy.glimmer": "Glimmer",
"entity.antarchy.flying_squirrel": "Flying Squirrel",
@@ -356,7 +355,6 @@
"item.antarchy.rainbow_ant_spawn_egg": "Rainbow Ant Spawn Egg",
"item.antarchy.golden_apple_cow_spawn_egg": "Golden Apple Cow Spawn Egg",
"item.antarchy.enchanted_golden_apple_cow_spawn_egg": "Enchanted Golden Apple Cow Spawn Egg",
"item.antarchy.honeyed_apple_cow_spawn_egg": "Honeyed Apple Cow Spawn Egg",
"item.antarchy.dr_trayaurus_spawn_egg": "Dr. Trayaurus Spawn Egg",
"item.antarchy.easter_bunny_spawn_egg": "Easter Bunny Spawn Egg",
"item.antarchy.glimmer_spawn_egg": "Glimmer Spawn Egg",
@@ -1974,7 +1974,7 @@ public final class AntarchyFabricContent {
"red_ant_spawn_egg", "brown_ant_spawn_egg", "rainbow_ant_spawn_egg", "termite_spawn_egg",
"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",
"dr_trayaurus_spawn_egg", "wasp_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",
@@ -4,7 +4,6 @@ import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.AppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.EnchantedGoldenAppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.GoldenAppleCow;
import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.HoneyedAppleCow;
import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity;
import com.craisinlord.antarchy.content.entity.BedBugEntity;
import com.craisinlord.antarchy.content.entity.BomberEntity;
@@ -194,9 +193,6 @@ public final class AntarchyNeoforgeEntites {
() -> buildCowType(GoldenAppleCow::new, "golden_apple_cow"));
public static final DeferredHolder<EntityType<?>, EntityType<EnchantedGoldenAppleCow>> ENCHANTED_GOLDEN_APPLE_COW = ENTITY_TYPES.register("enchanted_golden_apple_cow",
() -> buildCowType(EnchantedGoldenAppleCow::new, "enchanted_golden_apple_cow"));
public static final DeferredHolder<EntityType<?>, EntityType<HoneyedAppleCow>> HONEYED_APPLE_COW = CREATE_LOADED
? ENTITY_TYPES.register("honeyed_apple_cow", () -> buildCowType(HoneyedAppleCow::new, "honeyed_apple_cow"))
: null;
public static final DeferredHolder<EntityType<?>, EntityType<DrTrayaurusEntity>> DR_TRAYAURUS = ENTITY_TYPES.register("dr_trayaurus",
() -> EntityType.Builder.of(DrTrayaurusEntity::new, MobCategory.MISC)
.sized(0.6F, 1.95F)
@@ -40,6 +40,12 @@ public class AntarchyNeoforgeEntityAttributes {
event.put(AntarchyNeoforgeEntites.APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.GOLDEN_APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), cowAttributes);
event.put(AntarchyNeoforgeEntites.TERMITE.get(), buildAntAttributes(
AntarchySettings.termiteHealth(),
AntarchySettings.termiteMovementSpeed(),
AntarchySettings.termiteAttackDamage()
).build());
event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.DR_TRAYAURUS.get(), Villager.createAttributes().build());
event.put(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), CloudSharkEntity.createAttributes().build());
event.put(AntarchyNeoforgeEntites.KRAKEN.get(), KrakenEntity.createAttributes().build());
@@ -1,18 +0,0 @@
{
"neoforge:conditions": [
{
"type": "neoforge:mod_loaded",
"modid": "create"
}
],
"type": "neoforge:add_spawns",
"biomes": "#antarchy:honeyed_apple_cow_spawn_biomes",
"spawners": [
{
"type": "antarchy:honeyed_apple_cow",
"weight": 2,
"minCount": 1,
"maxCount": 2
}
]
}