1.20 progres

king and queen balancing
Antmail
Blockle
This commit is contained in:
craisinlord committed 2026-09-15 19:10:28 -05:00
1 parent c1d60d735d
commit fc5028a15b
430 files changed
+30569 -1684

No files matched your search

@@ -4,6 +4,7 @@ import com.craisinlord.antarchy.fabric.registry.AntarchyFabricEntities;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.content.AntarchyGameRules;
import com.craisinlord.antarchy.content.entity.trades.DrTrayaurusTradeManager;
import com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager;
import com.craisinlord.antarchy.content.item.BloodCrystalShardItem;
import com.craisinlord.antarchy.fabric.network.AntarchyFabricNetworking;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
@@ -154,7 +155,6 @@ public final class AntarchyFabric implements ModInitializer {
AntarchyConfigModuleFabric.init();
AntarchyFabricContent.register();
registerWorldgenFeatures();
AntarchyFabricEvents.register();
BloodglassManager.register();
TigerEyeFabricManager.register();
Antarchy.init();
@@ -174,6 +174,20 @@ public final class AntarchyFabric implements ModInitializer {
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);
}
});
}
private static void registerTradeReloadListener() {
@@ -191,6 +205,20 @@ public final class AntarchyFabric implements ModInitializer {
return delegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
ComputerScientistTradeManager computerScientistDelegate = new ComputerScientistTradeManager();
ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer_scientist_trades");
}
@Override
public CompletableFuture<Void> reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager,
ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler,
Executor prepareExecutor, Executor applyExecutor) {
return computerScientistDelegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor);
}
});
}
private static final TagKey<net.minecraft.world.level.biome.Biome> CAVARYN_BIOMES = TagKey.create(
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.fabric;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricBlocks;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricItems;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricMisc;
import com.craisinlord.antarchy.content.entity.ReverieEntity;
import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity;
@@ -28,6 +29,7 @@ import com.craisinlord.antarchy.content.time.TimeDilationManager;
import com.craisinlord.antarchy.content.time.ChronosphereManager;
import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager;
import com.craisinlord.antarchy.content.item.WormHookTetherManager;
import com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager;
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents;
@@ -187,6 +189,8 @@ 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);
@@ -208,6 +212,15 @@ public final class AntarchyFabricEvents {
}
private static void registerTrades() {
int[] computerScientistSlots = ComputerScientistTradeManager.slotsPerLevel();
for (int level = 1; level <= computerScientistSlots.length; level++) {
final int tradeLevel = level;
for (int index = 0; index < computerScientistSlots[level - 1]; index++) {
final int tradeIndex = index;
TradeOfferHelper.registerVillagerOffers(AntarchyFabricMisc.COMPUTER_SCIENTIST.get(), tradeLevel,
factories -> factories.add(ComputerScientistTradeManager.listing(tradeLevel, tradeIndex)));
}
}
TradeOfferHelper.registerVillagerOffers(VillagerProfession.FARMER, 1, factories ->
factories.add((trader, random) -> new MerchantOffer(
new ItemCost(AntarchyFabricItems.CORN.get(), 20),
@@ -515,6 +515,11 @@ 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"})
@@ -112,8 +112,12 @@ public final class AntarchyFabricNetworking {
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);
}
private static void registerServerReceivers() {
@@ -123,10 +127,18 @@ public final class AntarchyFabricNetworking {
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(GravityGunPrimaryPayload.TYPE, (payload, context) ->
context.server().execute(() -> handleGravityGunPrimary(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(PortalGunPrimaryPayload.TYPE, (payload, context) ->
@@ -110,6 +110,8 @@ import net.minecraft.world.effect.MobEffects;
import net.minecraft.tags.TagKey;
import net.minecraft.world.damagesource.DamageType;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.village.poi.PoiType;
import net.minecraft.world.entity.npc.VillagerProfession;
import net.minecraft.world.item.ArmorItem;
import net.minecraft.world.item.ArmorMaterial;
import net.minecraft.world.item.Items;
@@ -127,6 +129,25 @@ import com.craisinlord.antarchy.fabric.AntarchyFabricContent;
public final class AntarchyFabricMisc {
public static final DeferredRegister<PoiType> POI_TYPES = DeferredRegister.create(Registries.POINT_OF_INTEREST_TYPE, Antarchy.MODID);
public static final DeferredRegister<VillagerProfession> VILLAGER_PROFESSIONS = DeferredRegister.create(Registries.VILLAGER_PROFESSION, Antarchy.MODID);
public static final DeferredHolder<PoiType, PoiType> COMPUTER_POI = POI_TYPES.register("computer",
() -> new PoiType(
java.util.Set.copyOf(AntarchyFabricBlocks.COMPUTER.get().getStateDefinition().getPossibleStates()),
1,
1));
public static final DeferredHolder<VillagerProfession, VillagerProfession> COMPUTER_SCIENTIST = VILLAGER_PROFESSIONS.register("computer_scientist",
() -> new VillagerProfession(
"computer_scientist",
holder -> holder.value() == COMPUTER_POI.get(),
holder -> holder.value() == COMPUTER_POI.get(),
com.google.common.collect.ImmutableSet.of(),
com.google.common.collect.ImmutableSet.of(),
SoundEvents.VILLAGER_WORK_LIBRARIAN));
public static final DeferredRegister<ArmorMaterial> ARMOR_MATERIALS = DeferredRegister.create(Registries.ARMOR_MATERIAL, Antarchy.MODID);
@@ -1049,6 +1070,8 @@ public final class AntarchyFabricMisc {
public static void register() {
POI_TYPES.register();
VILLAGER_PROFESSIONS.register();
ARMOR_MATERIALS.register();
FLUIDS.register();
ATTRIBUTES.register();