update 1.20 WIP port

This commit is contained in:
craisinlord committed 2026-08-03 22:15:18 -05:00
1 parent 58e504cf1d
commit 68a823d5ff
31 files changed
+559 -62

No files matched your search

@@ -16,6 +16,10 @@ public interface InfinityCompatBridge {
return null; return null;
} }
default ResourceLocation getRandomDimensionId(RandomSource random, double easterEggChance) {
return getRandomDimensionId(random);
}
default boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) { default boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) {
return false; return false;
} }
@@ -9,6 +9,7 @@ public final class AntarchySettings {
private static boolean easterBunnyEnabled = true; private static boolean easterBunnyEnabled = true;
private static int easterBunnyNaturalSpawnChancePercent = 1; private static int easterBunnyNaturalSpawnChancePercent = 1;
private static boolean rainbowAntsLeadToInfinityDimensions = true; private static boolean rainbowAntsLeadToInfinityDimensions = true;
private static double rainbowAntInfinityEasterEggChance = 0.01D;
private static boolean brownAntRequiresReagent = false; private static boolean brownAntRequiresReagent = false;
private static boolean brownAntRightClickDimension = true; private static boolean brownAntRightClickDimension = true;
private static boolean redAntRequiresReagent = false; private static boolean redAntRequiresReagent = false;
@@ -316,7 +317,7 @@ public final class AntarchySettings {
private static double krakenArmor = 8.0D; private static double krakenArmor = 8.0D;
private static double krakenProjectileDamageTakenMultiplier = 0.5D; private static double krakenProjectileDamageTakenMultiplier = 0.5D;
private static double krakenBossBarRange = 40.0D; private static double krakenBossBarRange = 40.0D;
private static float krakenLightningDamagePhaseOne = 8.0F; private static float krakenLightningDamagePhaseOne = 6.0F;
private static double lucidHealth = 30.0D; private static double lucidHealth = 30.0D;
private static double lucidAttackDamage = 4.0D; private static double lucidAttackDamage = 4.0D;
private static double lucidMovementSpeed = 0.22D; private static double lucidMovementSpeed = 0.22D;
@@ -465,6 +466,10 @@ public final class AntarchySettings {
return rainbowAntsLeadToInfinityDimensions; return rainbowAntsLeadToInfinityDimensions;
} }
public static double rainbowAntInfinityEasterEggChance() {
return rainbowAntInfinityEasterEggChance;
}
public static boolean brownAntRightClickDimension() { public static boolean brownAntRightClickDimension() {
return brownAntRightClickDimension; return brownAntRightClickDimension;
} }
@@ -1004,6 +1009,10 @@ public final class AntarchySettings {
rainbowAntsLeadToInfinityDimensions = value; rainbowAntsLeadToInfinityDimensions = value;
} }
public static void setRainbowAntInfinityEasterEggChance(double value) {
rainbowAntInfinityEasterEggChance = value;
}
public static void setBrownAntRightClickDimension(boolean value) { public static void setBrownAntRightClickDimension(boolean value) {
brownAntRightClickDimension = value; brownAntRightClickDimension = value;
} }
@@ -291,7 +291,7 @@ public class RainbowAntEntity extends BaseAntEntity implements GeoEntity {
} }
private String createRandomDimensionId() { private String createRandomDimensionId() {
ResourceLocation dimensionId = InfinityCompat.get().getRandomDimensionId(this.random); ResourceLocation dimensionId = InfinityCompat.get().getRandomDimensionId(this.random, AntarchySettings.rainbowAntInfinityEasterEggChance());
if (dimensionId == null) { if (dimensionId == null) {
return ""; return "";
} }
@@ -125,6 +125,9 @@ public class UltimateCrossbowItem extends CrossbowItem {
super.shootProjectile(shooter, projectile, projectileIndex, velocity, inaccuracy, angle, target); super.shootProjectile(shooter, projectile, projectileIndex, velocity, inaccuracy, angle, target);
if (projectile instanceof AbstractArrow arrow) { if (projectile instanceof AbstractArrow arrow) {
scaleArrowDamage(arrow); scaleArrowDamage(arrow);
if (projectileIndex > 0) {
arrow.pickup = AbstractArrow.Pickup.DISALLOWED;
}
UltimateGearHelper.tagUltimateCrossbowProjectile(arrow); UltimateGearHelper.tagUltimateCrossbowProjectile(arrow);
} }
} }
@@ -7,72 +7,72 @@
"bones": { "bones": {
"left_leg": { "left_leg": {
"rotation": { "rotation": {
"vector": ["5+math.cos(query.anim_time*90*2)*2", 0, -2.5] "vector": ["5+math.cos(query.anim_time*2)*2", 0, -2.5]
}, },
"position": { "position": {
"vector": [0, "0.15+math.cos(query.anim_time*90*2)/14", "-math.cos(query.anim_time*90*2)/5"] "vector": [0, "0.15+math.cos(query.anim_time*2)/14", "-math.cos(query.anim_time*2)/5"]
} }
}, },
"right_leg": { "right_leg": {
"rotation": { "rotation": {
"vector": ["5+math.cos(query.anim_time*90*2)*2", 0, 2.5] "vector": ["5+math.cos(query.anim_time*2)*2", 0, 2.5]
}, },
"position": { "position": {
"vector": [0, "0.15+math.cos(query.anim_time*90*2)/14", "-math.cos(query.anim_time*90*2)/5"] "vector": [0, "0.15+math.cos(query.anim_time*2)/14", "-math.cos(query.anim_time*2)/5"]
} }
}, },
"torso": { "torso": {
"rotation": { "rotation": {
"vector": ["-math.cos(query.anim_time*90*2-60)", 0, 0] "vector": ["-math.cos(query.anim_time*2-60)", 0, 0]
}, },
"position": { "position": {
"vector": [0, "math.cos(query.anim_time*90*2)/5", 0] "vector": [0, "math.cos(query.anim_time*2)/5", 0]
} }
}, },
"head": { "head": {
"rotation": { "rotation": {
"vector": ["-math.cos(query.anim_time*90*2-160)*2", 0, 0] "vector": ["-math.cos(query.anim_time*2-160)*2", 0, 0]
} }
}, },
"left_ear": { "left_ear": {
"rotation": { "rotation": {
"vector": ["math.cos(query.anim_time*90*2)*6", "math.cos(query.anim_time*90*2-40)*5", "7.5+math.cos(query.anim_time*90*2+30)*5"] "vector": ["math.cos(query.anim_time*2)*6", "math.cos(query.anim_time*2-40)*5", "7.5+math.cos(query.anim_time*2+30)*5"]
} }
}, },
"right_ear": { "right_ear": {
"rotation": { "rotation": {
"vector": ["math.cos(query.anim_time*90*2)*6", "-math.cos(query.anim_time*90*2-40)*5", "-7.5-math.cos(query.anim_time*90*2+30)*5"] "vector": ["math.cos(query.anim_time*2)*6", "-math.cos(query.anim_time*2-40)*5", "-7.5-math.cos(query.anim_time*2+30)*5"]
} }
}, },
"tail": { "tail": {
"rotation": { "rotation": {
"vector": ["math.cos(query.anim_time*90*2+50)*4", 0, 0] "vector": ["math.cos(query.anim_time*2+50)*4", 0, 0]
} }
}, },
"left_arm": { "left_arm": {
"rotation": { "rotation": {
"vector": ["math.cos(query.anim_time*90*2-60)*3-3", 0, -5] "vector": ["math.cos(query.anim_time*2-60)*3-3", 0, -5]
}, },
"position": { "position": {
"vector": [0, "-math.cos(query.anim_time*90*2-30)/4", "-math.cos(query.anim_time*90*2-50)/5"] "vector": [0, "-math.cos(query.anim_time*2-30)/4", "-math.cos(query.anim_time*2-50)/5"]
} }
}, },
"right_arm": { "right_arm": {
"rotation": { "rotation": {
"vector": ["math.cos(query.anim_time*90*2-60)*3-3", 0, 5] "vector": ["math.cos(query.anim_time*2-60)*3-3", 0, 5]
}, },
"position": { "position": {
"vector": [0, "-math.cos(query.anim_time*90*2-30)/4", "-math.cos(query.anim_time*90*2-50)/5"] "vector": [0, "-math.cos(query.anim_time*2-30)/4", "-math.cos(query.anim_time*2-50)/5"]
} }
}, },
"left_leg2": { "left_leg2": {
"rotation": { "rotation": {
"vector": ["-5-math.cos(query.anim_time*90*2)*2", 0, 2.5] "vector": ["-5-math.cos(query.anim_time*2)*2", 0, 2.5]
} }
}, },
"right_leg2": { "right_leg2": {
"rotation": { "rotation": {
"vector": ["-5-math.cos(query.anim_time*90*2)*2", 0, -2.5] "vector": ["-5-math.cos(query.anim_time*2)*2", 0, -2.5]
} }
} }
} }
@@ -1478,7 +1478,7 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.7917": { "0.7917": {
"vector": ["-math.cos(query.anim_time*90*32-60)*20", "-math.cos(query.anim_time*90*32)*20", "math.cos(query.anim_time*90*32-50)*20"] "vector": ["-math.cos(query.anim_time*32-60)*20", "-math.cos(query.anim_time*32)*20", "math.cos(query.anim_time*32-50)*20"]
}, },
"0.9167": { "0.9167": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@@ -1491,7 +1491,7 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.4583": { "0.4583": {
"vector": ["-math.cos(query.anim_time*90*32-60)*20", "math.cos(query.anim_time*90*32)*20", "-math.cos(query.anim_time*90*32-50)*20"] "vector": ["-math.cos(query.anim_time*32-60)*20", "math.cos(query.anim_time*32)*20", "-math.cos(query.anim_time*32-50)*20"]
}, },
"0.5833": { "0.5833": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@@ -1500,7 +1500,7 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"1.2917": { "1.2917": {
"vector": ["-math.cos(query.anim_time*90*32-60)*20", "math.cos(query.anim_time*90*32)*20", "-math.cos(query.anim_time*90*32-50)*20"] "vector": ["-math.cos(query.anim_time*32-60)*20", "math.cos(query.anim_time*32)*20", "-math.cos(query.anim_time*32-50)*20"]
}, },
"1.4167": { "1.4167": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@@ -1547,13 +1547,13 @@
}, },
"1.0": { "1.0": {
"post": { "post": {
"vector": [67.5, "-math.cos(query.anim_time*90*16)*10", "-17.5+math.cos(query.anim_time*90*16-60)*10"] "vector": [67.5, "-math.cos(query.anim_time*16)*10", "-17.5+math.cos(query.anim_time*16-60)*10"]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
"1.1667": { "1.1667": {
"post": { "post": {
"vector": [67.5, "-math.cos(query.anim_time*90*16)*10", "-17.5+math.cos(query.anim_time*90*16-60)*10"] "vector": [67.5, "-math.cos(query.anim_time*16)*10", "-17.5+math.cos(query.anim_time*16-60)*10"]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -2145,13 +2145,13 @@
}, },
"0.5": { "0.5": {
"post": { "post": {
"vector": ["85-math.clamp(math.cos(query.anim_time*90*10-80)*10,0,10)", "math.cos(query.anim_time*90*8)*20", "math.cos(query.anim_time*90*8-80)*10"] "vector": ["85-math.clamp(math.cos(query.anim_time*10-80)*10,0,10)", "math.cos(query.anim_time*8)*20", "math.cos(query.anim_time*8-80)*10"]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
"1.0": { "1.0": {
"post": { "post": {
"vector": ["85-math.clamp(math.cos(query.anim_time*90*10-80)*10,0,10)", "math.cos(query.anim_time*90*8)*20", "math.cos(query.anim_time*90*8-80)*10"] "vector": ["85-math.clamp(math.cos(query.anim_time*10-80)*10,0,10)", "math.cos(query.anim_time*8)*20", "math.cos(query.anim_time*8-80)*10"]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -7984,7 +7984,7 @@
}, },
"0.2917": { "0.2917": {
"post": { "post": {
"vector": [0, "-1+math.cos(query.anim_time*90*32)*2", 6] "vector": [0, "-1+math.cos(query.anim_time*32)*2", 6]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -8014,7 +8014,7 @@
}, },
"0.7917": { "0.7917": {
"post": { "post": {
"vector": [0, "-1+math.cos(query.anim_time*90*32)*2", 6] "vector": [0, "-1+math.cos(query.anim_time*32)*2", 6]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -8044,7 +8044,7 @@
}, },
"1.2917": { "1.2917": {
"post": { "post": {
"vector": [0, "-1+math.cos(query.anim_time*90*32)*2", 6] "vector": [0, "-1+math.cos(query.anim_time*32)*2", 6]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -9176,13 +9176,13 @@
}, },
"1.6667": { "1.6667": {
"post": { "post": {
"vector": ["35-math.cos(query.anim_time*90*32-50)*5", 0, 0] "vector": ["35-math.cos(query.anim_time*32-50)*5", 0, 0]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
"1.875": { "1.875": {
"post": { "post": {
"vector": ["35-math.cos(query.anim_time*90*32-50)*5", 0, 0] "vector": ["35-math.cos(query.anim_time*32-50)*5", 0, 0]
}, },
"lerp_mode": "catmullrom" "lerp_mode": "catmullrom"
}, },
@@ -281,6 +281,8 @@ public final class AntarchyFabricContent {
AntarchyObjects.setOctopusBomb(AntarchyFabricEntities.OCTOPUS_BOMB); AntarchyObjects.setOctopusBomb(AntarchyFabricEntities.OCTOPUS_BOMB);
AntarchyObjects.setTentacle(AntarchyFabricEntities.TENTACLE); AntarchyObjects.setTentacle(AntarchyFabricEntities.TENTACLE);
AntarchyObjects.setNightmarePortal(AntarchyFabricEntities.NIGHTMARE_PORTAL);
AntarchyObjects.setNightmareBite(AntarchyFabricEntities.NIGHTMARE_BITE);
AntarchyObjects.setKrakensGraspTrident(AntarchyFabricEntities.KRAKENS_GRASP_TRIDENT); AntarchyObjects.setKrakensGraspTrident(AntarchyFabricEntities.KRAKENS_GRASP_TRIDENT);
AntarchyObjects.setLotus(() -> AntarchyFabricBlocks.LOTUS.get()); AntarchyObjects.setLotus(() -> AntarchyFabricBlocks.LOTUS.get());
AntarchyObjects.setKrakenTentacle(() -> AntarchyFabricItems.KRAKEN_TENTACLE.get()); AntarchyObjects.setKrakenTentacle(() -> AntarchyFabricItems.KRAKEN_TENTACLE.get());
@@ -288,6 +290,7 @@ public final class AntarchyFabricContent {
AntarchyObjects.setOuranwoodDeer(AntarchyFabricEntities.OURANWOOD_DEER); AntarchyObjects.setOuranwoodDeer(AntarchyFabricEntities.OURANWOOD_DEER);
AntarchyObjects.setGlimmer(AntarchyFabricEntities.GLIMMER); AntarchyObjects.setGlimmer(AntarchyFabricEntities.GLIMMER);
AntarchyObjects.setSpiritApple(() -> AntarchyFabricItems.SPIRIT_APPLE.get()); AntarchyObjects.setSpiritApple(() -> AntarchyFabricItems.SPIRIT_APPLE.get());
AntarchyObjects.setGlimmeringEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.GLIMMERING));
AntarchyObjects.setElka(AntarchyFabricEntities.ELKA); AntarchyObjects.setElka(AntarchyFabricEntities.ELKA);
AntarchyObjects.setPeach(() -> AntarchyFabricItems.PEACH.get()); AntarchyObjects.setPeach(() -> AntarchyFabricItems.PEACH.get());
AntarchyObjects.setCorn(() -> AntarchyFabricItems.CORN.get()); AntarchyObjects.setCorn(() -> AntarchyFabricItems.CORN.get());
@@ -309,6 +312,8 @@ public final class AntarchyFabricContent {
AntarchyObjects.setCritterCage(() -> AntarchyFabricItems.CRITTER_CAGE.get()); AntarchyObjects.setCritterCage(() -> AntarchyFabricItems.CRITTER_CAGE.get());
AntarchyObjects.setCritterCageBlock(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK.get()); AntarchyObjects.setCritterCageBlock(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK.get());
AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get()); AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get());
AntarchyObjects.setLucidAnchor(() -> AntarchyFabricBlocks.LUCID_ANCHOR.get());
AntarchyObjects.setLucidAnchorBlockEntity(() -> AntarchyFabricBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get());
AntarchyObjects.setCritterCageProjectile(() -> AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get()); AntarchyObjects.setCritterCageProjectile(() -> AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get());
AntarchyObjects.bind( AntarchyObjects.bind(
AntarchyFabricEntities.EASTER_BUNNY, AntarchyFabricEntities.EASTER_BUNNY,
@@ -363,8 +368,8 @@ public final class AntarchyFabricContent {
() -> AntarchyFabricBlocks.TRIFFID_GOO_BLOCK.get(), () -> AntarchyFabricBlocks.TRIFFID_GOO_BLOCK.get(),
() -> AntarchyFabricBlocks.PALE_NYXITE.get(), () -> AntarchyFabricBlocks.PALE_NYXITE.get(),
() -> AntarchyFabricBlocks.NYXITE_SPIKE.get(), () -> AntarchyFabricBlocks.NYXITE_SPIKE.get(),
() -> AntarchyFabricBlocks.CHITEN_BLOCK.get(), () -> AntarchyFabricBlocks.CHITIN_BLOCK.get(),
() -> AntarchyFabricBlocks.CHITEN_SPIKE.get(), () -> AntarchyFabricBlocks.CHITIN_SPIKE.get(),
() -> AntarchyFabricBlocks.POTENT_NYXITE.get(), () -> AntarchyFabricBlocks.POTENT_NYXITE.get(),
() -> AntarchyFabricBlocks.ANTIMETAL.get(), () -> AntarchyFabricBlocks.ANTIMETAL.get(),
() -> AntarchyFabricBlocks.POLISHED_ANTIMETAL.get(), () -> AntarchyFabricBlocks.POLISHED_ANTIMETAL.get(),
@@ -431,6 +436,12 @@ public final class AntarchyFabricContent {
com.craisinlord.antarchy.fabric.network.AntarchyFabricNetworking.sendToPlayer(player, payload, com.craisinlord.antarchy.content.network.HordeIntensityPayload.STREAM_CODEC, com.craisinlord.antarchy.content.network.HordeIntensityPayload.TYPE)); com.craisinlord.antarchy.fabric.network.AntarchyFabricNetworking.sendToPlayer(player, payload, com.craisinlord.antarchy.content.network.HordeIntensityPayload.STREAM_CODEC, com.craisinlord.antarchy.content.network.HordeIntensityPayload.TYPE));
BloodCrystalKatanaItem.setTrailCallback(AntarchyFabricNetworking::syncKatanaTrail); BloodCrystalKatanaItem.setTrailCallback(AntarchyFabricNetworking::syncKatanaTrail);
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyFabricNetworking::syncGravityEntity); com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyFabricNetworking::syncGravityEntity);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSendToPlayer((player, payload) ->
AntarchyFabricNetworking.sendToPlayer(player, payload,
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.STREAM_CODEC,
com.craisinlord.antarchy.content.network.TigerEyeCamouflageStatePayload.TYPE));
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSyncSelfAndTracking(AntarchyFabricNetworking::syncTigerEyeCamouflage);
com.craisinlord.antarchy.fabric.TigerEyeFabricManager.register();
AntarchyFabricEvents.register(); AntarchyFabricEvents.register();
if (isSupportedInfinityLoaded()) { if (isSupportedInfinityLoaded()) {
@@ -57,6 +57,8 @@ public final class AntarchyFabricClientBootstrap {
public static void register() { public static void register() {
AntarchyKeyBindings.register(); AntarchyKeyBindings.register();
com.craisinlord.antarchy.content.client.TigerEyeClientHooks.setCamouflageKeyTextSupplier(
() -> AntarchyKeyBindings.TIGERS_EYE_CAMOUFLAGE.getTranslatedKeyMessage());
MenuScreens.register(AntarchyFabricMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new); MenuScreens.register(AntarchyFabricMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new);
registerRenderers(); registerRenderers();
registerEntityLayers(); registerEntityLayers();
@@ -77,6 +79,10 @@ public final class AntarchyFabricClientBootstrap {
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.SEASHELL_BLOCK_ENTITY.get(), (net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.SEASHELL_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) SeashellRenderer::new (BlockEntityRendererProvider) SeashellRenderer::new
); );
BlockEntityRendererRegistry.register(
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) LucidAnchorBlockEntityRenderer::new
);
BlockEntityRendererRegistry.register( BlockEntityRendererRegistry.register(
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(), (net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) CritterCageRenderer::new (BlockEntityRendererProvider) CritterCageRenderer::new
@@ -113,6 +119,8 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.MISSILE_SQUID.get(), MissileSquidRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.MISSILE_SQUID.get(), MissileSquidRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.OCTOPUS_BOMB.get(), OctopusBombRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.OCTOPUS_BOMB.get(), OctopusBombRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE.get(), NightmareRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE.get(), NightmareRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_PORTAL.get(), NightmarePortalRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BED_BUG.get(), BedBugRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.BED_BUG.get(), BedBugRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.WASP.get(), WaspRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.WASP.get(), WaspRenderer::new);
@@ -319,7 +327,7 @@ public final class AntarchyFabricClientBootstrap {
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.NYXITE_SPIKE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.NYXITE_SPIKE.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.CHITEN_SPIKE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.CHITIN_SPIKE.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL_FAN.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL_FAN.get(), RenderType.cutout());
BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout());
@@ -430,7 +438,9 @@ public final class AntarchyFabricClientBootstrap {
if (entityType == EntityType.PLAYER) { if (entityType == EntityType.PLAYER) {
if (renderer instanceof net.minecraft.client.renderer.entity.player.PlayerRenderer playerRenderer) { if (renderer instanceof net.minecraft.client.renderer.entity.player.PlayerRenderer playerRenderer) {
registrationHelper.register(new ParalyzedStonePlayerLayer(playerRenderer)); registrationHelper.register(new ParalyzedStonePlayerLayer(playerRenderer));
registrationHelper.register(new com.craisinlord.antarchy.content.client.renderer.TigerEyeCamouflagePlayerLayer(playerRenderer));
registrationHelper.register(new GoopedLivingLayer(playerRenderer)); registrationHelper.register(new GoopedLivingLayer(playerRenderer));
registrationHelper.register(new GlimmeringLivingLayer(playerRenderer));
registrationHelper.register(new BrutalflyElytraLayer(playerRenderer)); registrationHelper.register(new BrutalflyElytraLayer(playerRenderer));
registrationHelper.register(new FallenKingCrownLayer(playerRenderer)); registrationHelper.register(new FallenKingCrownLayer(playerRenderer));
} }
@@ -449,6 +459,7 @@ public final class AntarchyFabricClientBootstrap {
} }
registrationHelper.register(new ParalyzedStoneLivingLayer(renderer)); registrationHelper.register(new ParalyzedStoneLivingLayer(renderer));
registrationHelper.register(new GoopedLivingLayer(renderer)); registrationHelper.register(new GoopedLivingLayer(renderer));
registrationHelper.register(new GlimmeringLivingLayer(renderer));
}); });
} }
@@ -469,6 +480,7 @@ public final class AntarchyFabricClientBootstrap {
ScorpionWhipTetherRenderHandler.tick(); ScorpionWhipTetherRenderHandler.tick();
DorrieJumpClientHandler.tick(); DorrieJumpClientHandler.tick();
HerculesBeetleClientHandler.tick(); HerculesBeetleClientHandler.tick();
TigerEyeCamouflageClientHandler.tick();
}); });
BigBerthaClientHandler.register(); BigBerthaClientHandler.register();
@@ -483,6 +495,7 @@ public final class AntarchyFabricClientBootstrap {
DreadHudRenderer.render(guiGraphics); DreadHudRenderer.render(guiGraphics);
com.craisinlord.antarchy.content.client.HordeHudRenderer.render(guiGraphics); com.craisinlord.antarchy.content.client.HordeHudRenderer.render(guiGraphics);
com.craisinlord.antarchy.content.client.GoopedHudRenderer.render(guiGraphics); com.craisinlord.antarchy.content.client.GoopedHudRenderer.render(guiGraphics);
com.craisinlord.antarchy.content.client.GlimmeringHudRenderer.render(guiGraphics);
ParalyzedHudRenderer.render(guiGraphics); ParalyzedHudRenderer.render(guiGraphics);
BrutalflyElytraHudRenderer.render(guiGraphics); BrutalflyElytraHudRenderer.render(guiGraphics);
JumpyBootsHudRenderer.render(guiGraphics); JumpyBootsHudRenderer.render(guiGraphics);
@@ -37,6 +37,12 @@ public final class AntarchyKeyBindings {
GLFW.GLFW_KEY_R, GLFW.GLFW_KEY_R,
CATEGORY CATEGORY
); );
public static final KeyMapping TIGERS_EYE_CAMOUFLAGE = new KeyMapping(
"key.antarchy.tigers_eye_camouflage",
InputConstants.Type.KEYSYM,
InputConstants.UNKNOWN.getValue(),
CATEGORY
);
private AntarchyKeyBindings() {} private AntarchyKeyBindings() {}
@@ -45,6 +51,7 @@ public final class AntarchyKeyBindings {
KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP); KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP);
KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_CHARGE); KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_CHARGE);
KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_FLIGHT_TOGGLE); KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_FLIGHT_TOGGLE);
KeyBindingHelper.registerKeyBinding(TIGERS_EYE_CAMOUFLAGE);
} }
public static boolean isBrutalflyFlapPressed() { public static boolean isBrutalflyFlapPressed() {
@@ -62,4 +69,8 @@ public final class AntarchyKeyBindings {
public static boolean isHerculesBeetleFlightTogglePressed() { public static boolean isHerculesBeetleFlightTogglePressed() {
return Minecraft.getInstance().screen == null && HERCULES_BEETLE_FLIGHT_TOGGLE.isDown(); return Minecraft.getInstance().screen == null && HERCULES_BEETLE_FLIGHT_TOGGLE.isDown();
} }
public static boolean consumeTigerEyeCamouflagePressed() {
return Minecraft.getInstance().screen == null && TIGERS_EYE_CAMOUFLAGE.consumeClick();
}
} }
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.fabric.mixin; package com.craisinlord.antarchy.fabric.mixin;
import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.AntarchyTags;
import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi;
import com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection; import com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection;
import com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition; import com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition;
@@ -50,8 +51,7 @@ public abstract class AntimetalInversionMixin {
for (int y = minY; y <= maxY; y++) { for (int y = minY; y <= maxY; y++) {
for (int z = minZ; z <= maxZ; z++) { for (int z = minZ; z <= maxZ; z++) {
BlockPos above = new BlockPos(x, y + 1, z); BlockPos above = new BlockPos(x, y + 1, z);
if (entity.level().getBlockState(above).is(AntarchyObjects.ANTIMETAL.get()) if (entity.level().getBlockState(above).is(AntarchyTags.Blocks.ANTIMETAL_INVERSION_BLOCKS)) {
|| entity.level().getBlockState(above).is(AntarchyObjects.POLISHED_ANTIMETAL.get())) {
return true; return true;
} }
} }
@@ -4,6 +4,7 @@ import com.craisinlord.antarchy.content.client.BloodglassClientState;
import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState; import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState;
import com.craisinlord.antarchy.content.client.HordeClientState; import com.craisinlord.antarchy.content.client.HordeClientState;
import com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState; import com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState;
import com.craisinlord.antarchy.content.client.TigerEyeCamouflageClientState;
import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState; import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState;
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework; 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.MultipartAttackPayload;
@@ -84,5 +85,7 @@ public final class AntarchyFabricClientNetworking {
registerReceiver(ImpactShakePayload.TYPE, ImpactShakePayload.STREAM_CODEC, AntarchyFabricNetworking::triggerImpactShake); registerReceiver(ImpactShakePayload.TYPE, ImpactShakePayload.STREAM_CODEC, AntarchyFabricNetworking::triggerImpactShake);
registerReceiver(HordeIntensityPayload.TYPE, HordeIntensityPayload.STREAM_CODEC, payload -> registerReceiver(HordeIntensityPayload.TYPE, HordeIntensityPayload.STREAM_CODEC, payload ->
HordeClientState.update(payload.intensity())); HordeClientState.update(payload.intensity()));
registerReceiver(TigerEyeCamouflageStatePayload.TYPE, TigerEyeCamouflageStatePayload.STREAM_CODEC, payload ->
TigerEyeCamouflageClientState.update(payload.entityId(), payload.active(), payload.blockStateId()));
} }
} }
@@ -17,6 +17,9 @@ import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
import com.craisinlord.antarchy.fabric.util.JumpyBootsFabricHelper; import com.craisinlord.antarchy.fabric.util.JumpyBootsFabricHelper;
import com.craisinlord.antarchy.content.item.JumpyBootsItem; import com.craisinlord.antarchy.content.item.JumpyBootsItem;
import com.craisinlord.antarchy.content.item.GravityGunItem; import com.craisinlord.antarchy.content.item.GravityGunItem;
import com.craisinlord.antarchy.content.item.TigerEyeArmorUtil;
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController;
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync;
import com.craisinlord.antarchy.content.network.*; import com.craisinlord.antarchy.content.network.*;
import com.craisinlord.antarchy.content.entity.DorrieEntity; import com.craisinlord.antarchy.content.entity.DorrieEntity;
import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload; import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload;
@@ -104,6 +107,34 @@ public final class AntarchyFabricNetworking {
registerC2SReceiver(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC, AntarchyFabricNetworking::handleHerculesBeetleMountedCharge); registerC2SReceiver(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC, AntarchyFabricNetworking::handleHerculesBeetleMountedCharge);
registerC2SReceiver(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC, AntarchyFabricNetworking::handleMultipartAttack); registerC2SReceiver(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC, AntarchyFabricNetworking::handleMultipartAttack);
registerC2SReceiver(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC, AntarchyFabricNetworking::handleMultipartInteract); registerC2SReceiver(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC, AntarchyFabricNetworking::handleMultipartInteract);
registerC2SReceiver(ToggleTigerEyeCamouflagePayload.TYPE, ToggleTigerEyeCamouflagePayload.STREAM_CODEC, (player, payload) -> handleTigerEyeCamouflageToggle(player));
}
public static void syncTigerEyeCamouflage(ServerPlayer player) {
TigerEyeCamouflageStatePayload payload = TigerEyeCamouflageSync.payload(player);
for (ServerPlayer tracking : PlayerLookup.tracking(player)) {
sendToPlayer(tracking, payload, TigerEyeCamouflageStatePayload.STREAM_CODEC, TigerEyeCamouflageStatePayload.TYPE);
}
sendToPlayer(player, payload, TigerEyeCamouflageStatePayload.STREAM_CODEC, TigerEyeCamouflageStatePayload.TYPE);
}
private static void handleTigerEyeCamouflageToggle(ServerPlayer player) {
TigerEyeCamouflageController.ToggleResult result = TigerEyeCamouflageController.toggle(player);
if (result != TigerEyeCamouflageController.ToggleResult.NO_CHANGE) {
syncTigerEyeCamouflage(player);
}
String messageKey = switch (result) {
case ACTIVATED -> "message.antarchy.tiger_eye_camouflage.activated";
case DEACTIVATED -> "message.antarchy.tiger_eye_camouflage.disabled";
case FULL_SET_REQUIRED -> TigerEyeArmorUtil.countEquippedPieces(player) > 0
? "message.antarchy.tiger_eye_camouflage.full_set_required"
: null;
case INVALID_BLOCK -> "message.antarchy.tiger_eye_camouflage.invalid_block";
case NO_CHANGE -> null;
};
if (messageKey != null) {
player.displayClientMessage(net.minecraft.network.chat.Component.translatable(messageKey), true);
}
} }
public static void syncGravityToPlayer(ServerPlayer target, Entity entity) { public static void syncGravityToPlayer(ServerPlayer target, Entity entity) {
@@ -10,6 +10,7 @@ import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity; import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity; import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity; import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity;
import com.craisinlord.antarchy.content.block.entity.UpperBlockEntity;
import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity; import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity;
import com.craisinlord.antarchy.content.fluid.BileLiquidBlock; import com.craisinlord.antarchy.content.fluid.BileLiquidBlock;
import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock; import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock;
@@ -149,6 +150,8 @@ public final class AntarchyFabricBlocks {
() -> new net.minecraft.world.level.block.FlowerPotBlock(LOTUS.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION))); () -> new net.minecraft.world.level.block.FlowerPotBlock(LOTUS.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION)));
public static final DeferredBlock<SeashellBlock> SEASHELL = BLOCKS.register("seashell", public static final DeferredBlock<SeashellBlock> SEASHELL = BLOCKS.register("seashell",
() -> new SeashellBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).noOcclusion())); () -> new SeashellBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).noOcclusion()));
public static final DeferredBlock<LucidAnchorBlock> LUCID_ANCHOR = BLOCKS.register("lucid_anchor",
() -> new LucidAnchorBlock(BlockBehaviour.Properties.copy(Blocks.BEACON).strength(3.0F)));
public static final DeferredBlock<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block", public static final DeferredBlock<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block",
() -> new CritterCageBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(net.minecraft.world.level.block.SoundType.METAL).noOcclusion())); () -> new CritterCageBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(net.minecraft.world.level.block.SoundType.METAL).noOcclusion()));
@@ -327,6 +330,9 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<net.minecraft.world.level.block.WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall", public static final DeferredBlock<net.minecraft.world.level.block.WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall",
() -> new net.minecraft.world.level.block.WallBlock(nyxiteProperties())); () -> new net.minecraft.world.level.block.WallBlock(nyxiteProperties()));
public static final DeferredBlock<RotatedPillarBlock> NYXITE_PILLAR = BLOCKS.register("nyxite_pillar",
() -> new RotatedPillarBlock(nyxiteProperties()));
public static final DeferredBlock<Block> SHELLSTONE = BLOCKS.register("shellstone", public static final DeferredBlock<Block> SHELLSTONE = BLOCKS.register("shellstone",
() -> new Block(AntarchyObjects.shellstoneProperties())); () -> new Block(AntarchyObjects.shellstoneProperties()));
@@ -400,6 +406,10 @@ public final class AntarchyFabricBlocks {
() -> new net.minecraft.world.level.block.WallBlock(AntarchyObjects.shellstoneProperties())); () -> new net.minecraft.world.level.block.WallBlock(AntarchyObjects.shellstoneProperties()));
public static final DeferredBlock<RotatedPillarBlock> SHELLSTONE_PILLAR = BLOCKS.register("shellstone_pillar",
() -> new RotatedPillarBlock(AntarchyObjects.shellstoneProperties()));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.TriffidGooBlock> TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block", public static final DeferredBlock<com.craisinlord.antarchy.content.block.TriffidGooBlock> TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block",
() -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false))); () -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false)));
@@ -431,8 +441,8 @@ public final class AntarchyFabricBlocks {
() -> new NyxiteSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE))); () -> new NyxiteSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE)));
public static final DeferredBlock<ChitenSpikeBlock> CHITEN_SPIKE = BLOCKS.register("chiten_spike", public static final DeferredBlock<ChitinSpikeBlock> CHITIN_SPIKE = BLOCKS.register("chitin_spike",
() -> new ChitenSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE))); () -> new ChitinSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE)));
public static final DeferredBlock<PotentNyxiteBlock> POTENT_NYXITE = BLOCKS.register("potent_nyxite", public static final DeferredBlock<PotentNyxiteBlock> POTENT_NYXITE = BLOCKS.register("potent_nyxite",
@@ -526,7 +536,11 @@ public final class AntarchyFabricBlocks {
() -> createOre(Blocks.DEEPSLATE_DIAMOND_ORE, 4, 8, MapColor.COLOR_LIGHT_BLUE)); () -> createOre(Blocks.DEEPSLATE_DIAMOND_ORE, 4, 8, MapColor.COLOR_LIGHT_BLUE));
public static final DeferredBlock<RotatedPillarBlock> CHITEN_BLOCK = BLOCKS.register("chiten_block", public static final DeferredBlock<RotatedPillarBlock> BROODSTONE_PILLAR = BLOCKS.register("broodstone_pillar",
() -> new RotatedPillarBlock(broodstoneProperties()));
public static final DeferredBlock<RotatedPillarBlock> CHITIN_BLOCK = BLOCKS.register("chitin_block",
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops())); () -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops()));
@@ -730,6 +744,8 @@ public final class AntarchyFabricBlocks {
() -> new BluestoneComparatorBlock(BlockBehaviour.Properties.copy(Blocks.COMPARATOR).mapColor(MapColor.COLOR_BLUE).noCollission(), AntarchyFabricBlocks::bluestoneComparatorBlockEntityType)); () -> new BluestoneComparatorBlock(BlockBehaviour.Properties.copy(Blocks.COMPARATOR).mapColor(MapColor.COLOR_BLUE).noCollission(), AntarchyFabricBlocks::bluestoneComparatorBlockEntityType));
public static final DeferredBlock<BluestoneTorchBlock> BLUESTONE_TORCH = BLOCKS.register("bluestone_torch", public static final DeferredBlock<BluestoneTorchBlock> BLUESTONE_TORCH = BLOCKS.register("bluestone_torch",
() -> new BluestoneTorchBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_TORCH).mapColor(MapColor.COLOR_BLUE).lightLevel(state -> state.getValue(BluestoneTorchBlock.LIT) ? 7 : 0).noCollission().instabreak())); () -> new BluestoneTorchBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_TORCH).mapColor(MapColor.COLOR_BLUE).lightLevel(state -> state.getValue(BluestoneTorchBlock.LIT) ? 7 : 0).noCollission().instabreak()));
public static final DeferredBlock<BluestoneLampBlock> BLUESTONE_LAMP = BLOCKS.register("bluestone_lamp",
() -> new BluestoneLampBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_BLUE)));
public static final DeferredBlock<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block", public static final DeferredBlock<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block",
@@ -818,6 +834,14 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<net.minecraft.world.level.block.RotatedPillarBlock> POLISHED_ANTIMETAL = BLOCKS.register("polished_antimetal", public static final DeferredBlock<net.minecraft.world.level.block.RotatedPillarBlock> POLISHED_ANTIMETAL = BLOCKS.register("polished_antimetal",
() -> new net.minecraft.world.level.block.RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT))); () -> new net.minecraft.world.level.block.RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final DeferredBlock<StairBlock> ANTIMETAL_STAIRS = BLOCKS.register("antimetal_stairs",
() -> new StairBlock(ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BASALT)));
public static final DeferredBlock<SlabBlock> ANTIMETAL_SLAB = BLOCKS.register("antimetal_slab",
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BASALT)));
public static final DeferredBlock<StairBlock> POLISHED_ANTIMETAL_STAIRS = BLOCKS.register("polished_antimetal_stairs",
() -> new StairBlock(POLISHED_ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final DeferredBlock<SlabBlock> POLISHED_ANTIMETAL_SLAB = BLOCKS.register("polished_antimetal_slab",
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock> ANTIMETAL_SCAFFOLDING = BLOCKS.register("antimetal_scaffolding", public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock> ANTIMETAL_SCAFFOLDING = BLOCKS.register("antimetal_scaffolding",
@@ -826,6 +850,8 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalRailBlock> ANTIMETAL_RAIL = BLOCKS.register("antimetal_rail", public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalRailBlock> ANTIMETAL_RAIL = BLOCKS.register("antimetal_rail",
() -> new com.craisinlord.antarchy.content.block.AntimetalRailBlock(BlockBehaviour.Properties.copy(Blocks.RAIL))); () -> new com.craisinlord.antarchy.content.block.AntimetalRailBlock(BlockBehaviour.Properties.copy(Blocks.RAIL)));
public static final DeferredBlock<UpperBlock> UPPER = BLOCKS.register("upper",
() -> new UpperBlock(AntarchyFabricBlocks::upperBlockEntityType, BlockBehaviour.Properties.copy(Blocks.HOPPER)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock> ANTIMETAL_POWERED_RAIL = BLOCKS.register("antimetal_powered_rail", public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock> ANTIMETAL_POWERED_RAIL = BLOCKS.register("antimetal_powered_rail",
@@ -903,6 +929,12 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<Block> DREAM_SAND = BLOCKS.register("dream_sand", public static final DeferredBlock<Block> DREAM_SAND = BLOCKS.register("dream_sand",
() -> new DreamSandBlock(BlockBehaviour.Properties.copy(Blocks.SAND))); () -> new DreamSandBlock(BlockBehaviour.Properties.copy(Blocks.SAND)));
public static final DeferredBlock<AntigravelBlock> ANTIGRAVEL = BLOCKS.register("antigravel",
() -> new AntigravelBlock(BlockBehaviour.Properties.copy(Blocks.GRAVEL)));
public static final DeferredBlock<Block> LOAM = BLOCKS.register("loam",
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MUD)));
public static final DeferredBlock<MucusBlock> MUCUS = BLOCKS.register("mucus",
() -> new MucusBlock(BlockBehaviour.Properties.copy(Blocks.GLOW_LICHEN).friction(0.98F).lightLevel(state -> 0).sound(net.minecraft.world.level.block.SoundType.SLIME_BLOCK)));
public static final DeferredBlock<Block> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone", public static final DeferredBlock<Block> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone",
@@ -1018,6 +1050,11 @@ public final class AntarchyFabricBlocks {
SeashellBlockEntity::new, SeashellBlockEntity::new,
SEASHELL.get() SEASHELL.get()
).build(null)); ).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity>> LUCID_ANCHOR_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("lucid_anchor",
() -> BlockEntityType.Builder.of(
com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity::new,
LUCID_ANCHOR.get()
).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block", public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block",
() -> BlockEntityType.Builder.of( () -> BlockEntityType.Builder.of(
CritterCageBlockEntity::new, CritterCageBlockEntity::new,
@@ -1028,6 +1065,11 @@ public final class AntarchyFabricBlocks {
(pos, state) -> new com.craisinlord.antarchy.content.block.entity.BluestoneComparatorBlockEntity(pos, state, AntarchyFabricBlocks::bluestoneComparatorBlockEntityType), (pos, state) -> new com.craisinlord.antarchy.content.block.entity.BluestoneComparatorBlockEntity(pos, state, AntarchyFabricBlocks::bluestoneComparatorBlockEntityType),
BLUESTONE_COMPARATOR.get() BLUESTONE_COMPARATOR.get()
).build(null)); ).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<UpperBlockEntity>> UPPER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("upper",
() -> BlockEntityType.Builder.of(
(pos, state) -> new UpperBlockEntity(pos, state, AntarchyFabricBlocks::upperBlockEntityType),
UPPER.get()
).build(null));
@@ -1055,6 +1097,10 @@ public final class AntarchyFabricBlocks {
return BLUESTONE_COMPARATOR_BLOCK_ENTITY.get(); return BLUESTONE_COMPARATOR_BLOCK_ENTITY.get();
} }
private static BlockEntityType<UpperBlockEntity> upperBlockEntityType() {
return UPPER_BLOCK_ENTITY.get();
}
private static Block smallBloodCrystalBudBlock() { private static Block smallBloodCrystalBudBlock() {
@@ -32,6 +32,8 @@ import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity;
import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity;
import com.craisinlord.antarchy.content.entity.ScorpionEntity; import com.craisinlord.antarchy.content.entity.ScorpionEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity; import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareBiteEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmarePortalEntity;
import com.craisinlord.antarchy.content.entity.ToreterrorEntity; import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
import com.craisinlord.antarchy.content.entity.WaterBombEntity; import com.craisinlord.antarchy.content.entity.WaterBombEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity; import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
@@ -328,6 +330,20 @@ public final class AntarchyFabricEntities {
.clientTrackingRange(12) .clientTrackingRange(12)
.build("nightmare")); .build("nightmare"));
public static final DeferredHolder<EntityType<?>, EntityType<NightmarePortalEntity>> NIGHTMARE_PORTAL = ENTITY_TYPES.register("nightmare_portal",
() -> EntityType.Builder.of(NightmarePortalEntity::new, MobCategory.MISC)
.sized(2.5F, 3.0F)
.clientTrackingRange(10)
.updateInterval(1)
.build("nightmare_portal"));
public static final DeferredHolder<EntityType<?>, EntityType<NightmareBiteEntity>> NIGHTMARE_BITE = ENTITY_TYPES.register("nightmare_bite",
() -> EntityType.Builder.of(NightmareBiteEntity::new, MobCategory.MISC)
.sized(2.5F, 2.0F)
.clientTrackingRange(10)
.updateInterval(1)
.build("nightmare_bite"));
public static final DeferredHolder<EntityType<?>, EntityType<LucidEntity>> LUCID = ENTITY_TYPES.register("lucid", public static final DeferredHolder<EntityType<?>, EntityType<LucidEntity>> LUCID = ENTITY_TYPES.register("lucid",
() -> EntityType.Builder.of(LucidEntity::new, MobCategory.MONSTER) () -> EntityType.Builder.of(LucidEntity::new, MobCategory.MONSTER)
@@ -7,6 +7,7 @@ import com.craisinlord.antarchy.content.item.BloodCrystalAppleItem;
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem; import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
import com.craisinlord.antarchy.content.item.CritterCageItem; import com.craisinlord.antarchy.content.item.CritterCageItem;
import com.craisinlord.antarchy.fabric.item.DeferredSpawnEggItem; import com.craisinlord.antarchy.fabric.item.DeferredSpawnEggItem;
import com.craisinlord.antarchy.content.item.LucidAnchorBlockItem;
import com.craisinlord.antarchy.content.item.LucidEyeItem; import com.craisinlord.antarchy.content.item.LucidEyeItem;
import com.craisinlord.antarchy.content.item.LucidPearlItem; import com.craisinlord.antarchy.content.item.LucidPearlItem;
import com.craisinlord.antarchy.content.item.PrimordialArmorItem; import com.craisinlord.antarchy.content.item.PrimordialArmorItem;
@@ -221,6 +222,8 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad", public static final DeferredItem<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad",
() -> new com.craisinlord.antarchy.content.item.GiantLilyPadItem(AntarchyFabricBlocks.GIANT_LILY_PAD.get(), new Item.Properties())); () -> new com.craisinlord.antarchy.content.item.GiantLilyPadItem(AntarchyFabricBlocks.GIANT_LILY_PAD.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> SEASHELL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.SEASHELL); public static final DeferredItem<net.minecraft.world.item.BlockItem> SEASHELL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.SEASHELL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LUCID_ANCHOR_ITEM = ITEMS.register("lucid_anchor",
() -> new LucidAnchorBlockItem(AntarchyFabricBlocks.LUCID_ANCHOR.get(), new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOTUS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOTUS); public static final DeferredItem<net.minecraft.world.item.BlockItem> LOTUS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOTUS);
@@ -295,6 +298,7 @@ public final class AntarchyFabricItems {
() -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.BLUESTONE_COMPARATOR.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.BLUESTONE_COMPARATOR.get(), new Item.Properties()));
public static final DeferredItem<CeilingPlacementTooltipBlockItem> BLUESTONE_TORCH_ITEM = ITEMS.register("bluestone_torch", public static final DeferredItem<CeilingPlacementTooltipBlockItem> BLUESTONE_TORCH_ITEM = ITEMS.register("bluestone_torch",
() -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.BLUESTONE_TORCH.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.BLUESTONE_TORCH.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> BLUESTONE_LAMP_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BLUESTONE_LAMP);
public static final DeferredItem<net.minecraft.world.item.BlockItem> URANIUM_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.URANIUM_BLOCK, new Item.Properties().rarity(Rarity.UNCOMMON)); public static final DeferredItem<net.minecraft.world.item.BlockItem> URANIUM_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.URANIUM_BLOCK, new Item.Properties().rarity(Rarity.UNCOMMON));
@@ -365,6 +369,14 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_ITEM = ITEMS.register("polished_antimetal", public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_ITEM = ITEMS.register("polished_antimetal",
() -> new AntimetalBlockItem(AntarchyFabricBlocks.POLISHED_ANTIMETAL.get(), new Item.Properties())); () -> new AntimetalBlockItem(AntarchyFabricBlocks.POLISHED_ANTIMETAL.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIMETAL_STAIRS_ITEM = ITEMS.register("antimetal_stairs",
() -> new AntimetalBlockItem(AntarchyFabricBlocks.ANTIMETAL_STAIRS.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIMETAL_SLAB_ITEM = ITEMS.register("antimetal_slab",
() -> new AntimetalBlockItem(AntarchyFabricBlocks.ANTIMETAL_SLAB.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_STAIRS_ITEM = ITEMS.register("polished_antimetal_stairs",
() -> new AntimetalBlockItem(AntarchyFabricBlocks.POLISHED_ANTIMETAL_STAIRS.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_SLAB_ITEM = ITEMS.register("polished_antimetal_slab",
() -> new AntimetalBlockItem(AntarchyFabricBlocks.POLISHED_ANTIMETAL_SLAB.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIMETAL_SCAFFOLDING_ITEM = ITEMS.register("antimetal_scaffolding", public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIMETAL_SCAFFOLDING_ITEM = ITEMS.register("antimetal_scaffolding",
@@ -373,6 +385,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_RAIL_ITEM = ITEMS.register("antimetal_rail", public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_RAIL_ITEM = ITEMS.register("antimetal_rail",
() -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.ANTIMETAL_RAIL.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.ANTIMETAL_RAIL.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> UPPER_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.UPPER);
public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_POWERED_RAIL_ITEM = ITEMS.register("antimetal_powered_rail", public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_POWERED_RAIL_ITEM = ITEMS.register("antimetal_powered_rail",
() -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.ANTIMETAL_POWERED_RAIL.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyFabricBlocks.ANTIMETAL_POWERED_RAIL.get(), new Item.Properties()));
public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_DETECTOR_RAIL_ITEM = ITEMS.register("antimetal_detector_rail", public static final DeferredItem<CeilingPlacementTooltipBlockItem> ANTIMETAL_DETECTOR_RAIL_ITEM = ITEMS.register("antimetal_detector_rail",
@@ -401,6 +414,10 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_SAND_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DREAM_SAND); public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_SAND_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DREAM_SAND);
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIGRAVEL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.ANTIGRAVEL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MUCUS_ITEM = ITEMS.register("mucus",
() -> new com.craisinlord.antarchy.content.item.MucusBlockItem(AntarchyFabricBlocks.MUCUS.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DREAM_SANDSTONE); public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DREAM_SANDSTONE);
@@ -494,7 +511,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_BRICKS); public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITEN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHITEN_BLOCK); public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITIN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHITIN_BLOCK);
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_STAIRS); public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_STAIRS);
@@ -589,7 +606,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_SPIKE); public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_SPIKE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITEN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHITEN_SPIKE); public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITIN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHITIN_SPIKE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POTENT_NYXITE); public static final DeferredItem<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POTENT_NYXITE);
@@ -697,6 +714,25 @@ public final class AntarchyFabricItems {
() -> new BloodCrystalArmorItem(AntarchyFabricMisc.BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.RARE))); () -> new BloodCrystalArmorItem(AntarchyFabricMisc.BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.RARE)));
public static final DeferredItem<Item> TIGERS_EYE = ITEMS.registerSimpleItem("tigers_eye", new Item.Properties().rarity(Rarity.UNCOMMON));
public static final DeferredItem<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_HELMET = ITEMS.register("tigers_eye_helmet",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(AntarchyFabricMisc.TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.HELMET, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_CHESTPLATE = ITEMS.register("tigers_eye_chestplate",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(AntarchyFabricMisc.TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_LEGGINGS = ITEMS.register("tigers_eye_leggings",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(AntarchyFabricMisc.TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_BOOTS = ITEMS.register("tigers_eye_boots",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(AntarchyFabricMisc.TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<BloodCrystalKatanaItem> BLOOD_CRYSTAL_KATANA = ITEMS.register("blood_crystal_katana", public static final DeferredItem<BloodCrystalKatanaItem> BLOOD_CRYSTAL_KATANA = ITEMS.register("blood_crystal_katana",
() -> new BloodCrystalKatanaItem( () -> new BloodCrystalKatanaItem(
BLOOD_CRYSTAL_KATANA_TIER, BLOOD_CRYSTAL_KATANA_TIER,
@@ -719,7 +755,7 @@ public final class AntarchyFabricItems {
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); () -> 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<Item> CHITIN = ITEMS.registerSimpleItem("chitin", new Item.Properties().rarity(Rarity.UNCOMMON));
public static final DeferredItem<Item> JERRY_NUCLEUS = ITEMS.register("jerry_nucleus", public static final DeferredItem<Item> JERRY_NUCLEUS = ITEMS.register("jerry_nucleus",
@@ -1218,6 +1254,15 @@ public final class AntarchyFabricItems {
.fireResistant() .fireResistant()
)); ));
public static final DeferredItem<Item> KRAKEN_KALAMARI = ITEMS.register("kraken_kalamari",
() -> new Item(new Item.Properties()
.rarity(Rarity.EPIC)
.food(new FoodProperties.Builder()
.nutrition(20)
.saturationMod(1.2F)
.alwaysEat()
.build())));
public static final DeferredItem<Item> KRAKEN_TENTACLE = ITEMS.registerSimpleItem( public static final DeferredItem<Item> KRAKEN_TENTACLE = ITEMS.registerSimpleItem(
"kraken_tentacle", "kraken_tentacle",
new Item.Properties().rarity(Rarity.RARE) new Item.Properties().rarity(Rarity.RARE)
@@ -56,8 +56,8 @@ import com.craisinlord.antarchy.content.worldgen.elythia.PeachTreeConfiguration;
import com.craisinlord.antarchy.content.worldgen.elythia.PeachTreeFeature; import com.craisinlord.antarchy.content.worldgen.elythia.PeachTreeFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.TriffidPatchFeature; import com.craisinlord.antarchy.content.worldgen.elythia.TriffidPatchFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeConfiguration; import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitinSpikeConfiguration;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitinSpikeFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.BedBugNestFeature; import com.craisinlord.antarchy.content.worldgen.thoraxis.BedBugNestFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.BedBugSurfaceClusterFeature; import com.craisinlord.antarchy.content.worldgen.thoraxis.BedBugSurfaceClusterFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.CloudSeaCalciteFeature; import com.craisinlord.antarchy.content.worldgen.thoraxis.CloudSeaCalciteFeature;
@@ -268,6 +268,11 @@ public final class AntarchyFabricMisc {
() -> Ingredient.of(Items.GOLD_INGOT), 0.0F, 0.0F, "fallen_king_crown"); () -> Ingredient.of(Items.GOLD_INGOT), 0.0F, 0.0F, "fallen_king_crown");
public static final ArmorMaterial TIGERS_EYE_ARMOR_MATERIAL = armorMaterial(
18, createDiamondArmorDefense(), 18, SoundEvents.ARMOR_EQUIP_GOLD,
() -> Ingredient.of(AntarchyFabricItems.TIGERS_EYE.get()), 2.0F, 0.0F, "tigers_eye");
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame", public static final DeferredHolder<ParticleType<?>, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame",
() -> simpleParticleType()); () -> simpleParticleType());
@@ -378,6 +383,7 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<MobEffect, GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::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.GlimmeringMobEffect> GLIMMERING = MOB_EFFECTS.register("glimmering", com.craisinlord.antarchy.content.effect.GlimmeringMobEffect::new);
public static final DeferredHolder<Potion, Potion> PARALYSIS = POTIONS.register("paralysis", public static final DeferredHolder<Potion, Potion> PARALYSIS = POTIONS.register("paralysis",
@@ -668,8 +674,8 @@ public final class AntarchyFabricMisc {
() -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC)); () -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ChitenSpikeFeature> CAVARYN_CHITEN_SPIKES = FEATURES.register("cavaryn_chiten_spikes", public static final DeferredHolder<Feature<?>, ChitinSpikeFeature> CAVARYN_CHITIN_SPIKES = FEATURES.register("cavaryn_chitin_spikes",
() -> new ChitenSpikeFeature(ChitenSpikeConfiguration.CODEC)); () -> new ChitinSpikeFeature(ChitinSpikeConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins", public static final DeferredHolder<Feature<?>, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins",
@@ -821,6 +827,17 @@ public final class AntarchyFabricMisc {
private static java.util.EnumMap<ArmorItem.Type, Integer> createDiamondArmorDefense() {
java.util.EnumMap<ArmorItem.Type, Integer> defense = new java.util.EnumMap<>(ArmorItem.Type.class);
defense.put(ArmorItem.Type.BOOTS, 3);
defense.put(ArmorItem.Type.LEGGINGS, 6);
defense.put(ArmorItem.Type.CHESTPLATE, 8);
defense.put(ArmorItem.Type.HELMET, 3);
return defense;
}
private static java.util.EnumMap<ArmorItem.Type, Integer> createBloodCrystalArmorDefense() { private static java.util.EnumMap<ArmorItem.Type, Integer> createBloodCrystalArmorDefense() {
java.util.EnumMap<ArmorItem.Type, Integer> defense = new java.util.EnumMap<>(ArmorItem.Type.class); java.util.EnumMap<ArmorItem.Type, Integer> defense = new java.util.EnumMap<>(ArmorItem.Type.class);
defense.put(ArmorItem.Type.BOOTS, 2); defense.put(ArmorItem.Type.BOOTS, 2);
@@ -374,6 +374,7 @@ public final class AntarchyConfigModuleForge {
private static void bakeMiscConfig() { private static void bakeMiscConfig() {
AntarchySettings.setRainbowAntsLeadToInfinityDimensions(AntarchyMiscConfig.rainbowAntsLeadToInfinityDimensions()); AntarchySettings.setRainbowAntsLeadToInfinityDimensions(AntarchyMiscConfig.rainbowAntsLeadToInfinityDimensions());
AntarchySettings.setRainbowAntInfinityEasterEggChance(AntarchyMiscConfig.rainbowAntInfinityEasterEggChance());
AntarchySettings.setDisableInfinityBookPortalCreation(AntarchyMiscConfig.disableInfinityBookPortalCreation()); AntarchySettings.setDisableInfinityBookPortalCreation(AntarchyMiscConfig.disableInfinityBookPortalCreation());
AntarchySettings.setHushweedSporeLifetimeSeconds(AntarchyMiscConfig.hushweedSporeLifetimeSeconds()); AntarchySettings.setHushweedSporeLifetimeSeconds(AntarchyMiscConfig.hushweedSporeLifetimeSeconds());
AntarchySettings.setDiamondMinecartEnabled(AntarchyMiscConfig.diamondMinecartEnabled()); AntarchySettings.setDiamondMinecartEnabled(AntarchyMiscConfig.diamondMinecartEnabled());
@@ -199,6 +199,13 @@ public class AntarchyForge {
new BloodCrystalKatanaTrailPayload(player.getId(), durationTicks) new BloodCrystalKatanaTrailPayload(player.getId(), durationTicks)
)); ));
com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyGravityNetworking::syncEntity); com.craisinlord.antarchy.content.gravity.AntarchyGravityApi.setSyncDispatcher(AntarchyGravityNetworking::syncEntity);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSendToPlayer(
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore::sendToPlayer);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.setSyncSelfAndTracking(player ->
com.craisinlord.antarchy.forge.network.AntarchyForgeNetworkCore.sendToTrackingEntity(
player,
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.payload(player)
));
com.craisinlord.antarchy.content.effect.AntarchySizeScaling.register( com.craisinlord.antarchy.content.effect.AntarchySizeScaling.register(
com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.SHRINKING_EFFECT, com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.SHRINKING_EFFECT,
com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.GROWTH_EFFECT com.craisinlord.antarchy.forge.registry.AntarchyForgeMisc.GROWTH_EFFECT
@@ -291,8 +298,8 @@ public class AntarchyForge {
() -> AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(), () -> AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(),
() -> AntarchyForgeBlocks.PALE_NYXITE.get(), () -> AntarchyForgeBlocks.PALE_NYXITE.get(),
() -> AntarchyForgeBlocks.NYXITE_SPIKE.get(), () -> AntarchyForgeBlocks.NYXITE_SPIKE.get(),
() -> AntarchyForgeBlocks.CHITEN_BLOCK.get(), () -> AntarchyForgeBlocks.CHITIN_BLOCK.get(),
() -> AntarchyForgeBlocks.CHITEN_SPIKE.get(), () -> AntarchyForgeBlocks.CHITIN_SPIKE.get(),
() -> AntarchyForgeBlocks.POTENT_NYXITE.get(), () -> AntarchyForgeBlocks.POTENT_NYXITE.get(),
() -> AntarchyForgeBlocks.ANTIMETAL.get(), () -> AntarchyForgeBlocks.ANTIMETAL.get(),
() -> AntarchyForgeBlocks.POLISHED_ANTIMETAL.get(), () -> AntarchyForgeBlocks.POLISHED_ANTIMETAL.get(),
@@ -343,6 +350,8 @@ public class AntarchyForge {
); );
AntarchyObjects.setOctopusBomb(AntarchyForgeEntites.OCTOPUS_BOMB); AntarchyObjects.setOctopusBomb(AntarchyForgeEntites.OCTOPUS_BOMB);
AntarchyObjects.setTentacle(AntarchyForgeEntites.TENTACLE); AntarchyObjects.setTentacle(AntarchyForgeEntites.TENTACLE);
AntarchyObjects.setNightmarePortal(AntarchyForgeEntites.NIGHTMARE_PORTAL);
AntarchyObjects.setNightmareBite(AntarchyForgeEntites.NIGHTMARE_BITE);
AntarchyObjects.setKrakensGraspTrident(AntarchyForgeEntites.KRAKENS_GRASP_TRIDENT); AntarchyObjects.setKrakensGraspTrident(AntarchyForgeEntites.KRAKENS_GRASP_TRIDENT);
AntarchyObjects.setLotus(() -> AntarchyForgeBlocks.LOTUS.get()); AntarchyObjects.setLotus(() -> AntarchyForgeBlocks.LOTUS.get());
AntarchyObjects.setKrakenTentacle(() -> AntarchyForgeItems.KRAKEN_TENTACLE.get()); AntarchyObjects.setKrakenTentacle(() -> AntarchyForgeItems.KRAKEN_TENTACLE.get());
@@ -350,6 +359,7 @@ public class AntarchyForge {
AntarchyObjects.setOuranwoodDeer(AntarchyForgeEntites.OURANWOOD_DEER); AntarchyObjects.setOuranwoodDeer(AntarchyForgeEntites.OURANWOOD_DEER);
AntarchyObjects.setGlimmer(AntarchyForgeEntites.GLIMMER); AntarchyObjects.setGlimmer(AntarchyForgeEntites.GLIMMER);
AntarchyObjects.setSpiritApple(() -> AntarchyForgeItems.SPIRIT_APPLE.get()); AntarchyObjects.setSpiritApple(() -> AntarchyForgeItems.SPIRIT_APPLE.get());
AntarchyObjects.setGlimmeringEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.GLIMMERING));
AntarchyObjects.setElka(AntarchyForgeEntites.ELKA); AntarchyObjects.setElka(AntarchyForgeEntites.ELKA);
AntarchyObjects.setPeach(() -> AntarchyForgeItems.PEACH.get()); AntarchyObjects.setPeach(() -> AntarchyForgeItems.PEACH.get());
AntarchyObjects.setCorn(() -> AntarchyForgeItems.CORN.get()); AntarchyObjects.setCorn(() -> AntarchyForgeItems.CORN.get());
@@ -370,6 +380,8 @@ public class AntarchyForge {
AntarchyObjects.setCritterCage(() -> AntarchyForgeItems.CRITTER_CAGE.get()); AntarchyObjects.setCritterCage(() -> AntarchyForgeItems.CRITTER_CAGE.get());
AntarchyObjects.setCritterCageBlock(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK.get()); AntarchyObjects.setCritterCageBlock(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK.get());
AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get()); AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get());
AntarchyObjects.setLucidAnchor(() -> AntarchyForgeBlocks.LUCID_ANCHOR.get());
AntarchyObjects.setLucidAnchorBlockEntity(() -> AntarchyForgeBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get());
AntarchyObjects.setCritterCageProjectile(() -> AntarchyForgeEntites.CRITTER_CAGE_PROJECTILE.get()); AntarchyObjects.setCritterCageProjectile(() -> AntarchyForgeEntites.CRITTER_CAGE_PROJECTILE.get());
} }
@@ -24,6 +24,7 @@ public final class AntarchyMiscConfig {
// Infinite Dimensions // Infinite Dimensions
private static final ForgeConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION; private static final ForgeConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION;
private static final ForgeConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS; private static final ForgeConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS;
private static final ForgeConfigSpec.DoubleValue RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE;
// Permanent portals // Permanent portals
private static final ForgeConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED; private static final ForgeConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED;
@@ -105,7 +106,13 @@ public final class AntarchyMiscConfig {
"Whether rainbow ants open randomly generated Infinity dimensions.", "Whether rainbow ants open randomly generated Infinity dimensions.",
"Only works if the Infinite Dimensions mod is installed." "Only works if the Infinite Dimensions mod is installed."
) )
.define("rainbowAntsLeadToInfinityDimensions", net.minecraftforge.fml.ModList.get().isLoaded("infinity")); .define("rainbowAntsLeadToInfinityDimensions", true);
RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE = b
.comment(
"Chance for a rainbow ant Infinity destination roll to select an Infinity easter egg dimension instead of a normal generated one.",
"0.01 = 1%, 0 disables easter egg rolls."
)
.defineInRange("rainbowAntInfinityEasterEggChance", 0.01D, 0.0D, 1.0D);
b.pop(); b.pop();
@@ -174,6 +181,7 @@ public final class AntarchyMiscConfig {
static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); } static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); }
static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); } static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); }
static double rainbowAntInfinityEasterEggChance() { return RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE.get(); }
public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); } public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); }
public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); } public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); }
public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); } public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); }
@@ -2,12 +2,16 @@ package com.craisinlord.antarchy.forge;
import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge; import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
import net.lerariemann.infinity.InfinityMod;
import net.lerariemann.infinity.util.InfinityMethods; import net.lerariemann.infinity.util.InfinityMethods;
import net.lerariemann.infinity.util.teleport.WarpLogic; import net.lerariemann.infinity.util.teleport.WarpLogic;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.RandomSource; import net.minecraft.util.RandomSource;
import java.util.ArrayList;
import java.util.List;
public final class ForgeInfinityCompat implements InfinityCompatBridge { public final class ForgeInfinityCompat implements InfinityCompatBridge {
@Override @Override
public boolean isAvailable() { public boolean isAvailable() {
@@ -24,6 +28,43 @@ public final class ForgeInfinityCompat implements InfinityCompatBridge {
} }
} }
@Override
public ResourceLocation getRandomDimensionId(RandomSource random, double easterEggChance) {
try {
if (easterEggChance > 0.0D && random.nextDouble() < easterEggChance) {
ResourceLocation easterDimensionId = getRandomEasterDimensionId(random);
if (easterDimensionId != null) {
return easterDimensionId;
}
}
return InfinityMethods.getRandomId(random);
} catch (Throwable throwable) {
Antarchy.LOGGER.error("[Antarchy] Failed to get a random Infinity dimension id", throwable);
return null;
}
}
private static ResourceLocation getRandomEasterDimensionId(RandomSource random) {
if (InfinityMod.provider == null || InfinityMod.provider.easterizer == null) {
return null;
}
List<String> easterNames = new ArrayList<>();
for (String easterName : InfinityMod.provider.easterizer.map.keySet()) {
if (InfinityMod.provider.easterizer.isEaster(easterName)) {
easterNames.add(easterName);
}
}
if (easterNames.isEmpty()) {
return null;
}
String chosenEaster = easterNames.get(random.nextInt(easterNames.size()));
return InfinityMod.provider.easterizer.getAsEaster(chosenEaster);
}
@Override @Override
public boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) { public boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) {
try { try {
@@ -3,6 +3,7 @@ package com.craisinlord.antarchy.forge.client;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.client.GlimmeringHudRenderer;
import com.craisinlord.antarchy.content.client.GoopedHudRenderer; import com.craisinlord.antarchy.content.client.GoopedHudRenderer;
import com.craisinlord.antarchy.content.client.HordeHudRenderer; import com.craisinlord.antarchy.content.client.HordeHudRenderer;
import com.craisinlord.antarchy.content.client.hud.BloodglassHudRenderer; import com.craisinlord.antarchy.content.client.hud.BloodglassHudRenderer;
@@ -86,6 +87,7 @@ public final class AntarchyForgeClient {
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) { public static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerBlockEntityRenderer(AntarchyForgeBlocks.DREAM_CAMPFIRE_BLOCK_ENTITY.get(), CampfireRenderer::new); event.registerBlockEntityRenderer(AntarchyForgeBlocks.DREAM_CAMPFIRE_BLOCK_ENTITY.get(), CampfireRenderer::new);
event.registerBlockEntityRenderer(AntarchyForgeBlocks.SEASHELL_BLOCK_ENTITY.get(), SeashellRenderer::new); event.registerBlockEntityRenderer(AntarchyForgeBlocks.SEASHELL_BLOCK_ENTITY.get(), SeashellRenderer::new);
event.registerBlockEntityRenderer(AntarchyForgeBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get(), LucidAnchorBlockEntityRenderer::new);
event.registerBlockEntityRenderer(AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(), CritterCageRenderer::new); event.registerBlockEntityRenderer(AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(), CritterCageRenderer::new);
event.registerEntityRenderer(AntarchyForgeEntites.EASTER_BUNNY.get(), context -> withParalyzedGeoLayer(new EasterBunnyRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.EASTER_BUNNY.get(), context -> withParalyzedGeoLayer(new EasterBunnyRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.FLYING_SQUIRREL.get(), context -> withParalyzedGeoLayer(new FlyingSquirrelRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.FLYING_SQUIRREL.get(), context -> withParalyzedGeoLayer(new FlyingSquirrelRenderer(context)));
@@ -117,6 +119,8 @@ public final class AntarchyForgeClient {
event.registerEntityRenderer(AntarchyForgeEntites.MISSILE_SQUID.get(), context -> withParalyzedGeoLayer(new MissileSquidRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.MISSILE_SQUID.get(), context -> withParalyzedGeoLayer(new MissileSquidRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.OCTOPUS_BOMB.get(), context -> withParalyzedGeoLayer(new OctopusBombRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.OCTOPUS_BOMB.get(), context -> withParalyzedGeoLayer(new OctopusBombRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE.get(), context -> withParalyzedGeoLayer(new NightmareRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE.get(), context -> withParalyzedGeoLayer(new NightmareRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE_PORTAL.get(), NightmarePortalRenderer::new);
event.registerEntityRenderer(AntarchyForgeEntites.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
event.registerEntityRenderer(AntarchyForgeEntites.LUCID.get(), context -> withParalyzedGeoLayer(new LucidRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.LUCID.get(), context -> withParalyzedGeoLayer(new LucidRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.BED_BUG.get(), context -> withParalyzedGeoLayer(new BedBugRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.BED_BUG.get(), context -> withParalyzedGeoLayer(new BedBugRenderer(context)));
event.registerEntityRenderer(AntarchyForgeEntites.WASP.get(), context -> withParalyzedGeoLayer(new WaspRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.WASP.get(), context -> withParalyzedGeoLayer(new WaspRenderer(context)));
@@ -159,7 +163,9 @@ public final class AntarchyForgeClient {
(LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>>) event.getSkin(skin); (LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>>) event.getSkin(skin);
if (renderer != null) { if (renderer != null) {
renderer.addLayer(new ParalyzedStonePlayerLayer(renderer)); renderer.addLayer(new ParalyzedStonePlayerLayer(renderer));
renderer.addLayer(new com.craisinlord.antarchy.content.client.renderer.TigerEyeCamouflagePlayerLayer(renderer));
renderer.addLayer(new GoopedLivingLayer(renderer)); renderer.addLayer(new GoopedLivingLayer(renderer));
renderer.addLayer(new GlimmeringLivingLayer(renderer));
renderer.addLayer(new BrutalflyElytraLayer(renderer)); renderer.addLayer(new BrutalflyElytraLayer(renderer));
renderer.addLayer(new FallenKingCrownLayer(renderer)); renderer.addLayer(new FallenKingCrownLayer(renderer));
} }
@@ -198,6 +204,7 @@ public final class AntarchyForgeClient {
LivingEntityRenderer livingRenderer = (LivingEntityRenderer) renderer; LivingEntityRenderer livingRenderer = (LivingEntityRenderer) renderer;
livingRenderer.addLayer(new ParalyzedStoneLivingLayer<>(livingRenderer)); livingRenderer.addLayer(new ParalyzedStoneLivingLayer<>(livingRenderer));
livingRenderer.addLayer(new GoopedLivingLayer<>(livingRenderer)); livingRenderer.addLayer(new GoopedLivingLayer<>(livingRenderer));
livingRenderer.addLayer(new GlimmeringLivingLayer<>(livingRenderer));
} }
private static <T extends LivingEntity & GeoAnimatable> GeoEntityRenderer<T> withParalyzedGeoLayer(GeoEntityRenderer<T> renderer) { private static <T extends LivingEntity & GeoAnimatable> GeoEntityRenderer<T> withParalyzedGeoLayer(GeoEntityRenderer<T> renderer) {
@@ -302,6 +309,9 @@ public final class AntarchyForgeClient {
event.registerAboveAll("gooped_tint", event.registerAboveAll("gooped_tint",
(gui, guiGraphics, partialTick, width, height) -> GoopedHudRenderer.render(guiGraphics) (gui, guiGraphics, partialTick, width, height) -> GoopedHudRenderer.render(guiGraphics)
); );
event.registerAboveAll("glimmering_tint",
(gui, guiGraphics, partialTick, width, height) -> GlimmeringHudRenderer.render(guiGraphics)
);
event.registerAboveAll("brutalfly_elytra", event.registerAboveAll("brutalfly_elytra",
(gui, guiGraphics, partialTick, width, height) -> BrutalflyElytraHudRenderer.render(guiGraphics) (gui, guiGraphics, partialTick, width, height) -> BrutalflyElytraHudRenderer.render(guiGraphics)
); );
@@ -328,6 +338,8 @@ public final class AntarchyForgeClient {
public static void onClientSetup(FMLClientSetupEvent event) { public static void onClientSetup(FMLClientSetupEvent event) {
event.enqueueWork(() -> { event.enqueueWork(() -> {
net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new); net.minecraft.client.gui.screens.MenuScreens.register(AntarchyForgeMisc.DORRIE_INVENTORY_MENU.get(), com.craisinlord.antarchy.content.client.screen.DorrieInventoryScreen::new);
com.craisinlord.antarchy.content.client.TigerEyeClientHooks.setCamouflageKeyTextSupplier(
() -> AntarchyKeyBindings.TIGERS_EYE_CAMOUFLAGE.getTranslatedKeyMessage());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_RAIL.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_RAIL.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_POWERED_RAIL.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_POWERED_RAIL.get(), RenderType.cutout());
@@ -363,7 +375,7 @@ public final class AntarchyForgeClient {
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CHITEN_SPIKE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.CHITIN_SPIKE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_FAN.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_FAN.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyForgeBlocks.STAR_CORAL_WALL_FAN.get(), RenderType.cutout());
@@ -45,6 +45,13 @@ public final class AntarchyKeyBindings {
InputConstants.KEY_R, InputConstants.KEY_R,
CATEGORY CATEGORY
); );
public static final KeyMapping TIGERS_EYE_CAMOUFLAGE = new KeyMapping(
"key.antarchy.tigers_eye_camouflage",
KeyConflictContext.IN_GAME,
InputConstants.Type.KEYSYM,
InputConstants.UNKNOWN.getValue(),
CATEGORY
);
private AntarchyKeyBindings() {} private AntarchyKeyBindings() {}
@@ -54,9 +61,14 @@ public final class AntarchyKeyBindings {
event.register(DORRIE_CHARGE_JUMP); event.register(DORRIE_CHARGE_JUMP);
event.register(HERCULES_BEETLE_CHARGE); event.register(HERCULES_BEETLE_CHARGE);
event.register(HERCULES_BEETLE_FLIGHT_TOGGLE); event.register(HERCULES_BEETLE_FLIGHT_TOGGLE);
event.register(TIGERS_EYE_CAMOUFLAGE);
} }
public static boolean isHerculesBeetleFlightTogglePressed() { public static boolean isHerculesBeetleFlightTogglePressed() {
return HERCULES_BEETLE_FLIGHT_TOGGLE.isDown(); return HERCULES_BEETLE_FLIGHT_TOGGLE.isDown();
} }
public static boolean consumeTigerEyeCamouflagePressed() {
return TIGERS_EYE_CAMOUFLAGE.consumeClick();
}
} }
@@ -10,6 +10,7 @@ import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity; import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity; import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity;
import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity; import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity;
import com.craisinlord.antarchy.content.block.entity.UpperBlockEntity;
import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity; import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity;
import com.craisinlord.antarchy.content.fluid.BileLiquidBlock; import com.craisinlord.antarchy.content.fluid.BileLiquidBlock;
import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock; import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock;
@@ -95,6 +96,8 @@ public final class AntarchyForgeBlocks {
() -> new FlowerPotBlock(LOTUS.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION))); () -> new FlowerPotBlock(LOTUS.get(), BlockBehaviour.Properties.copy(Blocks.POTTED_DANDELION)));
public static final RegistryObject<SeashellBlock> SEASHELL = BLOCKS.register("seashell", public static final RegistryObject<SeashellBlock> SEASHELL = BLOCKS.register("seashell",
() -> new SeashellBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).noOcclusion())); () -> new SeashellBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).noOcclusion()));
public static final RegistryObject<LucidAnchorBlock> LUCID_ANCHOR = BLOCKS.register("lucid_anchor",
() -> new LucidAnchorBlock(BlockBehaviour.Properties.copy(Blocks.BEACON).strength(3.0F)));
public static final RegistryObject<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block", public static final RegistryObject<CritterCageBlock> CRITTER_CAGE_BLOCK = BLOCKS.register("critter_cage_block",
() -> new CritterCageBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(net.minecraft.world.level.block.SoundType.METAL).noOcclusion())); () -> new CritterCageBlock(BlockBehaviour.Properties.of().strength(5.0F, 6.0F).sound(net.minecraft.world.level.block.SoundType.METAL).noOcclusion()));
public static final RegistryObject<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign", public static final RegistryObject<StandingSignBlock> OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign",
@@ -189,6 +192,8 @@ public final class AntarchyForgeBlocks {
() -> new SlabBlock(nyxiteProperties())); () -> new SlabBlock(nyxiteProperties()));
public static final RegistryObject<WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall", public static final RegistryObject<WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall",
() -> new WallBlock(nyxiteProperties())); () -> new WallBlock(nyxiteProperties()));
public static final RegistryObject<RotatedPillarBlock> NYXITE_PILLAR = BLOCKS.register("nyxite_pillar",
() -> new RotatedPillarBlock(nyxiteProperties()));
public static final RegistryObject<Block> SHELLSTONE = BLOCKS.register("shellstone", public static final RegistryObject<Block> SHELLSTONE = BLOCKS.register("shellstone",
() -> new Block(AntarchyObjects.shellstoneProperties())); () -> new Block(AntarchyObjects.shellstoneProperties()));
public static final RegistryObject<Block> POLISHED_SHELLSTONE = BLOCKS.register("polished_shellstone", public static final RegistryObject<Block> POLISHED_SHELLSTONE = BLOCKS.register("polished_shellstone",
@@ -225,6 +230,8 @@ public final class AntarchyForgeBlocks {
() -> new SlabBlock(AntarchyObjects.shellstoneProperties())); () -> new SlabBlock(AntarchyObjects.shellstoneProperties()));
public static final RegistryObject<WallBlock> SHELLSTONE_BRICK_WALL = BLOCKS.register("shellstone_brick_wall", public static final RegistryObject<WallBlock> SHELLSTONE_BRICK_WALL = BLOCKS.register("shellstone_brick_wall",
() -> new WallBlock(AntarchyObjects.shellstoneProperties())); () -> new WallBlock(AntarchyObjects.shellstoneProperties()));
public static final RegistryObject<RotatedPillarBlock> SHELLSTONE_PILLAR = BLOCKS.register("shellstone_pillar",
() -> new RotatedPillarBlock(AntarchyObjects.shellstoneProperties()));
public static final RegistryObject<com.craisinlord.antarchy.content.block.TriffidGooBlock> TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block", public static final RegistryObject<com.craisinlord.antarchy.content.block.TriffidGooBlock> TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block",
() -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false))); () -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false)));
public static final RegistryObject<com.craisinlord.antarchy.content.block.CloudBlock> CLOUD_BLOCK = BLOCKS.register("cloud_block", public static final RegistryObject<com.craisinlord.antarchy.content.block.CloudBlock> CLOUD_BLOCK = BLOCKS.register("cloud_block",
@@ -242,8 +249,8 @@ public final class AntarchyForgeBlocks {
() -> new Block(nyxiteProperties())); () -> new Block(nyxiteProperties()));
public static final RegistryObject<NyxiteSpikeBlock> NYXITE_SPIKE = BLOCKS.register("nyxite_spike", public static final RegistryObject<NyxiteSpikeBlock> NYXITE_SPIKE = BLOCKS.register("nyxite_spike",
() -> new NyxiteSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE))); () -> new NyxiteSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE)));
public static final RegistryObject<ChitenSpikeBlock> CHITEN_SPIKE = BLOCKS.register("chiten_spike", public static final RegistryObject<ChitinSpikeBlock> CHITIN_SPIKE = BLOCKS.register("chitin_spike",
() -> new ChitenSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE))); () -> new ChitinSpikeBlock(BlockBehaviour.Properties.copy(Blocks.POINTED_DRIPSTONE)));
public static final RegistryObject<PotentNyxiteBlock> POTENT_NYXITE = BLOCKS.register("potent_nyxite", public static final RegistryObject<PotentNyxiteBlock> POTENT_NYXITE = BLOCKS.register("potent_nyxite",
() -> new PotentNyxiteBlock( () -> new PotentNyxiteBlock(
AntarchyForgeItems::potentNyxiteBlockEntityType, AntarchyForgeItems::potentNyxiteBlockEntityType,
@@ -291,7 +298,9 @@ public final class AntarchyForgeBlocks {
() -> createOre(Blocks.DEEPSLATE_EMERALD_ORE, 4, 8, MapColor.COLOR_YELLOW)); () -> createOre(Blocks.DEEPSLATE_EMERALD_ORE, 4, 8, MapColor.COLOR_YELLOW));
public static final RegistryObject<Block> BROODSTONE_TITANIUM_ORE = BLOCKS.register("broodstone_titanium_ore", public static final RegistryObject<Block> BROODSTONE_TITANIUM_ORE = BLOCKS.register("broodstone_titanium_ore",
() -> createOre(Blocks.DEEPSLATE_DIAMOND_ORE, 4, 8, MapColor.COLOR_LIGHT_BLUE)); () -> createOre(Blocks.DEEPSLATE_DIAMOND_ORE, 4, 8, MapColor.COLOR_LIGHT_BLUE));
public static final RegistryObject<RotatedPillarBlock> CHITEN_BLOCK = BLOCKS.register("chiten_block", public static final RegistryObject<RotatedPillarBlock> BROODSTONE_PILLAR = BLOCKS.register("broodstone_pillar",
() -> new RotatedPillarBlock(broodstoneProperties()));
public static final RegistryObject<RotatedPillarBlock> CHITIN_BLOCK = BLOCKS.register("chitin_block",
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops())); () -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops()));
public static final RegistryObject<UmbralMossBlock> UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block", public static final RegistryObject<UmbralMossBlock> UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block",
() -> new UmbralMossBlock(BlockBehaviour.Properties.copy(Blocks.MOSS_BLOCK))); () -> new UmbralMossBlock(BlockBehaviour.Properties.copy(Blocks.MOSS_BLOCK)));
@@ -406,6 +415,8 @@ public final class AntarchyForgeBlocks {
() -> new BluestoneComparatorBlock(BlockBehaviour.Properties.copy(Blocks.COMPARATOR).mapColor(MapColor.COLOR_BLUE).noCollission(), AntarchyForgeBlocks::bluestoneComparatorBlockEntityType)); () -> new BluestoneComparatorBlock(BlockBehaviour.Properties.copy(Blocks.COMPARATOR).mapColor(MapColor.COLOR_BLUE).noCollission(), AntarchyForgeBlocks::bluestoneComparatorBlockEntityType));
public static final RegistryObject<BluestoneTorchBlock> BLUESTONE_TORCH = BLOCKS.register("bluestone_torch", public static final RegistryObject<BluestoneTorchBlock> BLUESTONE_TORCH = BLOCKS.register("bluestone_torch",
() -> new BluestoneTorchBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_TORCH).mapColor(MapColor.COLOR_BLUE).lightLevel(state -> state.getValue(BluestoneTorchBlock.LIT) ? 7 : 0).noCollission().instabreak())); () -> new BluestoneTorchBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_TORCH).mapColor(MapColor.COLOR_BLUE).lightLevel(state -> state.getValue(BluestoneTorchBlock.LIT) ? 7 : 0).noCollission().instabreak()));
public static final RegistryObject<BluestoneLampBlock> BLUESTONE_LAMP = BLOCKS.register("bluestone_lamp",
() -> new BluestoneLampBlock(BlockBehaviour.Properties.copy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_BLUE)));
public static final RegistryObject<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block", public static final RegistryObject<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block",
() -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_YELLOW)); () -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_YELLOW));
public static final RegistryObject<Block> TITANIUM_BLOCK = BLOCKS.register("titanium_block", public static final RegistryObject<Block> TITANIUM_BLOCK = BLOCKS.register("titanium_block",
@@ -450,10 +461,20 @@ public final class AntarchyForgeBlocks {
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BASALT))); () -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.BASALT)));
public static final RegistryObject<RotatedPillarBlock> POLISHED_ANTIMETAL = BLOCKS.register("polished_antimetal", public static final RegistryObject<RotatedPillarBlock> POLISHED_ANTIMETAL = BLOCKS.register("polished_antimetal",
() -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT))); () -> new RotatedPillarBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final RegistryObject<StairBlock> ANTIMETAL_STAIRS = BLOCKS.register("antimetal_stairs",
() -> new StairBlock(ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.BASALT)));
public static final RegistryObject<SlabBlock> ANTIMETAL_SLAB = BLOCKS.register("antimetal_slab",
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.BASALT)));
public static final RegistryObject<StairBlock> POLISHED_ANTIMETAL_STAIRS = BLOCKS.register("polished_antimetal_stairs",
() -> new StairBlock(POLISHED_ANTIMETAL.get().defaultBlockState(), BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final RegistryObject<SlabBlock> POLISHED_ANTIMETAL_SLAB = BLOCKS.register("polished_antimetal_slab",
() -> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.POLISHED_BASALT)));
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock> ANTIMETAL_SCAFFOLDING = BLOCKS.register("antimetal_scaffolding", public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock> ANTIMETAL_SCAFFOLDING = BLOCKS.register("antimetal_scaffolding",
() -> new com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock(BlockBehaviour.Properties.copy(Blocks.SCAFFOLDING))); () -> new com.craisinlord.antarchy.content.block.AntimetalScaffoldingBlock(BlockBehaviour.Properties.copy(Blocks.SCAFFOLDING)));
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalRailBlock> ANTIMETAL_RAIL = BLOCKS.register("antimetal_rail", public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalRailBlock> ANTIMETAL_RAIL = BLOCKS.register("antimetal_rail",
() -> new com.craisinlord.antarchy.content.block.AntimetalRailBlock(BlockBehaviour.Properties.copy(Blocks.RAIL))); () -> new com.craisinlord.antarchy.content.block.AntimetalRailBlock(BlockBehaviour.Properties.copy(Blocks.RAIL)));
public static final RegistryObject<UpperBlock> UPPER = BLOCKS.register("upper",
() -> new UpperBlock(AntarchyForgeBlocks::upperBlockEntityType, BlockBehaviour.Properties.copy(Blocks.HOPPER)));
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock> ANTIMETAL_POWERED_RAIL = BLOCKS.register("antimetal_powered_rail", public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock> ANTIMETAL_POWERED_RAIL = BLOCKS.register("antimetal_powered_rail",
() -> new com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock(BlockBehaviour.Properties.copy(Blocks.POWERED_RAIL))); () -> new com.craisinlord.antarchy.content.block.AntimetalPoweredRailBlock(BlockBehaviour.Properties.copy(Blocks.POWERED_RAIL)));
public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalDetectorRailBlock> ANTIMETAL_DETECTOR_RAIL = BLOCKS.register("antimetal_detector_rail", public static final RegistryObject<com.craisinlord.antarchy.content.block.AntimetalDetectorRailBlock> ANTIMETAL_DETECTOR_RAIL = BLOCKS.register("antimetal_detector_rail",
@@ -499,6 +520,12 @@ public final class AntarchyForgeBlocks {
() -> new AmethystClusterBlock(7, 3, BlockBehaviour.Properties.copy(Blocks.AMETHYST_CLUSTER))); () -> new AmethystClusterBlock(7, 3, BlockBehaviour.Properties.copy(Blocks.AMETHYST_CLUSTER)));
public static final RegistryObject<Block> DREAM_SAND = BLOCKS.register("dream_sand", public static final RegistryObject<Block> DREAM_SAND = BLOCKS.register("dream_sand",
() -> new DreamSandBlock(BlockBehaviour.Properties.copy(Blocks.SAND))); () -> new DreamSandBlock(BlockBehaviour.Properties.copy(Blocks.SAND)));
public static final RegistryObject<AntigravelBlock> ANTIGRAVEL = BLOCKS.register("antigravel",
() -> new AntigravelBlock(BlockBehaviour.Properties.copy(Blocks.GRAVEL)));
public static final RegistryObject<Block> LOAM = BLOCKS.register("loam",
() -> new Block(BlockBehaviour.Properties.copy(Blocks.MUD)));
public static final RegistryObject<MucusBlock> MUCUS = BLOCKS.register("mucus",
() -> new MucusBlock(BlockBehaviour.Properties.copy(Blocks.GLOW_LICHEN).friction(0.98F).lightLevel(state -> 0).sound(net.minecraft.world.level.block.SoundType.SLIME_BLOCK)));
public static final RegistryObject<Block> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone", public static final RegistryObject<Block> DREAM_SANDSTONE = BLOCKS.register("dream_sandstone",
() -> new Block(BlockBehaviour.Properties.copy(Blocks.SANDSTONE))); () -> new Block(BlockBehaviour.Properties.copy(Blocks.SANDSTONE)));
public static final RegistryObject<Block> CHISELED_DREAM_SANDSTONE = BLOCKS.register("chiseled_dream_sandstone", public static final RegistryObject<Block> CHISELED_DREAM_SANDSTONE = BLOCKS.register("chiseled_dream_sandstone",
@@ -570,6 +597,11 @@ public final class AntarchyForgeBlocks {
SeashellBlockEntity::new, SeashellBlockEntity::new,
SEASHELL.get() SEASHELL.get()
).build(null)); ).build(null));
public static final RegistryObject<BlockEntityType<com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity>> LUCID_ANCHOR_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("lucid_anchor",
() -> BlockEntityType.Builder.of(
com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity::new,
LUCID_ANCHOR.get()
).build(null));
public static final RegistryObject<BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block", public static final RegistryObject<BlockEntityType<CritterCageBlockEntity>> CRITTER_CAGE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("critter_cage_block",
() -> BlockEntityType.Builder.of( () -> BlockEntityType.Builder.of(
CritterCageBlockEntity::new, CritterCageBlockEntity::new,
@@ -580,6 +612,11 @@ public final class AntarchyForgeBlocks {
(pos, state) -> new com.craisinlord.antarchy.content.block.entity.BluestoneComparatorBlockEntity(pos, state, AntarchyForgeBlocks::bluestoneComparatorBlockEntityType), (pos, state) -> new com.craisinlord.antarchy.content.block.entity.BluestoneComparatorBlockEntity(pos, state, AntarchyForgeBlocks::bluestoneComparatorBlockEntityType),
BLUESTONE_COMPARATOR.get() BLUESTONE_COMPARATOR.get()
).build(null)); ).build(null));
public static final RegistryObject<BlockEntityType<UpperBlockEntity>> UPPER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("upper",
() -> BlockEntityType.Builder.of(
(pos, state) -> new UpperBlockEntity(pos, state, AntarchyForgeBlocks::upperBlockEntityType),
UPPER.get()
).build(null));
private AntarchyForgeBlocks() {} private AntarchyForgeBlocks() {}
@@ -643,6 +680,10 @@ public final class AntarchyForgeBlocks {
return BLUESTONE_COMPARATOR_BLOCK_ENTITY.get(); return BLUESTONE_COMPARATOR_BLOCK_ENTITY.get();
} }
private static BlockEntityType<UpperBlockEntity> upperBlockEntityType() {
return UPPER_BLOCK_ENTITY.get();
}
private static final class SimpleHorizontalFacingBlock extends HorizontalDirectionalBlock { private static final class SimpleHorizontalFacingBlock extends HorizontalDirectionalBlock {
private SimpleHorizontalFacingBlock(BlockBehaviour.Properties properties) { private SimpleHorizontalFacingBlock(BlockBehaviour.Properties properties) {
@@ -57,6 +57,8 @@ import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEntity; import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity; import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity; import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareBiteEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmarePortalEntity;
import com.craisinlord.antarchy.content.entity.CheepEntity; import com.craisinlord.antarchy.content.entity.CheepEntity;
import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity; import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity;
import com.craisinlord.antarchy.content.entity.DorrieEntity; import com.craisinlord.antarchy.content.entity.DorrieEntity;
@@ -265,6 +267,18 @@ public final class AntarchyForgeEntites {
.sized(3.2F, 3.8F) .sized(3.2F, 3.8F)
.clientTrackingRange(12) .clientTrackingRange(12)
.build("nightmare")); .build("nightmare"));
public static final RegistryObject<EntityType<NightmarePortalEntity>> NIGHTMARE_PORTAL = ENTITY_TYPES.register("nightmare_portal",
() -> EntityType.Builder.of(NightmarePortalEntity::new, MobCategory.MISC)
.sized(2.5F, 3.0F)
.clientTrackingRange(10)
.updateInterval(1)
.build("nightmare_portal"));
public static final RegistryObject<EntityType<NightmareBiteEntity>> NIGHTMARE_BITE = ENTITY_TYPES.register("nightmare_bite",
() -> EntityType.Builder.of(NightmareBiteEntity::new, MobCategory.MISC)
.sized(2.5F, 2.0F)
.clientTrackingRange(10)
.updateInterval(1)
.build("nightmare_bite"));
public static final RegistryObject<EntityType<LucidEntity>> LUCID = ENTITY_TYPES.register("lucid", public static final RegistryObject<EntityType<LucidEntity>> LUCID = ENTITY_TYPES.register("lucid",
() -> EntityType.Builder.of(LucidEntity::new, MobCategory.MONSTER) () -> EntityType.Builder.of(LucidEntity::new, MobCategory.MONSTER)
.sized(2.0F, 2.0F) .sized(2.0F, 2.0F)
@@ -129,6 +129,12 @@ public final class AntarchyForgeEvents {
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreadBedSleep); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreadBedSleep);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleStartTracking); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleStartTracking);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreamSandLogout); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleDreamSandLogout);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeLogin);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeLogout);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeDeath);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeRespawn);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::handleTigerEyeDimensionChange);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::tickTigerEyeCamouflage);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::registerReloadListeners); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::registerReloadListeners);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::onVillagerTrades); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::onVillagerTrades);
MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::onWandererTrades); MinecraftForge.EVENT_BUS.addListener(AntarchyForgeEvents::onWandererTrades);
@@ -269,6 +275,50 @@ public final class AntarchyForgeEvents {
} }
AntarchyGravityNetworking.syncEntity(event.getTarget()); AntarchyGravityNetworking.syncEntity(event.getTarget());
if (event.getTarget() instanceof ServerPlayer trackedPlayer && event.getEntity() instanceof ServerPlayer trackingPlayer) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.syncTo(trackingPlayer, trackedPlayer);
}
}
static void handleTigerEyeLogin(PlayerEvent.PlayerLoggedInEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
}
}
static void handleTigerEyeLogout(PlayerEvent.PlayerLoggedOutEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
}
}
static void handleTigerEyeDeath(LivingDeathEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
}
}
static void handleTigerEyeRespawn(PlayerEvent.PlayerRespawnEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
}
}
static void handleTigerEyeDimensionChange(PlayerEvent.PlayerChangedDimensionEvent event) {
if (event.getEntity() instanceof ServerPlayer player) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.deactivate(player, false);
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
}
}
static void tickTigerEyeCamouflage(TickEvent.PlayerTickEvent event) {
if (event.phase != TickEvent.Phase.END) return;
if (event.player instanceof ServerPlayer player
&& com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController.validateOrDeactivate(player)) {
com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageSync.sync(player);
}
} }
private static final String DREAD_BED_BUG_NEXT_SPAWN_KEY = Antarchy.MODID + ":dread_bed_bug_next_spawn"; private static final String DREAD_BED_BUG_NEXT_SPAWN_KEY = Antarchy.MODID + ":dread_bed_bug_next_spawn";
@@ -423,8 +473,7 @@ public final class AntarchyForgeEvents {
for (int y = minY; y <= maxY; y++) { for (int y = minY; y <= maxY; y++) {
for (int z = minZ; z <= maxZ; z++) { for (int z = minZ; z <= maxZ; z++) {
net.minecraft.core.BlockPos crystalPos = new net.minecraft.core.BlockPos(x, y + 1, z); net.minecraft.core.BlockPos crystalPos = new net.minecraft.core.BlockPos(x, y + 1, z);
if (entity.level().getBlockState(crystalPos).is(AntarchyForgeBlocks.ANTIMETAL.get()) if (entity.level().getBlockState(crystalPos).is(AntarchyTags.Blocks.ANTIMETAL_INVERSION_BLOCKS)) {
|| entity.level().getBlockState(crystalPos).is(AntarchyForgeBlocks.POLISHED_ANTIMETAL.get())) {
return true; return true;
} }
} }
@@ -161,6 +161,9 @@ public final class AntarchyForgeItems {
private static final ArmorMaterial FALLEN_KING_CROWN_ARMOR_MATERIAL = armorMaterial( private static final ArmorMaterial FALLEN_KING_CROWN_ARMOR_MATERIAL = armorMaterial(
25, createFallenKingCrownDefense(), 25, SoundEvents.ARMOR_EQUIP_GOLD, 25, createFallenKingCrownDefense(), 25, SoundEvents.ARMOR_EQUIP_GOLD,
() -> Ingredient.of(Items.GOLD_INGOT), 0.0F, 0.0F, "fallen_king_crown"); () -> Ingredient.of(Items.GOLD_INGOT), 0.0F, 0.0F, "fallen_king_crown");
private static final ArmorMaterial TIGERS_EYE_ARMOR_MATERIAL = armorMaterial(
18, createDiamondArmorDefense(), 18, SoundEvents.ARMOR_EQUIP_GOLD,
() -> Ingredient.of(AntarchyForgeItems.TIGERS_EYE.get()), 2.0F, 0.0F, "tigers_eye");
// Block items // Block items
public static final RegistryObject<net.minecraft.world.item.BlockItem> DUPLICATOR_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DUPLICATOR_LOG); public static final RegistryObject<net.minecraft.world.item.BlockItem> DUPLICATOR_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DUPLICATOR_LOG);
@@ -203,6 +206,8 @@ public final class AntarchyForgeItems {
public static final RegistryObject<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad", public static final RegistryObject<net.minecraft.world.item.BlockItem> GIANT_LILY_PAD_ITEM = ITEMS.register("giant_lily_pad",
() -> new com.craisinlord.antarchy.content.item.GiantLilyPadItem(AntarchyForgeBlocks.GIANT_LILY_PAD.get(), new Item.Properties())); () -> new com.craisinlord.antarchy.content.item.GiantLilyPadItem(AntarchyForgeBlocks.GIANT_LILY_PAD.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> SEASHELL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.SEASHELL); public static final RegistryObject<net.minecraft.world.item.BlockItem> SEASHELL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.SEASHELL);
public static final RegistryObject<net.minecraft.world.item.BlockItem> LUCID_ANCHOR_ITEM = ITEMS.register("lucid_anchor",
() -> new LucidAnchorBlockItem(AntarchyForgeBlocks.LUCID_ANCHOR.get(), new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<net.minecraft.world.item.BlockItem> LOTUS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.LOTUS); public static final RegistryObject<net.minecraft.world.item.BlockItem> LOTUS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.LOTUS);
public static final RegistryObject<net.minecraft.world.item.SignItem> OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign", public static final RegistryObject<net.minecraft.world.item.SignItem> OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign",
() -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyForgeBlocks.OURANWOOD_SIGN.get(), AntarchyForgeBlocks.OURANWOOD_WALL_SIGN.get())); () -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyForgeBlocks.OURANWOOD_SIGN.get(), AntarchyForgeBlocks.OURANWOOD_WALL_SIGN.get()));
@@ -247,6 +252,7 @@ public final class AntarchyForgeItems {
() -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.BLUESTONE_COMPARATOR.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.BLUESTONE_COMPARATOR.get(), new Item.Properties()));
public static final RegistryObject<CeilingPlacementTooltipBlockItem> BLUESTONE_TORCH_ITEM = ITEMS.register("bluestone_torch", public static final RegistryObject<CeilingPlacementTooltipBlockItem> BLUESTONE_TORCH_ITEM = ITEMS.register("bluestone_torch",
() -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.BLUESTONE_TORCH.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.BLUESTONE_TORCH.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> BLUESTONE_LAMP_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.BLUESTONE_LAMP);
public static final RegistryObject<net.minecraft.world.item.BlockItem> URANIUM_BLOCK_ITEM = ITEMS.register("uranium_block", public static final RegistryObject<net.minecraft.world.item.BlockItem> URANIUM_BLOCK_ITEM = ITEMS.register("uranium_block",
() -> new net.minecraft.world.item.BlockItem(AntarchyForgeBlocks.URANIUM_BLOCK.get(), new Item.Properties().rarity(Rarity.UNCOMMON))); () -> new net.minecraft.world.item.BlockItem(AntarchyForgeBlocks.URANIUM_BLOCK.get(), new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<net.minecraft.world.item.BlockItem> TITANIUM_BLOCK_ITEM = ITEMS.register("titanium_block", public static final RegistryObject<net.minecraft.world.item.BlockItem> TITANIUM_BLOCK_ITEM = ITEMS.register("titanium_block",
@@ -291,10 +297,19 @@ public final class AntarchyForgeItems {
() -> new AntimetalBlockItem(AntarchyForgeBlocks.ANTIMETAL.get(), new Item.Properties())); () -> new AntimetalBlockItem(AntarchyForgeBlocks.ANTIMETAL.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_ITEM = ITEMS.register("polished_antimetal", public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_ITEM = ITEMS.register("polished_antimetal",
() -> new AntimetalBlockItem(AntarchyForgeBlocks.POLISHED_ANTIMETAL.get(), new Item.Properties())); () -> new AntimetalBlockItem(AntarchyForgeBlocks.POLISHED_ANTIMETAL.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> ANTIMETAL_STAIRS_ITEM = ITEMS.register("antimetal_stairs",
() -> new AntimetalBlockItem(AntarchyForgeBlocks.ANTIMETAL_STAIRS.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> ANTIMETAL_SLAB_ITEM = ITEMS.register("antimetal_slab",
() -> new AntimetalBlockItem(AntarchyForgeBlocks.ANTIMETAL_SLAB.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_STAIRS_ITEM = ITEMS.register("polished_antimetal_stairs",
() -> new AntimetalBlockItem(AntarchyForgeBlocks.POLISHED_ANTIMETAL_STAIRS.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_ANTIMETAL_SLAB_ITEM = ITEMS.register("polished_antimetal_slab",
() -> new AntimetalBlockItem(AntarchyForgeBlocks.POLISHED_ANTIMETAL_SLAB.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> ANTIMETAL_SCAFFOLDING_ITEM = ITEMS.register("antimetal_scaffolding", public static final RegistryObject<net.minecraft.world.item.BlockItem> ANTIMETAL_SCAFFOLDING_ITEM = ITEMS.register("antimetal_scaffolding",
() -> new AntimetalScaffoldingItem(AntarchyForgeBlocks.ANTIMETAL_SCAFFOLDING.get(), new Item.Properties())); () -> new AntimetalScaffoldingItem(AntarchyForgeBlocks.ANTIMETAL_SCAFFOLDING.get(), new Item.Properties()));
public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_RAIL_ITEM = ITEMS.register("antimetal_rail", public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_RAIL_ITEM = ITEMS.register("antimetal_rail",
() -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.ANTIMETAL_RAIL.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.ANTIMETAL_RAIL.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> UPPER_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UPPER);
public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_POWERED_RAIL_ITEM = ITEMS.register("antimetal_powered_rail", public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_POWERED_RAIL_ITEM = ITEMS.register("antimetal_powered_rail",
() -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.ANTIMETAL_POWERED_RAIL.get(), new Item.Properties())); () -> new CeilingPlacementTooltipBlockItem(AntarchyForgeBlocks.ANTIMETAL_POWERED_RAIL.get(), new Item.Properties()));
public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_DETECTOR_RAIL_ITEM = ITEMS.register("antimetal_detector_rail", public static final RegistryObject<CeilingPlacementTooltipBlockItem> ANTIMETAL_DETECTOR_RAIL_ITEM = ITEMS.register("antimetal_detector_rail",
@@ -309,6 +324,10 @@ public final class AntarchyForgeItems {
() -> new net.minecraft.world.item.BlockItem(AntarchyForgeBlocks.BLOOD_CRYSTAL.get(), new Item.Properties())); () -> new net.minecraft.world.item.BlockItem(AntarchyForgeBlocks.BLOOD_CRYSTAL.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> BLOOD_CRYSTAL_CRYSTAL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.BLOOD_CRYSTAL_CRYSTAL); public static final RegistryObject<net.minecraft.world.item.BlockItem> BLOOD_CRYSTAL_CRYSTAL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.BLOOD_CRYSTAL_CRYSTAL);
public static final RegistryObject<net.minecraft.world.item.BlockItem> DREAM_SAND_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DREAM_SAND); public static final RegistryObject<net.minecraft.world.item.BlockItem> DREAM_SAND_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DREAM_SAND);
public static final RegistryObject<net.minecraft.world.item.BlockItem> ANTIGRAVEL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.ANTIGRAVEL);
public static final RegistryObject<net.minecraft.world.item.BlockItem> LOAM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.LOAM);
public static final RegistryObject<net.minecraft.world.item.BlockItem> MUCUS_ITEM = ITEMS.register("mucus",
() -> new com.craisinlord.antarchy.content.item.MucusBlockItem(AntarchyForgeBlocks.MUCUS.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DREAM_SANDSTONE); public static final RegistryObject<net.minecraft.world.item.BlockItem> DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.DREAM_SANDSTONE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> CHISELED_DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHISELED_DREAM_SANDSTONE); public static final RegistryObject<net.minecraft.world.item.BlockItem> CHISELED_DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHISELED_DREAM_SANDSTONE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> CUT_DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CUT_DREAM_SANDSTONE); public static final RegistryObject<net.minecraft.world.item.BlockItem> CUT_DREAM_SANDSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CUT_DREAM_SANDSTONE);
@@ -358,7 +377,7 @@ public final class AntarchyForgeItems {
public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.POLISHED_NYXITE); public static final RegistryObject<net.minecraft.world.item.BlockItem> POLISHED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.POLISHED_NYXITE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> CHISELED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHISELED_NYXITE); public static final RegistryObject<net.minecraft.world.item.BlockItem> CHISELED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHISELED_NYXITE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_BRICKS); public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_BRICKS);
public static final RegistryObject<net.minecraft.world.item.BlockItem> CHITEN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHITEN_BLOCK); public static final RegistryObject<net.minecraft.world.item.BlockItem> CHITIN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHITIN_BLOCK);
public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_STAIRS); public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_STAIRS);
public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_SLAB); public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_SLAB);
public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_WALL); public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_WALL);
@@ -393,7 +412,7 @@ public final class AntarchyForgeItems {
() -> new com.craisinlord.antarchy.content.item.TriffidGooBlockItem(AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(), new Item.Properties())); () -> new com.craisinlord.antarchy.content.item.TriffidGooBlockItem(AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(), new Item.Properties()));
public static final RegistryObject<net.minecraft.world.item.BlockItem> PALE_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.PALE_NYXITE); public static final RegistryObject<net.minecraft.world.item.BlockItem> PALE_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.PALE_NYXITE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_SPIKE); public static final RegistryObject<net.minecraft.world.item.BlockItem> NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_SPIKE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> CHITEN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHITEN_SPIKE); public static final RegistryObject<net.minecraft.world.item.BlockItem> CHITIN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.CHITIN_SPIKE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.POTENT_NYXITE); public static final RegistryObject<net.minecraft.world.item.BlockItem> POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.POTENT_NYXITE);
public static final RegistryObject<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UMBRAL_MOSS_BLOCK); public static final RegistryObject<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UMBRAL_MOSS_BLOCK);
public static final RegistryObject<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET); public static final RegistryObject<net.minecraft.world.item.BlockItem> UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UMBRAL_MOSS_CARPET);
@@ -451,6 +470,15 @@ public final class AntarchyForgeItems {
() -> new BloodCrystalArmorItem(BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Properties().rarity(Rarity.RARE))); () -> new BloodCrystalArmorItem(BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Properties().rarity(Rarity.RARE)));
public static final RegistryObject<BloodCrystalArmorItem> BLOOD_CRYSTAL_BOOTS = ITEMS.register("blood_crystal_boots", public static final RegistryObject<BloodCrystalArmorItem> BLOOD_CRYSTAL_BOOTS = ITEMS.register("blood_crystal_boots",
() -> new BloodCrystalArmorItem(BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.RARE))); () -> new BloodCrystalArmorItem(BLOOD_CRYSTAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.RARE)));
public static final RegistryObject<Item> TIGERS_EYE = ITEMS.registerSimpleItem("tigers_eye", new Item.Properties().rarity(Rarity.UNCOMMON));
public static final RegistryObject<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_HELMET = ITEMS.register("tigers_eye_helmet",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.HELMET, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_CHESTPLATE = ITEMS.register("tigers_eye_chestplate",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_LEGGINGS = ITEMS.register("tigers_eye_leggings",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<com.craisinlord.antarchy.content.item.TigerEyeArmorItem> TIGERS_EYE_BOOTS = ITEMS.register("tigers_eye_boots",
() -> new com.craisinlord.antarchy.content.item.TigerEyeArmorItem(TIGERS_EYE_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final RegistryObject<BloodCrystalKatanaItem> BLOOD_CRYSTAL_KATANA = ITEMS.register("blood_crystal_katana", public static final RegistryObject<BloodCrystalKatanaItem> BLOOD_CRYSTAL_KATANA = ITEMS.register("blood_crystal_katana",
() -> new BloodCrystalKatanaItem( () -> new BloodCrystalKatanaItem(
BLOOD_CRYSTAL_KATANA_TIER, BLOOD_CRYSTAL_KATANA_TIER,
@@ -465,7 +493,7 @@ public final class AntarchyForgeItems {
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
public static final RegistryObject<Item> QUEEN_SCALE = ITEMS.register("queen_scale", public static final RegistryObject<Item> QUEEN_SCALE = ITEMS.register("queen_scale",
() -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE)));
public static final RegistryObject<Item> CHITEN = ITEMS.registerSimpleItem("chiten", new Item.Properties().rarity(Rarity.UNCOMMON)); public static final RegistryObject<Item> CHITIN = ITEMS.registerSimpleItem("chitin", new Item.Properties().rarity(Rarity.UNCOMMON));
public static final RegistryObject<Item> JERRY_NUCLEUS = ITEMS.register("jerry_nucleus", public static final RegistryObject<Item> JERRY_NUCLEUS = ITEMS.register("jerry_nucleus",
() -> new com.craisinlord.antarchy.content.item.JerryNucleusItem(new Item.Properties().rarity(Rarity.UNCOMMON) () -> new com.craisinlord.antarchy.content.item.JerryNucleusItem(new Item.Properties().rarity(Rarity.UNCOMMON)
.food(new FoodProperties.Builder() .food(new FoodProperties.Builder()
@@ -773,6 +801,14 @@ public final class AntarchyForgeItems {
} }
}); });
public static final RegistryObject<Item> KRAKEN_KALAMARI = ITEMS.register("kraken_kalamari",
() -> new Item(new Item.Properties()
.rarity(Rarity.EPIC)
.food(new FoodProperties.Builder()
.nutrition(20)
.saturationMod(1.2F)
.alwaysEat()
.build())));
public static final RegistryObject<Item> KRAKEN_TENTACLE = ITEMS.registerSimpleItem("kraken_tentacle", public static final RegistryObject<Item> KRAKEN_TENTACLE = ITEMS.registerSimpleItem("kraken_tentacle",
new Item.Properties().rarity(Rarity.RARE)); new Item.Properties().rarity(Rarity.RARE));
@@ -964,6 +1000,15 @@ public final class AntarchyForgeItems {
return defense; return defense;
} }
private static EnumMap<ArmorItem.Type, Integer> createDiamondArmorDefense() {
EnumMap<ArmorItem.Type, Integer> defense = new EnumMap<>(ArmorItem.Type.class);
defense.put(ArmorItem.Type.BOOTS, 3);
defense.put(ArmorItem.Type.LEGGINGS, 6);
defense.put(ArmorItem.Type.CHESTPLATE, 8);
defense.put(ArmorItem.Type.HELMET, 3);
return defense;
}
private static EnumMap<ArmorItem.Type, Integer> createBloodCrystalArmorDefense() { private static EnumMap<ArmorItem.Type, Integer> createBloodCrystalArmorDefense() {
EnumMap<ArmorItem.Type, Integer> defense = new EnumMap<>(ArmorItem.Type.class); EnumMap<ArmorItem.Type, Integer> defense = new EnumMap<>(ArmorItem.Type.class);
defense.put(ArmorItem.Type.BOOTS, 2); defense.put(ArmorItem.Type.BOOTS, 2);
@@ -21,8 +21,8 @@ import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynCreepvineFeature
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynWallAmberMossFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynWallAmberMossFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.HangingCreeprootsFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.HangingCreeprootsFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeConfiguration; import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitinSpikeConfiguration;
import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitinSpikeFeature;
import com.craisinlord.antarchy.content.worldgen.cavaryn.MoltingVinesFeature; import com.craisinlord.antarchy.content.worldgen.cavaryn.MoltingVinesFeature;
import com.craisinlord.antarchy.content.worldgen.ocean.SeashellFeature; import com.craisinlord.antarchy.content.worldgen.ocean.SeashellFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.*; import com.craisinlord.antarchy.content.worldgen.elythia.*;
@@ -103,6 +103,7 @@ public final class AntarchyForgeMisc {
public static final RegistryObject<com.craisinlord.antarchy.content.effect.BloodglassWardEffect> BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new); public static final RegistryObject<com.craisinlord.antarchy.content.effect.BloodglassWardEffect> BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new);
public static final RegistryObject<ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new); public static final RegistryObject<ShrinkMobEffect> SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new);
public static final RegistryObject<GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new); public static final RegistryObject<GrowthMobEffect> GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new);
public static final RegistryObject<com.craisinlord.antarchy.content.effect.GlimmeringMobEffect> GLIMMERING = MOB_EFFECTS.register("glimmering", com.craisinlord.antarchy.content.effect.GlimmeringMobEffect::new);
// Potions // Potions
public static final RegistryObject<Potion> INVERSION = POTIONS.register("inversion", public static final RegistryObject<Potion> INVERSION = POTIONS.register("inversion",
@@ -273,8 +274,8 @@ public final class AntarchyForgeMisc {
() -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC)); () -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC));
public static final RegistryObject<NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes", public static final RegistryObject<NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes",
() -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC)); () -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC));
public static final RegistryObject<ChitenSpikeFeature> CAVARYN_CHITEN_SPIKES = FEATURES.register("cavaryn_chiten_spikes", public static final RegistryObject<ChitinSpikeFeature> CAVARYN_CHITIN_SPIKES = FEATURES.register("cavaryn_chitin_spikes",
() -> new ChitenSpikeFeature(ChitenSpikeConfiguration.CODEC)); () -> new ChitinSpikeFeature(ChitinSpikeConfiguration.CODEC));
public static final RegistryObject<CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins", public static final RegistryObject<CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins",
() -> new CavarynBileVeinFeature(NoneFeatureConfiguration.CODEC)); () -> new CavarynBileVeinFeature(NoneFeatureConfiguration.CODEC));
public static final RegistryObject<CavarynBileCystFeature> CAVARYN_BILE_CYSTS = FEATURES.register("cavaryn_bile_cysts", public static final RegistryObject<CavarynBileCystFeature> CAVARYN_BILE_CYSTS = FEATURES.register("cavaryn_bile_cysts",
@@ -8,6 +8,7 @@ import com.craisinlord.antarchy.forge.network.DorrieJumpNetworking;
import com.craisinlord.antarchy.forge.network.HerculesBeetleNetworking; import com.craisinlord.antarchy.forge.network.HerculesBeetleNetworking;
import com.craisinlord.antarchy.forge.network.JumpyBootsNetworking; import com.craisinlord.antarchy.forge.network.JumpyBootsNetworking;
import com.craisinlord.antarchy.forge.network.MultipartNetworking; import com.craisinlord.antarchy.forge.network.MultipartNetworking;
import com.craisinlord.antarchy.forge.network.TigerEyeNetworking;
public class AntarchyForgePayloadHandlers { public class AntarchyForgePayloadHandlers {
private AntarchyForgePayloadHandlers() {} private AntarchyForgePayloadHandlers() {}
@@ -18,6 +19,7 @@ public class AntarchyForgePayloadHandlers {
JumpyBootsNetworking.register(); JumpyBootsNetworking.register();
DorrieJumpNetworking.register(); DorrieJumpNetworking.register();
HerculesBeetleNetworking.register(); HerculesBeetleNetworking.register();
TigerEyeNetworking.register();
AntarchyForgeNetworkCore.registerS2C( AntarchyForgeNetworkCore.registerS2C(
com.craisinlord.antarchy.content.network.BloodglassStatePayload.class, com.craisinlord.antarchy.content.network.BloodglassStatePayload.class,
com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC, com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC,
@@ -374,6 +374,7 @@ public final class AntarchyConfigModuleNeoforge {
private static void bakeMiscConfig() { private static void bakeMiscConfig() {
AntarchySettings.setRainbowAntsLeadToInfinityDimensions(AntarchyMiscConfig.rainbowAntsLeadToInfinityDimensions()); AntarchySettings.setRainbowAntsLeadToInfinityDimensions(AntarchyMiscConfig.rainbowAntsLeadToInfinityDimensions());
AntarchySettings.setRainbowAntInfinityEasterEggChance(AntarchyMiscConfig.rainbowAntInfinityEasterEggChance());
AntarchySettings.setDisableInfinityBookPortalCreation(AntarchyMiscConfig.disableInfinityBookPortalCreation()); AntarchySettings.setDisableInfinityBookPortalCreation(AntarchyMiscConfig.disableInfinityBookPortalCreation());
AntarchySettings.setHushweedSporeLifetimeSeconds(AntarchyMiscConfig.hushweedSporeLifetimeSeconds()); AntarchySettings.setHushweedSporeLifetimeSeconds(AntarchyMiscConfig.hushweedSporeLifetimeSeconds());
AntarchySettings.setDiamondMinecartEnabled(AntarchyMiscConfig.diamondMinecartEnabled()); AntarchySettings.setDiamondMinecartEnabled(AntarchyMiscConfig.diamondMinecartEnabled());
@@ -24,6 +24,7 @@ public final class AntarchyMiscConfig {
// Infinite Dimensions // Infinite Dimensions
private static final ModConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION; private static final ModConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION;
private static final ModConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS; private static final ModConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS;
private static final ModConfigSpec.DoubleValue RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE;
// Permanent portals // Permanent portals
private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED; private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED;
@@ -105,7 +106,13 @@ public final class AntarchyMiscConfig {
"Whether rainbow ants open randomly generated Infinity dimensions.", "Whether rainbow ants open randomly generated Infinity dimensions.",
"Only works if the Infinite Dimensions mod is installed." "Only works if the Infinite Dimensions mod is installed."
) )
.define("rainbowAntsLeadToInfinityDimensions", net.neoforged.fml.ModList.get().isLoaded("infinity")); .define("rainbowAntsLeadToInfinityDimensions", true);
RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE = b
.comment(
"Chance for a rainbow ant Infinity destination roll to select an Infinity easter egg dimension instead of a normal generated one.",
"0.01 = 1%, 0 disables easter egg rolls."
)
.defineInRange("rainbowAntInfinityEasterEggChance", 0.01D, 0.0D, 1.0D);
b.pop(); b.pop();
@@ -174,6 +181,7 @@ public final class AntarchyMiscConfig {
static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); } static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); }
static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); } static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); }
static double rainbowAntInfinityEasterEggChance() { return RAINBOW_ANT_INFINITY_EASTER_EGG_CHANCE.get(); }
public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); } public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); }
public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); } public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); }
public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); } public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); }
@@ -2,12 +2,16 @@ package com.craisinlord.antarchy.neoforge;
import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge; import com.craisinlord.antarchy.compat.infinity.InfinityCompatBridge;
import net.lerariemann.infinity.InfinityMod;
import net.lerariemann.infinity.util.InfinityMethods; import net.lerariemann.infinity.util.InfinityMethods;
import net.lerariemann.infinity.util.teleport.WarpLogic; import net.lerariemann.infinity.util.teleport.WarpLogic;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.RandomSource; import net.minecraft.util.RandomSource;
import java.util.ArrayList;
import java.util.List;
public final class NeoForgeInfinityCompat implements InfinityCompatBridge { public final class NeoForgeInfinityCompat implements InfinityCompatBridge {
@Override @Override
public boolean isAvailable() { public boolean isAvailable() {
@@ -24,6 +28,43 @@ public final class NeoForgeInfinityCompat implements InfinityCompatBridge {
} }
} }
@Override
public ResourceLocation getRandomDimensionId(RandomSource random, double easterEggChance) {
try {
if (easterEggChance > 0.0D && random.nextDouble() < easterEggChance) {
ResourceLocation easterDimensionId = getRandomEasterDimensionId(random);
if (easterDimensionId != null) {
return easterDimensionId;
}
}
return InfinityMethods.getRandomId(random);
} catch (Throwable throwable) {
Antarchy.LOGGER.error("[Antarchy] Failed to get a random Infinity dimension id", throwable);
return null;
}
}
private static ResourceLocation getRandomEasterDimensionId(RandomSource random) {
if (InfinityMod.provider == null || InfinityMod.provider.easterizer == null) {
return null;
}
List<String> easterNames = new ArrayList<>();
for (String easterName : InfinityMod.provider.easterizer.map.keySet()) {
if (InfinityMod.provider.easterizer.isEaster(easterName)) {
easterNames.add(easterName);
}
}
if (easterNames.isEmpty()) {
return null;
}
String chosenEaster = easterNames.get(random.nextInt(easterNames.size()));
return InfinityMod.provider.easterizer.getAsEaster(chosenEaster);
}
@Override @Override
public boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) { public boolean requestWarp(ServerPlayer player, ResourceLocation dimensionId) {
try { try {