fixed game dev not working

various fabric issues
added archives to loot tables
This commit is contained in:
craisinlord committed 2026-09-19 01:01:13 -05:00
1 parent f5b589b6ba
commit c6b47b496a
102 files changed
+926 -139

No files matched your search

@@ -147,6 +147,7 @@ public final class AntarchyFabric implements ModInitializer {
);
@Override
public void onInitialize() {
com.craisinlord.antos.fabric.AntOSFabricContent.register();
AntarchyGameRules.bootstrap((name, category, defaultValue) ->
GameRuleRegistry.register(name, category, GameRuleFactory.createBooleanRule(defaultValue))
);
@@ -562,6 +562,8 @@ public final class AntarchyFabricContent {
com.craisinlord.antarchy.content.time.TimeDilationApi.setFieldSyncDispatcher(
com.craisinlord.antarchy.fabric.network.AntarchyFabricTimeDilationNetworking::syncFields
);
AntarchyFabricMisc.POI_TYPES.register();
AntarchyFabricMisc.VILLAGER_PROFESSIONS.register();
AntarchyFabricEvents.register();
if (isSupportedInfinityLoaded()) {
@@ -0,0 +1,72 @@
package com.craisinlord.antarchy.fabric.mixin;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricMisc;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.BucketItem;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.Fluid;
import net.minecraft.world.level.material.Fluids;
import net.minecraft.world.phys.BlockHitResult;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BucketItem.class)
public abstract class ThoraxisWaterBucketMixin {
private static final ResourceLocation THORAXIS_DIMENSION_ID =
ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "thoraxis");
@Shadow
@Final
public Fluid content;
@Shadow
protected abstract void playEmptySound(@Nullable Player player, LevelAccessor level, BlockPos pos);
@Inject(method = "emptyContents", at = @At("HEAD"), cancellable = true)
private void antarchy$replaceWaterWithAntiwaterInThoraxis(
@Nullable Player player,
Level level,
BlockPos pos,
@Nullable BlockHitResult hitResult,
CallbackInfoReturnable<Boolean> cir
) {
if (this.content != Fluids.WATER || !level.dimension().location().equals(THORAXIS_DIMENSION_ID)) {
return;
}
BlockState state = level.getBlockState(pos);
boolean canReplace = state.canBeReplaced(this.content);
if (!state.isAir() && !canReplace && !state.getFluidState().isSource()) {
cir.setReturnValue(false);
return;
}
if (!level.isClientSide && canReplace && !state.liquid()) {
level.destroyBlock(pos, true);
}
boolean placed = level.setBlock(
pos,
AntarchyFabricMisc.ANTIWATER.get().defaultFluidState().createLegacyBlock(),
11
);
if (placed || state.getFluidState().isSource()) {
this.playEmptySound(player, level, pos);
cir.setReturnValue(true);
return;
}
cir.setReturnValue(false);
}
}
@@ -0,0 +1,22 @@
package com.craisinlord.antarchy.fabric.mixin.entity;
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricMisc;
import net.minecraft.world.entity.Mob;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(Mob.class)
public abstract class ParalyzedMobFreezeMixin {
@Inject(method = "serverAiStep", at = @At("HEAD"))
private void antarchy$freezeAiWhileParalyzed(CallbackInfo ci) {
Mob mob = (Mob) (Object) this;
if (!mob.hasEffect(AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.PARALYZED))) {
return;
}
mob.getNavigation().stop();
mob.setJumping(false);
}
}
@@ -135,10 +135,15 @@ public final class AntarchyFabricMisc {
public static final DeferredHolder<PoiType, PoiType> COMPUTER_POI = POI_TYPES.register("computer",
() -> new PoiType(
java.util.Set.copyOf(net.minecraft.world.level.block.Block.byItem(com.craisinlord.antos.content.AntOSObjects.COMPUTER_ITEM.get()).getStateDefinition().getPossibleStates()),
java.util.Set.copyOf(computerPoiStates()),
1,
1));
private static java.util.Set<net.minecraft.world.level.block.state.BlockState> computerPoiStates() {
net.minecraft.world.level.block.Block block = com.craisinlord.antos.fabric.AntOSFabricContent.COMPUTER;
return java.util.Set.copyOf(block.getStateDefinition().getPossibleStates());
}
public static final DeferredHolder<VillagerProfession, VillagerProfession> COMPUTER_SCIENTIST = VILLAGER_PROFESSIONS.register("computer_scientist",
() -> new VillagerProfession(
"computer_scientist",
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.fabric.registry;
import java.util.function.Supplier;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
@@ -31,11 +31,11 @@
"antarchy-fabric.mixins.json"
],
"depends": {
"antos": "*",
"fabricloader": ">=${fabric_loader_version}",
"minecraft": "~${minecraft_version}",
"java": ">=21",
"fabric-api": "*",
"antos": "*",
"integrated_api": "*",
"geckolib": "*",
"sizeable_foliage": "*"