infinite dimension fallback dims

seperated computer to different mod
This commit is contained in:
craisinlord committed 2026-09-18 00:57:10 -05:00
1 parent c77d1da53b
commit a72bd7d590
263 files changed
+1781 -9288

No files matched your search

+2
View File
@@ -38,6 +38,8 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version_1_21_1}"
modApi "net.fabricmc.fabric-api:fabric-api:${fabric_api_version_1_21_1}"
modImplementation "software.bernie.geckolib:geckolib-fabric-1.21.1:${geckolib_version}"
// AntOS is developed beside Antarchy as a separate local project.
modImplementation files("$rootDir/../AntOS/fabric-1.21.1/build/libs/antos-fabric-1.21.1-0.1.0.jar")
modCompileOnly("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_fabric}")
modLocalRuntime("curse.maven:intapi-${intapi_curseforge_id}:${intapi_curseforge_file_id_fabric}")
modLocalRuntime("dev.architectury:architectury-fabric:${architectury_api_version}")
@@ -160,34 +160,6 @@ public final class AntarchyFabric implements ModInitializer {
Antarchy.init();
BloodCrystalShardItem.SYNC_BLOODGLASS = BloodglassManager::syncBloodglass;
registerTradeReloadListener();
ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer_guide");
}
@Override
public CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager,
ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler,
Executor prepareExecutor, Executor applyExecutor) {
return com.craisinlord.antarchy.content.guide.ComputerGuideData.instance().reload(
barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_events");
}
@Override
public CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager,
ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler,
Executor prepareExecutor, Executor applyExecutor) {
return com.craisinlord.antarchy.content.antmail.AntmailEventData.instance().reload(
barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
@@ -233,6 +205,20 @@ public final class AntarchyFabric implements ModInitializer {
return computerScientistDelegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager pestControlDelegate = new com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager();
ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "pest_control_trades");
}
@Override
public CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager,
ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler,
Executor prepareExecutor, Executor applyExecutor) {
return pestControlDelegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
}
private static final TagKey<net.minecraft.world.level.biome.Biome> CAVARYN_BIOMES = TagKey.create(
@@ -229,6 +229,10 @@ public final class AntarchyFabricContent {
AntarchyFabricSounds.MANTIS_HURT,
AntarchyFabricSounds.MANTIS_ATTACK,
AntarchyFabricSounds.MANTIS_FLY_LOOP,
AntarchyFabricSounds.MANTICORE_IDLE,
AntarchyFabricSounds.MANTICORE_WALK,
AntarchyFabricSounds.MANTICORE_FLY,
AntarchyFabricSounds.MANTICORE_BITE,
AntarchyFabricSounds.GRAVITY_GUN_PICKUP,
AntarchyFabricSounds.GRAVITY_GUN_DROP,
AntarchyFabricSounds.GRAVITY_GUN_HOLD_LOOP,
@@ -352,6 +356,7 @@ public final class AntarchyFabricContent {
AntarchyFabricSounds.DIMENSIONAL_TEAR_CREATURE_LEAVES,
AntarchyFabricSounds.DIMENSIONAL_TEAR_CLOSE
);
AntarchySoundEvents.bindHoverboardSounds(AntarchyFabricSounds.HOVERBOARD_MOUNT, AntarchyFabricSounds.HOVERBOARD_DISMOUNT, AntarchyFabricSounds.HOVERBOARD_IDLE);
AntarchyObjects.setOctopusBomb(AntarchyFabricEntities.OCTOPUS_BOMB);
AntarchyObjects.setTentacle(AntarchyFabricEntities.TENTACLE);
@@ -402,10 +407,6 @@ public final class AntarchyFabricContent {
AntarchyObjects.setCookedCorndog(() -> AntarchyFabricItems.COOKED_CORNDOG.get());
AntarchyObjects.setGlimmerBottle(() -> AntarchyFabricItems.GLIMMER_BOTTLE.get());
AntarchyObjects.setGlimmerVariantComponent(() -> AntarchyFabricMisc.GLIMMER_VARIANT.get());
AntarchyObjects.setFloppyDiskComponent(() -> AntarchyFabricMisc.FLOPPY_DISK_COMPONENT.get());
AntarchyObjects.setFloppyDisk(() -> AntarchyFabricItems.FLOPPY_DISK.get());
AntarchyObjects.setComputer(() -> AntarchyFabricBlocks.COMPUTER.get());
AntarchyObjects.setComputerBlockEntity(() -> AntarchyFabricBlocks.COMPUTER_BLOCK_ENTITY.get());
AntarchyObjects.setAmericanComponent(() -> AntarchyFabricMisc.AMERICAN.get());
AntarchyObjects.setLumen(() -> AntarchyFabricMisc.LUMEN.get());
AntarchyObjects.setFlowingLumen(() -> AntarchyFabricMisc.FLOWING_LUMEN.get());
@@ -414,6 +415,7 @@ public final class AntarchyFabricContent {
AntarchyObjects.setLumenFroglight(() -> AntarchyFabricBlocks.LUMEN_FROGLIGHT.get());
AntarchyObjects.setGlimmeringReed(() -> AntarchyFabricBlocks.GLIMMERING_REED.get());
AntarchyObjects.setPeachLeavesParticle(() -> AntarchyFabricMisc.PEACH_LEAVES_PARTICLE.get());
AntarchyObjects.setBugSprayParticle(() -> AntarchyFabricMisc.BUG_SPRAY_PARTICLE.get());
AntarchyObjects.setLotusPollen(() -> AntarchyFabricMisc.LOTUS_POLLEN.get());
AntarchyObjects.setNightmareFireFlame(() -> AntarchyFabricMisc.NIGHTMARE_FIRE_FLAME.get());
AntarchyObjects.setLucidBoltImpactSmall(() -> AntarchyFabricMisc.LUCID_BOLT_IMPACT_SMALL.get());
@@ -189,8 +189,6 @@ public final class AntarchyFabricEvents {
});
ServerTickEvents.END_SERVER_TICK.register(server -> {
com.craisinlord.antarchy.content.antmail.AntmailServerData.access(server).drainAvailable(server);
com.craisinlord.antarchy.content.antmail.AntmailEventData.onTick(server);
Set<UUID> activeThisTick = new HashSet<>();
for (ServerLevel level : server.getAllLevels()) {
CavarynHordeManager.tick(level);
@@ -221,6 +219,15 @@ public final class AntarchyFabricEvents {
factories -> factories.add(ComputerScientistTradeManager.listing(tradeLevel, tradeIndex)));
}
}
int[] pestControlSlots = com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager.slotsPerLevel();
for (int level = 1; level <= pestControlSlots.length; level++) {
final int tradeLevel = level;
for (int index = 0; index < pestControlSlots[level - 1]; index++) {
final int tradeIndex = index;
TradeOfferHelper.registerVillagerOffers(AntarchyFabricMisc.PEST_CONTROL.get(), tradeLevel,
factories -> factories.add(com.craisinlord.antarchy.content.entity.trades.PestControlTradeManager.listing(tradeLevel, tradeIndex)));
}
}
TradeOfferHelper.registerVillagerOffers(VillagerProfession.FARMER, 1, factories ->
factories.add((trader, random) -> new MerchantOffer(
new ItemCost(AntarchyFabricItems.CORN.get(), 20),
@@ -1,8 +1,7 @@
package com.craisinlord.antarchy.fabric.client;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.client.AntarchyClientHooks;
import com.craisinlord.antarchy.content.client.screen.ComputerScreen;
import com.craisinlord.antarchy.content.client.game.AntarchyComputerGames;
import com.craisinlord.antarchy.fabric.network.AntarchyFabricClientNetworking;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
@@ -12,7 +11,6 @@ import net.minecraft.server.packs.PackType;
import net.minecraft.server.packs.resources.PreparableReloadListener;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.util.profiling.ProfilerFiller;
import net.minecraft.client.Minecraft;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
@@ -23,7 +21,15 @@ public final class AntarchyFabricClient implements ClientModInitializer {
AntarchyFabricClientNetworking.register();
AntarchyFabricClientNetworking.bootstrapMultipartClient();
AntarchyFabricClientBootstrap.register();
AntarchyClientHooks.setComputerOpener(pos -> Minecraft.getInstance().setScreen(new ComputerScreen(pos)));
AntarchyComputerGames.register();
ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override public ResourceLocation getFabricId() { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antos_computer_data"); }
@Override public CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager,
ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler, Executor prepareExecutor, Executor applyExecutor) {
return com.craisinlord.antos.content.guide.ComputerGuideData.instance().reload(
barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
@@ -103,10 +103,6 @@ public final class AntarchyFabricClientBootstrap {
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.UNDERVAULT_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) UnderVaultRenderer::new
);
BlockEntityRendererRegistry.register(
(net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.COMPUTER_BLOCK_ENTITY.get(),
(BlockEntityRendererProvider) ComputerRenderer::new
);
EntityRendererRegistry.register(AntarchyFabricEntities.EASTER_BUNNY.get(), context -> withTemporalGeoLayer(new EasterBunnyRenderer(context)));
EntityRendererRegistry.register(AntarchyFabricEntities.FLYING_SQUIRREL.get(), context -> withTemporalGeoLayer(new FlyingSquirrelRenderer(context)));
@@ -205,7 +201,7 @@ public final class AntarchyFabricClientBootstrap {
EntityModelLayerRegistry.registerModelLayer(PeachBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel);
}
private static <T extends GeoAnimatable, R extends GeoEntityRenderer<T>> R withTemporalGeoLayer(R renderer) {
private static <T extends net.minecraft.world.entity.Entity & GeoAnimatable, R extends GeoEntityRenderer<T>> R withTemporalGeoLayer(R renderer) {
renderer.addRenderLayer(new TemporalContractionGeoLayer<>(renderer));
return renderer;
}
@@ -328,6 +324,7 @@ public final class AntarchyFabricClientBootstrap {
registry.register(AntarchyFabricMisc.STINKY_GAS.get(), HypnoticGasParticle.Provider::new);
registry.register(AntarchyFabricMisc.STINKY_FLY.get(), FireflyParticle.Provider::new);
registry.register(AntarchyFabricMisc.PEACH_LEAVES_PARTICLE.get(), PeachLeavesParticle.Provider::new);
registry.register(AntarchyFabricMisc.BUG_SPRAY_PARTICLE.get(), com.craisinlord.antarchy.content.client.particle.BugSprayParticle.Provider::new);
registry.register(AntarchyFabricMisc.LOTUS_POLLEN.get(), com.craisinlord.antarchy.content.client.particle.LotusPollenParticle.Provider::new);
registry.register(AntarchyFabricMisc.HYPNOTIC_GAS.get(), HypnoticGasParticle.Provider::new);
registry.register(AntarchyFabricMisc.HYPNOTIC_GAS_DOWN.get(), sprites -> new HypnoticGasParticle.Provider(sprites, true));
@@ -516,11 +513,6 @@ public final class AntarchyFabricClientBootstrap {
return cage.getItemState(stack);
}
);
ItemProperties.register(
AntarchyFabricItems.FLOPPY_DISK.get(),
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "disk_category"),
(stack, level, entity, seed) -> com.craisinlord.antarchy.content.item.FloppyDiskItem.categoryModelProperty(stack)
);
}
@SuppressWarnings({"unchecked", "rawtypes"})
@@ -1,7 +1,9 @@
package com.craisinlord.antarchy.fabric.client;
import com.craisinlord.antarchy.content.item.BigBerthaItem;
import com.craisinlord.antarchy.content.item.RoyalGuardianSwordItem;
import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload;
import com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.Minecraft;
@@ -22,7 +24,9 @@ public final class BigBerthaClientHandler {
return;
}
if (!(mc.player.getMainHandItem().getItem() instanceof BigBerthaItem)) {
boolean bigBertha = mc.player.getMainHandItem().getItem() instanceof BigBerthaItem;
boolean royalGuardianSword = mc.player.getMainHandItem().getItem() instanceof RoyalGuardianSwordItem;
if (!bigBertha && !royalGuardianSword) {
lastUseDown = false;
return;
}
@@ -31,8 +35,9 @@ public final class BigBerthaClientHandler {
if (useDown
&& !lastUseDown
&& mc.player.isShiftKeyDown()
&& mc.player.getCooldowns().isOnCooldown(mc.player.getMainHandItem().getItem())) {
ClientPlayNetworking.send(new BigBerthaModeCyclePayload());
) {
if (bigBertha) ClientPlayNetworking.send(new BigBerthaModeCyclePayload());
else ClientPlayNetworking.send(new RoyalGuardianSwordModeCyclePayload());
}
lastUseDown = useDown;
}
@@ -36,12 +36,9 @@ public final class AntarchyFabricClientNetworking {
}
public static void register() {
ClientPlayNetworking.registerGlobalReceiver(AntmailResultPayload.TYPE, (payload, context) ->
context.client().execute(() -> com.craisinlord.antarchy.content.client.AntmailClientState.update(payload)));
ClientPlayNetworking.registerGlobalReceiver(ComputerAccessResultPayload.TYPE, (payload, context) ->
context.client().execute(() -> com.craisinlord.antarchy.content.client.ComputerAccessClientState.update(payload)));
com.craisinlord.antarchy.content.network.ComputerNetworking.setSender(ServerPlayNetworking::send);
com.craisinlord.antarchy.content.network.AntmailNetworking.setSender(ServerPlayNetworking::send);
ClientPlayNetworking.registerGlobalReceiver(AntarchyGameResultPayload.TYPE, (payload, context) ->
context.client().execute(() -> com.craisinlord.antarchy.content.client.AntarchyGameClientState.update(payload)));
com.craisinlord.antarchy.content.network.AntarchyGameNetworking.setSender(ClientPlayNetworking::send);
ClientPlayNetworking.registerGlobalReceiver(GravityStatePayload.TYPE, (payload, context) ->
context.client().execute(() -> AntarchyFabricNetworking.handleGravityState(context.player(), payload)));
ClientPlayNetworking.registerGlobalReceiver(BloodglassStatePayload.TYPE, (payload, context) ->
@@ -49,9 +49,7 @@ public final class AntarchyFabricNetworking {
public static void register() {
registerPayloadTypes();
registerServerReceivers();
com.craisinlord.antarchy.content.network.ComputerAccessHandler.setResultSender(ServerPlayNetworking::send);
com.craisinlord.antarchy.content.network.AntmailServerHandler.setResultSender(ServerPlayNetworking::send);
com.craisinlord.antarchy.content.network.ComputerNetworking.setSender(ServerPlayNetworking::send);
com.craisinlord.antarchy.content.network.AntarchyGameNetworkHandler.setResultSender(ServerPlayNetworking::send);
}
public static void bootstrapMultipartCommon() {
@@ -75,8 +73,7 @@ public final class AntarchyFabricNetworking {
}
private static void registerPayloadTypes() {
PayloadTypeRegistry.playS2C().register(ComputerAccessResultPayload.TYPE, ComputerAccessResultPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(AntmailResultPayload.TYPE, AntmailResultPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(AntarchyGameResultPayload.TYPE, AntarchyGameResultPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(GravityStatePayload.TYPE, GravityStatePayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(BloodglassStatePayload.TYPE, BloodglassStatePayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(TigerEyeCamouflageStatePayload.TYPE, TigerEyeCamouflageStatePayload.STREAM_CODEC);
@@ -97,6 +94,8 @@ public final class AntarchyFabricNetworking {
PayloadTypeRegistry.playC2S().register(RoyalMountVerticalPayload.TYPE, RoyalMountVerticalPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(GravityGunScrollPayload.TYPE, GravityGunScrollPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(BigBerthaModeCyclePayload.TYPE, BigBerthaModeCyclePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload.TYPE,
com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(ToggleTigerEyeCamouflagePayload.TYPE, ToggleTigerEyeCamouflagePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(ToggleRoyalInversionPayload.TYPE, ToggleRoyalInversionPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.ActivateRoyalBoundaryPayload.TYPE, com.craisinlord.antarchy.content.network.ActivateRoyalBoundaryPayload.STREAM_CODEC);
@@ -111,36 +110,12 @@ public final class AntarchyFabricNetworking {
PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(ComputerAccessPayload.TYPE, ComputerAccessPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailSetupPayload.TYPE, AntmailSetupPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailStateRequestPayload.TYPE, AntmailStateRequestPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailMessageRequestPayload.TYPE, AntmailMessageRequestPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailSendPayload.TYPE, AntmailSendPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailReadPayload.TYPE, AntmailReadPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailDeletePayload.TYPE, AntmailDeletePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailDraftPayload.TYPE, AntmailDraftPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntmailRetryPayload.TYPE, AntmailRetryPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(AntarchyGamePayload.TYPE, AntarchyGamePayload.STREAM_CODEC);
}
private static void registerServerReceivers() {
ServerPlayNetworking.registerGlobalReceiver(ComputerAccessPayload.TYPE, (payload, context) ->
context.server().execute(() -> ComputerAccessHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailSetupPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailStateRequestPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailMessageRequestPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailSendPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailReadPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailDeletePayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailDraftPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntmailRetryPayload.TYPE, (payload, context) ->
context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(AntarchyGamePayload.TYPE, (payload, context) ->
context.server().execute(() -> AntarchyGameNetworkHandler.handle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(GravityGunPrimaryPayload.TYPE, (payload, context) ->
context.server().execute(() -> handleGravityGunPrimary(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(PortalGunPrimaryPayload.TYPE, (payload, context) ->
@@ -155,6 +130,8 @@ public final class AntarchyFabricNetworking {
context.server().execute(() -> handleGravityGunScroll(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(BigBerthaModeCyclePayload.TYPE, (payload, context) ->
context.server().execute(() -> handleBigBerthaModeCycle(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.RoyalGuardianSwordModeCyclePayload.TYPE,
(payload, context) -> context.server().execute(() -> handleRoyalGuardianSwordModeCycle(context.player())));
ServerPlayNetworking.registerGlobalReceiver(ToggleTigerEyeCamouflagePayload.TYPE, (payload, context) ->
context.server().execute(() -> handleTigerEyeCamouflageToggle(context.player())));
ServerPlayNetworking.registerGlobalReceiver(ToggleRoyalInversionPayload.TYPE, (payload, context) ->
@@ -322,7 +299,14 @@ public final class AntarchyFabricNetworking {
if (!(player.getMainHandItem().getItem() instanceof BigBerthaItem bigBerthaItem)) {
return;
}
bigBerthaItem.tryCycleModeWhileCoolingDown(player.serverLevel(), player, player.getMainHandItem());
bigBerthaItem.tryCycleModeFromInput(player.serverLevel(), player, player.getMainHandItem());
}
private static void handleRoyalGuardianSwordModeCycle(ServerPlayer player) {
if (!(player.getMainHandItem().getItem() instanceof com.craisinlord.antarchy.content.item.RoyalGuardianSwordItem sword)) {
return;
}
sword.tryCycleModeFromInput(player.serverLevel(), player, player.getMainHandItem());
}
private static void handleDiamondMinecartInput(ServerPlayer player, DiamondMinecartInputPayload payload) {
@@ -6,7 +6,6 @@ import com.craisinlord.antarchy.content.AntarchyObjects;
import com.craisinlord.antarchy.content.block.*;
import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity;
import com.craisinlord.antarchy.content.block.entity.CritterCageBlockEntity;
import com.craisinlord.antarchy.content.block.entity.ComputerBlockEntity;
import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity;
import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity;
import com.craisinlord.antarchy.content.block.entity.LucidAnchorBlockEntity;
@@ -1066,6 +1065,11 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<AntNestBlock> TERMITE_NEST = BLOCKS.register("termite_nest",
() -> new AntNestBlock(AntarchyFabricEntities.TERMITE, AntarchyFabricBlocks::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable()));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.AntTrapBlock> ANT_TRAP = BLOCKS.register("ant_trap",
() -> new com.craisinlord.antarchy.content.block.AntTrapBlock(
() -> java.util.List.of(AntarchyFabricEntities.RED_ANT.get(), AntarchyFabricEntities.BROWN_ANT.get(), AntarchyFabricEntities.RAINBOW_ANT.get(), AntarchyFabricEntities.TERMITE.get()),
AntarchyFabricBlocks::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_PRESSURE_PLATE).noOcclusion()));
public static final DeferredBlock<Block> URANIUM_ORE = BLOCKS.register("uranium_ore",
() -> createOre(Blocks.EMERALD_ORE, 4, 8, MapColor.COLOR_YELLOW));
@@ -1212,8 +1216,6 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<UpperBlock> UPPER = BLOCKS.register("upper",
() -> new UpperBlock(AntarchyFabricBlocks::upperBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.HOPPER)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.ComputerBlock> COMPUTER = BLOCKS.register("computer",
() -> new com.craisinlord.antarchy.content.block.ComputerBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK).noOcclusion()));
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.ofFullCopy(Blocks.RAIL)));
@@ -1456,7 +1458,8 @@ public final class AntarchyFabricBlocks {
RED_ANT_NEST.get(),
BROWN_ANT_NEST.get(),
RAINBOW_ANT_NEST.get(),
TERMITE_NEST.get()
TERMITE_NEST.get(),
ANT_TRAP.get()
).build(null));
@@ -1531,11 +1534,6 @@ public final class AntarchyFabricBlocks {
(pos, state) -> new DimensionalTearMarkerBlockEntity(pos, state, AntarchyFabricBlocks::dimensionalTearMarkerBlockEntityType),
DIMENSIONAL_TEAR_MARKER.get()
).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<ComputerBlockEntity>> COMPUTER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("computer",
() -> BlockEntityType.Builder.of(
(pos, state) -> new ComputerBlockEntity(pos, state, AntarchyFabricBlocks::computerBlockEntityType),
COMPUTER.get()
).build(null));
public static final DeferredHolder<BlockEntityType<?>, BlockEntityType<QueenTrailSpawnMarkerBlockEntity>> QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("queen_trail_spawn_marker",
() -> BlockEntityType.Builder.of(
(pos, state) -> new QueenTrailSpawnMarkerBlockEntity(pos, state, AntarchyFabricBlocks::queenTrailSpawnMarkerBlockEntityType),
@@ -1576,10 +1574,6 @@ public final class AntarchyFabricBlocks {
return UPPER_BLOCK_ENTITY.get();
}
private static BlockEntityType<ComputerBlockEntity> computerBlockEntityType() {
return COMPUTER_BLOCK_ENTITY.get();
}
private static BlockEntityType<VortexLensBlockEntity> vortexLensBlockEntityType() {
return VORTEX_LENS_BLOCK_ENTITY.get();
}
@@ -86,7 +86,6 @@ public final class AntarchyFabricItems {
public static final DeferredItem<Item> NIGHTMARE_SCALE = ITEMS.registerSimpleItem("nightmare_scale", new Item.Properties().rarity(Rarity.RARE).fireResistant());
public static final DeferredItem<Item> FLOPPY_DISK = ITEMS.register("floppy_disk", () -> new com.craisinlord.antarchy.content.item.FloppyDiskItem(new Item.Properties()));
public static final DeferredItem<Item> MUSIC_DISC_UNDERSIDE = ITEMS.registerSimpleItem("music_disc_underside",
new Item.Properties().stacksTo(1).rarity(Rarity.RARE)
@@ -100,8 +99,6 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> DUPLICATOR_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DUPLICATOR_LOG);
public static final DeferredItem<ComputerItem> COMPUTER_ITEM = ITEMS.register("computer",
() -> new ComputerItem(AntarchyFabricBlocks.COMPUTER.get(), new Item.Properties()));
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.OURANWOOD_LOG);
@@ -509,6 +506,11 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> RAINBOW_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.RAINBOW_ANT_NEST);
public static final DeferredItem<net.minecraft.world.item.BlockItem> TERMITE_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.TERMITE_NEST);
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANT_TRAP_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.ANT_TRAP);
public static final DeferredItem<Item> BUG_SPRAY = ITEMS.register("bug_spray",
() -> new com.craisinlord.antarchy.content.item.BugSprayItem(new Item.Properties().stacksTo(16)));
public static final DeferredItem<net.minecraft.world.item.BlockItem> URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.URANIUM_ORE, new Item.Properties().rarity(Rarity.UNCOMMON));
@@ -135,7 +135,7 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<PoiType, PoiType> COMPUTER_POI = POI_TYPES.register("computer",
() -> new PoiType(
java.util.Set.copyOf(AntarchyFabricBlocks.COMPUTER.get().getStateDefinition().getPossibleStates()),
java.util.Set.copyOf(net.minecraft.world.level.block.Block.byItem(com.craisinlord.antos.content.AntOSObjects.COMPUTER_ITEM.get()).getStateDefinition().getPossibleStates()),
1,
1));
@@ -148,6 +148,13 @@ public final class AntarchyFabricMisc {
com.google.common.collect.ImmutableSet.of(),
SoundEvents.VILLAGER_WORK_LIBRARIAN));
public static final DeferredHolder<PoiType, PoiType> PEST_CONTROL_POI = POI_TYPES.register("pest_control",
() -> new PoiType(java.util.Set.copyOf(AntarchyFabricBlocks.ANT_TRAP.get().getStateDefinition().getPossibleStates()), 1, 1));
public static final DeferredHolder<VillagerProfession, VillagerProfession> PEST_CONTROL = VILLAGER_PROFESSIONS.register("pest_control",
() -> new VillagerProfession("pest_control", holder -> holder.value() == PEST_CONTROL_POI.get(),
holder -> holder.value() == PEST_CONTROL_POI.get(), com.google.common.collect.ImmutableSet.of(), com.google.common.collect.ImmutableSet.of(), SoundEvents.VILLAGER_WORK_FLETCHER));
public static final DeferredRegister<ArmorMaterial> ARMOR_MATERIALS = DeferredRegister.create(Registries.ARMOR_MATERIAL, Antarchy.MODID);
@@ -212,13 +219,6 @@ public final class AntarchyFabricMisc {
.networkSynchronized(com.craisinlord.antarchy.content.entity.glimmer.GlimmerVariant.STREAM_CODEC)
.build());
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<net.minecraft.resources.ResourceLocation>> FLOPPY_DISK_COMPONENT =
DATA_COMPONENT_TYPES.register("floppy_disk",
() -> net.minecraft.core.component.DataComponentType.<net.minecraft.resources.ResourceLocation>builder()
.persistent(net.minecraft.resources.ResourceLocation.CODEC)
.networkSynchronized(net.minecraft.resources.ResourceLocation.STREAM_CODEC)
.build());
public static final DeferredHolder<net.minecraft.core.component.DataComponentType<?>, net.minecraft.core.component.DataComponentType<net.minecraft.util.Unit>> AMERICAN =
DATA_COMPONENT_TYPES.register("american",
@@ -358,6 +358,8 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame",
() -> simpleParticleType());
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> BUG_SPRAY_PARTICLE = PARTICLE_TYPES.register("bug_spray",
() -> simpleParticleType());
public static final DeferredHolder<ParticleType<?>, SimpleParticleType> NIGHTMARE_FIRE_FLAME = PARTICLE_TYPES.register("nightmare_fire_flame",
() -> simpleParticleType());
@@ -305,6 +305,14 @@ public final class AntarchyFabricSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> MANTIS_FLY_LOOP = registerSoundEvent("mantis_fly_loop");
public static final DeferredHolder<SoundEvent, SoundEvent> MANTICORE_IDLE = registerSoundEvent("manticore_idle");
public static final DeferredHolder<SoundEvent, SoundEvent> MANTICORE_WALK = registerSoundEvent("manticore_walk");
public static final DeferredHolder<SoundEvent, SoundEvent> MANTICORE_FLY = registerSoundEvent("manticore_fly");
public static final DeferredHolder<SoundEvent, SoundEvent> MANTICORE_BITE = registerSoundEvent("manticore_bite");
public static final DeferredHolder<SoundEvent, SoundEvent> GRAVITY_GUN_PICKUP = registerSoundEvent("gravity_gun_pickup");
@@ -576,6 +584,9 @@ public final class AntarchyFabricSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> PRINCESS_SHOOT = registerSoundEvent("princess_shoot");
public static final DeferredHolder<SoundEvent, SoundEvent> PRINCESS_FLY = registerSoundEvent("princess_fly");
public static final DeferredHolder<SoundEvent, SoundEvent> PRINCESS_STEP = registerSoundEvent("princess_step");
public static final DeferredHolder<SoundEvent, SoundEvent> HOVERBOARD_MOUNT = registerSoundEvent("hoverboard_mount");
public static final DeferredHolder<SoundEvent, SoundEvent> HOVERBOARD_DISMOUNT = registerSoundEvent("hoverboard_dismount");
public static final DeferredHolder<SoundEvent, SoundEvent> HOVERBOARD_IDLE = registerSoundEvent("hoverboard_idle");
@@ -35,6 +35,7 @@
"minecraft": "~${minecraft_version}",
"java": ">=21",
"fabric-api": "*",
"antos": "*",
"integrated_api": "*",
"geckolib": "*",
"sizeable_foliage": "*"