First pass computer prototype

This commit is contained in:
craisinlord committed 2026-09-13 12:57:36 -05:00
1 parent 8b86021a04
commit c27e68c16a
46 files changed
+1242 -11

No files matched your search

@@ -160,6 +160,20 @@ 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);
}
});
}
private static void registerTradeReloadListener() {
@@ -400,6 +400,10 @@ 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());
@@ -1,6 +1,8 @@
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.fabric.network.AntarchyFabricClientNetworking;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
@@ -10,6 +12,7 @@ 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;
@@ -20,6 +23,21 @@ public final class AntarchyFabricClient implements ClientModInitializer {
AntarchyFabricClientNetworking.register();
AntarchyFabricClientNetworking.bootstrapMultipartClient();
AntarchyFabricClientBootstrap.register();
AntarchyClientHooks.setComputerOpener(pos -> Minecraft.getInstance().setScreen(new ComputerScreen(pos)));
ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer_guide_client");
}
@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.CLIENT_RESOURCES).registerReloadListener(new IdentifiableResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
@@ -35,4 +53,3 @@ public final class AntarchyFabricClient implements ClientModInitializer {
});
}
}
@@ -102,6 +102,10 @@ 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)));
@@ -6,6 +6,7 @@ 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;
@@ -1211,6 +1212,8 @@ 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)));
@@ -1528,6 +1531,11 @@ 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),
@@ -1568,6 +1576,10 @@ 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,6 +86,7 @@ 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)
@@ -99,6 +100,7 @@ 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<net.minecraft.world.item.BlockItem> COMPUTER_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.COMPUTER);
public static final DeferredItem<net.minecraft.world.item.BlockItem> OURANWOOD_LOG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.OURANWOOD_LOG);
@@ -191,6 +191,13 @@ 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",