fixed game dev not working
various fabric issues added archives to loot tables
This commit is contained in:
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()) {
|
||||
|
||||
+72
@@ -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);
|
||||
}
|
||||
}
|
||||
+22
@@ -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);
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -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
@@ -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": "*"
|
||||
|
||||
Reference in new issue
Block a user