portal guns??????????

This commit is contained in:
craisinlord committed 2026-08-19 21:25:06 -05:00
1 parent a9648fb637
commit 5596a9187d
336 files changed
+8278 -64

No files matched your search

@@ -13,6 +13,7 @@ import com.craisinlord.antarchy.content.entity.lucid.LucidEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
import com.craisinlord.antarchy.content.item.ScorpionWhipTetherSync;
import com.craisinlord.antarchy.content.item.WormHookTetherSync;
import com.craisinlord.antarchy.content.network.ImpactShakeSync;
import com.craisinlord.antarchy.content.network.HerculesBeetleImpactShakeSync;
import com.craisinlord.antarchy.content.network.HordeIntensitySync;
@@ -340,6 +341,8 @@ public final class AntarchyFabricContent {
AntarchyObjects.setCritterCageBlockEntity(() -> AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get());
AntarchyObjects.setLucidAnchorBlockEntity(() -> AntarchyFabricBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get());
AntarchyObjects.setCritterCageProjectile(() -> AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get());
AntarchyObjects.setWormHookProjectile(() -> AntarchyFabricEntities.WORM_HOOK_PROJECTILE.get());
AntarchyObjects.setWormHook(() -> AntarchyFabricItems.WORM_HOOK.get());
AntarchyObjects.setCritterCageEntityTypeComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_ENTITY_TYPE_COMPONENT.get());
AntarchyObjects.setCritterCagePrimaryColorComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_PRIMARY_COLOR_COMPONENT.get());
AntarchyObjects.setCritterCageSecondaryColorComponent(() -> AntarchyFabricMisc.CRITTER_CAGE_SECONDARY_COLOR_COMPONENT.get());
@@ -453,6 +456,7 @@ public final class AntarchyFabricContent {
LucidEyeProjectileEntity.invertedEffectSupplier = () -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.INVERTED);
ScorpionWhipTetherSync.setSink(AntarchyFabricNetworking::syncScorpionWhipTether);
WormHookTetherSync.setSink(AntarchyFabricNetworking::syncWormHookTether);
HerculesBeetleImpactShakeSync.setSink((player, ticks) -> net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.send(player, new com.craisinlord.antarchy.content.network.HerculesBeetleImpactShakePayload(ticks)));
ImpactShakeSync.setSink((player, payload) -> net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.send(player, payload));
HordeIntensitySync.setSink((player, payload) -> net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.send(player, payload));
@@ -21,6 +21,7 @@ import com.craisinlord.antarchy.content.command.CavarynCommand;
import com.craisinlord.antarchy.content.command.CaterpillarCommand;
import com.craisinlord.antarchy.content.command.GravityCommand;
import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager;
import com.craisinlord.antarchy.content.item.WormHookTetherManager;
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;
@@ -138,6 +139,12 @@ public final class AntarchyFabricEvents {
}
return InteractionResult.PASS;
});
net.fabricmc.fabric.api.event.player.AttackBlockCallback.EVENT.register((player, world, hand, pos, direction) -> {
if (player.getMainHandItem().getItem() instanceof com.craisinlord.antarchy.content.item.PortalGunItem) {
return InteractionResult.FAIL;
}
return InteractionResult.PASS;
});
PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> {
if (!world.isClientSide && player instanceof ServerPlayer serverPlayer) {
CavarynHordeManager.recordBlockBreak(serverPlayer, state, pos);
@@ -156,6 +163,9 @@ public final class AntarchyFabricEvents {
tickBloodglassRecharge(level);
AttitudeAdjusterSlamManager.tick(level);
MinersDreamExcavationManager.tick(level);
for (ServerPlayer player : level.players()) {
WormHookTetherManager.tick(player);
}
}
invertedPlayers.retainAll(activeThisTick);
});
@@ -99,6 +99,7 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.BROWN_ANT.get(), AntRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.RAINBOW_ANT.get(), AntRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.MOLEWORM.get(), MolewormRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.WORM.get(), WormRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.MANTIS.get(), MantisRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.ALPHA_MANTIS.get(), AlphaMantisRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.MOLEVORE.get(), MolevoreRenderer::new);
@@ -124,6 +125,8 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE.get(), NightmareRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_PORTAL.get(), NightmarePortalRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.DIMENSIONAL_TEAR.get(), DimensionalTearRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.PORTAL_GUN_PORTAL.get(), PortalGunPortalRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.PORTAL_GUN_BLACK_HOLE.get(), com.craisinlord.antarchy.content.client.renderer.PortalGunBlackHoleRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.NIGHTMARE_BITE.get(), NightmareBiteRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BED_BUG.get(), BedBugRenderer::new);
@@ -135,6 +138,7 @@ public final class AntarchyFabricClientBootstrap {
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID_BOLT.get(), LucidBoltRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.CRITTER_CAGE_PROJECTILE.get(), ThrownItemRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.WORM_HOOK_PROJECTILE.get(), ThrownItemRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.HUSH_PROJECTILE.get(), HushProjectileRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new);
EntityRendererRegistry.register(AntarchyFabricEntities.UPWARD_FALLING_BLOCK.get(), UpwardFallingBlockRenderer::new);
@@ -494,6 +498,7 @@ public final class AntarchyFabricClientBootstrap {
TigerEyeCamouflageClientHandler.tick();
BloodCrystalKatanaTrailHandler.tick();
ScorpionWhipTetherRenderHandler.tick();
WormHookTetherRenderHandler.tick();
DorrieJumpClientHandler.tick();
HerculesBeetleClientHandler.tick();
SizeRaySoundHandler.tick(client);
@@ -501,6 +506,7 @@ public final class AntarchyFabricClientBootstrap {
BigBerthaClientHandler.register();
GravityGunClientHandler.register();
PortalGunClientHandler.register();
ElythiaFireflyManager.register();
LucidSoundHandler.register();
@@ -523,6 +529,7 @@ public final class AntarchyFabricClientBootstrap {
WorldRenderEvents.AFTER_TRANSLUCENT.register(context -> {
BloodCrystalKatanaTrailHandler.render(context);
ScorpionWhipTetherRenderHandler.render(context);
WormHookTetherRenderHandler.render(context);
});
}
@@ -0,0 +1,36 @@
package com.craisinlord.antarchy.fabric.client;
import com.craisinlord.antarchy.content.item.PortalGunItem;
import com.craisinlord.antarchy.content.network.PortalGunPrimaryPayload;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.Minecraft;
public final class PortalGunClientHandler {
private static boolean lastAttackDown;
private PortalGunClientHandler() {
}
public static void register() {
ClientTickEvents.END_CLIENT_TICK.register(PortalGunClientHandler::tickMouse);
}
private static void tickMouse(Minecraft mc) {
if (mc.player == null || mc.level == null || mc.screen != null) {
lastAttackDown = false;
return;
}
if (!(mc.player.getMainHandItem().getItem() instanceof PortalGunItem)) {
lastAttackDown = false;
return;
}
boolean attackDown = mc.options.keyAttack.isDown();
if (attackDown && !lastAttackDown) {
ClientPlayNetworking.send(new PortalGunPrimaryPayload());
}
lastAttackDown = attackDown;
}
}
@@ -0,0 +1,169 @@
package com.craisinlord.antarchy.fabric.client;
import com.craisinlord.antarchy.content.client.WormHookTetherClientState;
import com.craisinlord.antarchy.content.item.WormHookItem;
import com.craisinlord.antarchy.content.util.WormHookRope;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.BufferBuilder;
import com.mojang.blaze3d.vertex.BufferUploader;
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
import com.mojang.blaze3d.vertex.MeshData;
import com.mojang.blaze3d.vertex.Tesselator;
import com.mojang.blaze3d.vertex.VertexFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.HumanoidArm;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.phys.Vec3;
import org.joml.Matrix4f;
public final class WormHookTetherRenderHandler {
private static final Map<Integer, WormHookRope> ROPES = new HashMap<>();
private WormHookTetherRenderHandler() {
}
public static void tick() {
Minecraft minecraft = Minecraft.getInstance();
if (minecraft.level == null) {
WormHookTetherClientState.clear();
ROPES.clear();
return;
}
Map<Integer, Integer> tethers = WormHookTetherClientState.snapshot();
ROPES.keySet().removeIf(playerId -> !tethers.containsKey(playerId));
for (Map.Entry<Integer, Integer> entry : tethers.entrySet()) {
Entity source = minecraft.level.getEntity(entry.getKey());
Entity hook = minecraft.level.getEntity(entry.getValue());
if (!(source instanceof Player player) || hook == null || hook.isRemoved()) {
continue;
}
Vec3 anchor = hook.position();
Vec3 playerEye = player.getEyePosition();
WormHookRope rope = ROPES.computeIfAbsent(entry.getKey(), id -> new WormHookRope(anchor, playerEye));
rope.update(hook, anchor, playerEye, anchor.distanceTo(playerEye) + 32.0D);
}
}
public static void render(WorldRenderContext context) {
if (context.world() == null || context.matrixStack() == null) {
return;
}
Minecraft minecraft = Minecraft.getInstance();
if (minecraft.level == null) {
return;
}
Map<Integer, Integer> tethers = WormHookTetherClientState.snapshot();
if (tethers.isEmpty()) {
return;
}
Camera camera = context.camera();
Vec3 cameraPos = camera.getPosition();
Matrix4f pose = context.matrixStack().last().pose();
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.depthMask(false);
RenderSystem.disableCull();
RenderSystem.setShader(GameRenderer::getPositionColorShader);
BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);
for (Map.Entry<Integer, Integer> entry : tethers.entrySet()) {
Entity source = minecraft.level.getEntity(entry.getKey());
Entity hook = minecraft.level.getEntity(entry.getValue());
if (!(source instanceof Player player) || hook == null || hook.isRemoved()) {
continue;
}
WormHookRope rope = ROPES.get(entry.getKey());
List<Vec3> points = rope != null ? rope.points() : List.of(hook.position(), player.getEyePosition());
Vec3 handPos = tetherStart(player, context.tickCounter().getGameTimeDeltaPartialTick(false));
for (int i = points.size() - 1; i > 0; i--) {
Vec3 start = i == points.size() - 1 ? handPos : points.get(i);
Vec3 end = points.get(i - 1);
buildTether(buffer, pose, start, end, cameraPos);
}
}
MeshData mesh = buffer.build();
if (mesh != null) {
BufferUploader.drawWithShader(mesh);
}
RenderSystem.enableCull();
RenderSystem.depthMask(true);
RenderSystem.disableBlend();
}
private static Vec3 tetherStart(Player player, float partialTick) {
Vec3 start = player.getEyePosition(partialTick).add(0.0D, -0.45D, 0.0D);
boolean mainHandHook = player.getMainHandItem().getItem() instanceof WormHookItem;
boolean offHandHook = player.getOffhandItem().getItem() instanceof WormHookItem;
if (!mainHandHook && !offHandHook) {
return start;
}
boolean useMainHand = mainHandHook || !offHandHook;
HumanoidArm arm = useMainHand ? player.getMainArm() : player.getMainArm().getOpposite();
float bodyYaw = Mth.rotLerp(partialTick, player.yBodyRotO, player.yBodyRot);
double radians = Math.toRadians(bodyYaw + 90.0F);
double side = arm == HumanoidArm.RIGHT ? -0.28D : 0.28D;
return start.add(Math.cos(radians) * side, -0.12D, Math.sin(radians) * side);
}
private static void buildTether(BufferBuilder buffer, Matrix4f pose, Vec3 start, Vec3 end, Vec3 cameraPos) {
Vec3 delta = end.subtract(start);
double length = delta.length();
if (length < 0.001D) {
return;
}
Vec3 forward = delta.scale(1.0D / length);
Vec3 right = forward.cross(new Vec3(0.0D, 1.0D, 0.0D));
if (right.lengthSqr() < 1.0E-6D) {
right = forward.cross(new Vec3(1.0D, 0.0D, 0.0D));
}
right = right.normalize();
int segments = Math.max(4, Mth.ceil(length * 8.0D));
for (int i = 0; i < segments; i++) {
double t0 = (double) i / (double) segments;
double t1 = (double) (i + 1) / (double) segments;
Vec3 p0 = ropePoint(start, delta, t0, length);
Vec3 p1 = ropePoint(start, delta, t1, length);
float width = 0.04F;
Vec3 offset = right.scale(width);
Vec3 a = p0.subtract(cameraPos);
Vec3 b = p1.subtract(cameraPos);
float shade = i % 2 == 0 ? 0.85F : 0.65F;
float red = 0.42F * shade;
float green = 0.36F * shade;
float blue = 0.24F * shade;
buffer.addVertex(pose, (float) (a.x + offset.x), (float) (a.y + offset.y), (float) (a.z + offset.z)).setColor(red, green, blue, 1.0F);
buffer.addVertex(pose, (float) (a.x - offset.x), (float) (a.y - offset.y), (float) (a.z - offset.z)).setColor(red, green, blue, 1.0F);
buffer.addVertex(pose, (float) (b.x - offset.x), (float) (b.y - offset.y), (float) (b.z - offset.z)).setColor(red, green, blue, 1.0F);
buffer.addVertex(pose, (float) (b.x + offset.x), (float) (b.y + offset.y), (float) (b.z + offset.z)).setColor(red, green, blue, 1.0F);
}
}
private static Vec3 ropePoint(Vec3 start, Vec3 delta, double t, double length) {
double sag = Math.sin(t * Math.PI) * Math.min(0.2D, length * 0.03D);
return start.add(delta.scale(t)).add(0.0D, -sag, 0.0D);
}
}
@@ -1,6 +1,7 @@
package com.craisinlord.antarchy.fabric.mixin.client;
import com.craisinlord.antarchy.content.item.GravityGunItem;
import com.craisinlord.antarchy.content.item.PortalGunItem;
import com.craisinlord.antarchy.content.item.RpoLauncherItem;
import com.craisinlord.antarchy.content.item.SizeRayItem;
import com.craisinlord.antarchy.content.item.SquidzookaItem;
@@ -26,7 +27,7 @@ public class CrossbowArmPoseMixin {
ItemStack stack = player.getItemInHand(hand);
Item item = stack.getItem();
if (item instanceof GravityGunItem || item instanceof SquidzookaItem || item instanceof RpoLauncherItem || item instanceof WaterCannonItem) {
if (item instanceof GravityGunItem || item instanceof PortalGunItem || item instanceof SquidzookaItem || item instanceof RpoLauncherItem || item instanceof WaterCannonItem) {
cir.setReturnValue(HumanoidModel.ArmPose.CROSSBOW_HOLD);
} else if (item instanceof SizeRayItem) {
if (player.isUsingItem() && player.getUsedItemHand() == hand) {
@@ -4,6 +4,7 @@ import com.craisinlord.antarchy.content.client.BloodglassClientState;
import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState;
import com.craisinlord.antarchy.content.client.HordeClientState;
import com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState;
import com.craisinlord.antarchy.content.client.WormHookTetherClientState;
import com.craisinlord.antarchy.content.client.TigerEyeCamouflageClientState;
import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState;
import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework;
@@ -47,6 +48,8 @@ public final class AntarchyFabricClientNetworking {
context.client().execute(() -> BloodCrystalKatanaTrailClientState.trigger(payload.entityId(), payload.durationTicks())));
ClientPlayNetworking.registerGlobalReceiver(ScorpionWhipTetherPayload.TYPE, (payload, context) ->
context.client().execute(() -> ScorpionWhipTetherClientState.update(payload.playerId(), payload.targetId())));
ClientPlayNetworking.registerGlobalReceiver(WormHookTetherPayload.TYPE, (payload, context) ->
context.client().execute(() -> WormHookTetherClientState.update(payload.playerId(), payload.hookId())));
ClientPlayNetworking.registerGlobalReceiver(BrutalflyElytraAnimationPayload.TYPE, (payload, context) ->
context.client().execute(() -> BrutalflyElytraClientState.trigger(payload.entityId(), payload.durationTicks(), payload.strength())));
ClientPlayNetworking.registerGlobalReceiver(ThoraxisWeatherPayload.TYPE, (payload, context) ->
@@ -17,6 +17,7 @@ import com.craisinlord.antarchy.content.item.JumpyBootsHelper;
import com.craisinlord.antarchy.fabric.util.JumpyBootsFabricHelper;
import com.craisinlord.antarchy.content.item.JumpyBootsItem;
import com.craisinlord.antarchy.content.item.GravityGunItem;
import com.craisinlord.antarchy.content.item.PortalGunItem;
import com.craisinlord.antarchy.content.item.TigerEyeArmorUtil;
import com.craisinlord.antarchy.content.network.*;
import com.craisinlord.antarchy.content.tigereye.TigerEyeCamouflageController;
@@ -76,6 +77,7 @@ public final class AntarchyFabricNetworking {
PayloadTypeRegistry.playS2C().register(TigerEyeCamouflageStatePayload.TYPE, TigerEyeCamouflageStatePayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(BloodCrystalKatanaTrailPayload.TYPE, BloodCrystalKatanaTrailPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(ScorpionWhipTetherPayload.TYPE, ScorpionWhipTetherPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(WormHookTetherPayload.TYPE, WormHookTetherPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(BrutalflyElytraAnimationPayload.TYPE, BrutalflyElytraAnimationPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(ThoraxisWeatherPayload.TYPE, ThoraxisWeatherPayload.STREAM_CODEC);
PayloadTypeRegistry.playS2C().register(HerculesBeetleImpactShakePayload.TYPE, HerculesBeetleImpactShakePayload.STREAM_CODEC);
@@ -83,6 +85,7 @@ public final class AntarchyFabricNetworking {
PayloadTypeRegistry.playS2C().register(HordeIntensityPayload.TYPE, HordeIntensityPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(GravityGunPrimaryPayload.TYPE, GravityGunPrimaryPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(PortalGunPrimaryPayload.TYPE, PortalGunPrimaryPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(GravityGunScrollPayload.TYPE, GravityGunScrollPayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(BigBerthaModeCyclePayload.TYPE, BigBerthaModeCyclePayload.STREAM_CODEC);
PayloadTypeRegistry.playC2S().register(ToggleTigerEyeCamouflagePayload.TYPE, ToggleTigerEyeCamouflagePayload.STREAM_CODEC);
@@ -102,6 +105,8 @@ public final class AntarchyFabricNetworking {
private static void registerServerReceivers() {
ServerPlayNetworking.registerGlobalReceiver(GravityGunPrimaryPayload.TYPE, (payload, context) ->
context.server().execute(() -> handleGravityGunPrimary(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(PortalGunPrimaryPayload.TYPE, (payload, context) ->
context.server().execute(() -> handlePortalGunPrimary(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(GravityGunScrollPayload.TYPE, (payload, context) ->
context.server().execute(() -> handleGravityGunScroll(context.player(), payload)));
ServerPlayNetworking.registerGlobalReceiver(BigBerthaModeCyclePayload.TYPE, (payload, context) ->
@@ -191,6 +196,14 @@ public final class AntarchyFabricNetworking {
ServerPlayNetworking.send(player, payload);
}
public static void syncWormHookTether(ServerPlayer player, int hookId) {
WormHookTetherPayload payload = new WormHookTetherPayload(player.getId(), hookId);
for (ServerPlayer tracking : PlayerLookup.tracking(player)) {
ServerPlayNetworking.send(tracking, payload);
}
ServerPlayNetworking.send(player, payload);
}
public static void syncThoraxisWeather(ServerLevel level, ThoraxisWeatherSnapshot snapshot) {
ThoraxisWeatherPayload payload = new ThoraxisWeatherPayload(
snapshot.dimension(),
@@ -230,6 +243,13 @@ public final class AntarchyFabricNetworking {
gravityGunItem.firePrimary(player.serverLevel(), player, player.getMainHandItem());
}
private static void handlePortalGunPrimary(ServerPlayer player, PortalGunPrimaryPayload payload) {
if (!(player.getMainHandItem().getItem() instanceof PortalGunItem portalGunItem)) {
return;
}
portalGunItem.firePrimary(player.serverLevel(), player, player.getMainHandItem());
}
private static void handleGravityGunScroll(ServerPlayer player, GravityGunScrollPayload payload) {
if (!(player.getMainHandItem().getItem() instanceof GravityGunItem)) {
return;
@@ -367,6 +367,8 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<Block> NYXITE_BRICKS = BLOCKS.register("nyxite_bricks",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<Block> MOSSY_NYXITE_BRICKS = BLOCKS.register("mossy_nyxite_bricks",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<net.minecraft.world.level.block.StairBlock> NYXITE_STAIRS = BLOCKS.register("nyxite_stairs",
@@ -408,6 +410,12 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<net.minecraft.world.level.block.WallBlock> NYXITE_BRICK_WALL = BLOCKS.register("nyxite_brick_wall",
() -> new net.minecraft.world.level.block.WallBlock(nyxiteProperties()));
public static final DeferredBlock<net.minecraft.world.level.block.StairBlock> MOSSY_NYXITE_BRICK_STAIRS = BLOCKS.register("mossy_nyxite_brick_stairs",
() -> new net.minecraft.world.level.block.StairBlock(MOSSY_NYXITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
public static final DeferredBlock<net.minecraft.world.level.block.SlabBlock> MOSSY_NYXITE_BRICK_SLAB = BLOCKS.register("mossy_nyxite_brick_slab",
() -> new net.minecraft.world.level.block.SlabBlock(nyxiteProperties()));
public static final DeferredBlock<net.minecraft.world.level.block.WallBlock> MOSSY_NYXITE_BRICK_WALL = BLOCKS.register("mossy_nyxite_brick_wall",
() -> new net.minecraft.world.level.block.WallBlock(nyxiteProperties()));
public static final DeferredBlock<RotatedPillarBlock> NYXITE_PILLAR = BLOCKS.register("nyxite_pillar",
@@ -534,6 +542,40 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<Block> MYRMITE = BLOCKS.register("myrmite",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<StairBlock> MYRMITE_STAIRS = BLOCKS.register("myrmite_stairs",
() -> new StairBlock(MYRMITE.get().defaultBlockState(), nyxiteProperties()));
public static final DeferredBlock<SlabBlock> MYRMITE_SLAB = BLOCKS.register("myrmite_slab",
() -> new SlabBlock(nyxiteProperties()));
public static final DeferredBlock<WallBlock> MYRMITE_WALL = BLOCKS.register("myrmite_wall",
() -> new WallBlock(nyxiteProperties()));
public static final DeferredBlock<Block> POLISHED_MYRMITE = BLOCKS.register("polished_myrmite",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<StairBlock> POLISHED_MYRMITE_STAIRS = BLOCKS.register("polished_myrmite_stairs",
() -> new StairBlock(POLISHED_MYRMITE.get().defaultBlockState(), nyxiteProperties()));
public static final DeferredBlock<SlabBlock> POLISHED_MYRMITE_SLAB = BLOCKS.register("polished_myrmite_slab",
() -> new SlabBlock(nyxiteProperties()));
public static final DeferredBlock<WallBlock> POLISHED_MYRMITE_WALL = BLOCKS.register("polished_myrmite_wall",
() -> new WallBlock(nyxiteProperties()));
public static final DeferredBlock<Block> CHISELED_MYRMITE = BLOCKS.register("chiseled_myrmite",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<Block> MYRMITE_BRICKS = BLOCKS.register("myrmite_bricks",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<StairBlock> MYRMITE_BRICK_STAIRS = BLOCKS.register("myrmite_brick_stairs",
() -> new StairBlock(MYRMITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
public static final DeferredBlock<SlabBlock> MYRMITE_BRICK_SLAB = BLOCKS.register("myrmite_brick_slab",
() -> new SlabBlock(nyxiteProperties()));
public static final DeferredBlock<WallBlock> MYRMITE_BRICK_WALL = BLOCKS.register("myrmite_brick_wall",
() -> new WallBlock(nyxiteProperties()));
public static final DeferredBlock<Block> MOSSY_MYRMITE_BRICKS = BLOCKS.register("mossy_myrmite_bricks",
() -> new Block(nyxiteProperties()));
public static final DeferredBlock<StairBlock> MOSSY_MYRMITE_BRICK_STAIRS = BLOCKS.register("mossy_myrmite_brick_stairs",
() -> new StairBlock(MOSSY_MYRMITE_BRICKS.get().defaultBlockState(), nyxiteProperties()));
public static final DeferredBlock<SlabBlock> MOSSY_MYRMITE_BRICK_SLAB = BLOCKS.register("mossy_myrmite_brick_slab",
() -> new SlabBlock(nyxiteProperties()));
public static final DeferredBlock<WallBlock> MOSSY_MYRMITE_BRICK_WALL = BLOCKS.register("mossy_myrmite_brick_wall",
() -> new WallBlock(nyxiteProperties()));
public static final DeferredBlock<RotatedPillarBlock> MYRMITE_PILLAR = BLOCKS.register("myrmite_pillar",
() -> new RotatedPillarBlock(nyxiteProperties()));
public static final DeferredBlock<Block> BIOMITE = BLOCKS.register("biomite",
@@ -570,6 +612,8 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<Block> BROODSTONE_BRICKS = BLOCKS.register("broodstone_bricks",
() -> new Block(broodstoneProperties()));
public static final DeferredBlock<Block> MOSSY_BROODSTONE_BRICKS = BLOCKS.register("mossy_broodstone_bricks",
() -> new Block(broodstoneProperties()));
public static final DeferredBlock<StairBlock> BROODSTONE_STAIRS = BLOCKS.register("broodstone_stairs",
@@ -606,6 +650,12 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<WallBlock> BROODSTONE_BRICK_WALL = BLOCKS.register("broodstone_brick_wall",
() -> new WallBlock(broodstoneProperties()));
public static final DeferredBlock<StairBlock> MOSSY_BROODSTONE_BRICK_STAIRS = BLOCKS.register("mossy_broodstone_brick_stairs",
() -> new StairBlock(MOSSY_BROODSTONE_BRICKS.get().defaultBlockState(), broodstoneProperties()));
public static final DeferredBlock<SlabBlock> MOSSY_BROODSTONE_BRICK_SLAB = BLOCKS.register("mossy_broodstone_brick_slab",
() -> new SlabBlock(broodstoneProperties()));
public static final DeferredBlock<WallBlock> MOSSY_BROODSTONE_BRICK_WALL = BLOCKS.register("mossy_broodstone_brick_wall",
() -> new WallBlock(broodstoneProperties()));
public static final DeferredBlock<RotatedPillarBlock> BROODSTONE_PILLAR = BLOCKS.register("broodstone_pillar",
@@ -828,6 +878,10 @@ public final class AntarchyFabricBlocks {
() -> new com.craisinlord.antarchy.content.block.BluestoneLampBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.REDSTONE_LAMP).mapColor(MapColor.COLOR_BLUE)));
public static final DeferredBlock<Block> TIGERS_EYE_BLOCK = BLOCKS.register("tigers_eye_block",
() -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_ORANGE));
public static final DeferredBlock<Block> URANIUM_BLOCK = BLOCKS.register("uranium_block",
() -> createStorageBlock(Blocks.EMERALD_BLOCK, MapColor.COLOR_YELLOW));
@@ -1017,6 +1071,18 @@ public final class AntarchyFabricBlocks {
public static final DeferredBlock<Block> LOAM = BLOCKS.register("loam",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.MUD)));
public static final DeferredBlock<Block> PACKED_LOAM = BLOCKS.register("packed_loam",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.PACKED_MUD)));
public static final DeferredBlock<Block> LOAM_BRICKS = BLOCKS.register("loam_bricks",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.MUD_BRICKS)));
public static final DeferredBlock<StairBlock> LOAM_BRICK_STAIRS = BLOCKS.register("loam_brick_stairs",
() -> new StairBlock(LOAM_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.MUD_BRICK_STAIRS)));
public static final DeferredBlock<SlabBlock> LOAM_BRICK_SLAB = BLOCKS.register("loam_brick_slab",
() -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MUD_BRICK_SLAB)));
public static final DeferredBlock<WallBlock> LOAM_BRICK_WALL = BLOCKS.register("loam_brick_wall",
() -> new WallBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MUD_BRICK_WALL)));
public static final DeferredBlock<Block> CHISELED_LOAM_BRICKS = BLOCKS.register("chiseled_loam_bricks",
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.MUD_BRICKS)));
public static final DeferredBlock<com.craisinlord.antarchy.content.block.MucusBlock> MUCUS = BLOCKS.register("mucus",
@@ -21,6 +21,7 @@ import com.craisinlord.antarchy.content.entity.lucid.LucidBoltEntity;
import com.craisinlord.antarchy.content.entity.lucid.LucidEyeProjectileEntity;
import com.craisinlord.antarchy.content.entity.HushProjectileEntity;
import com.craisinlord.antarchy.content.entity.CritterCageProjectileEntity;
import com.craisinlord.antarchy.content.entity.WormHookProjectileEntity;
import com.craisinlord.antarchy.content.entity.JumpyBugEntity;
import com.craisinlord.antarchy.content.entity.StinkBugEntity;
import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity;
@@ -37,6 +38,7 @@ import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmarePortalEntity;
import com.craisinlord.antarchy.content.entity.nightmare.NightmareBiteEntity;
import com.craisinlord.antarchy.content.entity.portal.DimensionalTearEntity;
import com.craisinlord.antarchy.content.portalgun.PortalGunPortalEntity;
import com.craisinlord.antarchy.content.entity.ToreterrorEntity;
import com.craisinlord.antarchy.content.entity.WaterBombEntity;
import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity;
@@ -45,6 +47,7 @@ import com.craisinlord.antarchy.content.entity.kraken.TentacleEntity;
import com.craisinlord.antarchy.content.entity.OctopusBombEntity;
import com.craisinlord.antarchy.content.entity.MolevoreEntity;
import com.craisinlord.antarchy.content.entity.MolewormEntity;
import com.craisinlord.antarchy.content.entity.WormEntity;
import com.craisinlord.antarchy.content.entity.BomberEntity;
import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
import com.craisinlord.antarchy.content.entity.TriffidEntity;
@@ -91,6 +94,11 @@ public final class AntarchyFabricEntities {
.sized(0.4F, 0.3F)
.clientTrackingRange(8)
.build("moleworm"));
public static final DeferredHolder<EntityType<?>, EntityType<WormEntity>> WORM = ENTITY_TYPES.register("worm",
() -> EntityType.Builder.of(WormEntity::new, MobCategory.MONSTER)
.sized(1.35F, 2.75F)
.clientTrackingRange(10)
.build("worm"));
public static final DeferredHolder<EntityType<?>, EntityType<MantisEntity>> MANTIS = ENTITY_TYPES.register("mantis",
@@ -363,6 +371,20 @@ public final class AntarchyFabricEntities {
.updateInterval(1)
.build("dimensional_tear"));
public static final DeferredHolder<EntityType<?>, EntityType<PortalGunPortalEntity>> PORTAL_GUN_PORTAL = ENTITY_TYPES.register("portal_gun_portal",
() -> EntityType.Builder.of(PortalGunPortalEntity::new, MobCategory.MISC)
.sized(1.0F, 2.0F)
.clientTrackingRange(10)
.updateInterval(1)
.build("portal_gun_portal"));
public static final DeferredHolder<EntityType<?>, EntityType<com.craisinlord.antarchy.content.portalgun.PortalGunBlackHoleEntity>> PORTAL_GUN_BLACK_HOLE = ENTITY_TYPES.register("portal_gun_black_hole",
() -> EntityType.Builder.of(com.craisinlord.antarchy.content.portalgun.PortalGunBlackHoleEntity::new, MobCategory.MISC)
.sized(1.2F, 1.2F)
.clientTrackingRange(10)
.updateInterval(1)
.build("portal_gun_black_hole"));
public static final DeferredHolder<EntityType<?>, EntityType<NightmareBiteEntity>> NIGHTMARE_BITE = ENTITY_TYPES.register("nightmare_bite",
() -> EntityType.Builder.of(NightmareBiteEntity::new, MobCategory.MISC)
.sized(2.5F, 2.0F)
@@ -433,6 +455,12 @@ public final class AntarchyFabricEntities {
.clientTrackingRange(8)
.updateInterval(1)
.build("critter_cage_projectile"));
public static final DeferredHolder<EntityType<?>, EntityType<WormHookProjectileEntity>> WORM_HOOK_PROJECTILE = ENTITY_TYPES.register("worm_hook_projectile",
() -> EntityType.Builder.<WormHookProjectileEntity>of(WormHookProjectileEntity::new, MobCategory.MISC)
.sized(0.25F, 0.25F)
.clientTrackingRange(10)
.updateInterval(1)
.build("worm_hook_projectile"));
public static final DeferredHolder<EntityType<?>, EntityType<HushProjectileEntity>> HUSH_PROJECTILE = ENTITY_TYPES.register("hush_projectile",
@@ -28,6 +28,7 @@ import com.craisinlord.antarchy.content.entity.MolewormEntity;
import com.craisinlord.antarchy.content.entity.BomberEntity;
import com.craisinlord.antarchy.content.entity.TriffidEntity;
import com.craisinlord.antarchy.content.entity.WaspEntity;
import com.craisinlord.antarchy.content.entity.WormEntity;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
@@ -121,6 +122,7 @@ public final class AntarchyFabricEntityAttributes {
AntarchySettings.termiteAttackDamage()
).build());
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.MOLEWORM.get(), MolewormEntity.createAttributes().build());
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.WORM.get(), WormEntity.createAttributes().build());
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.MOLEVORE.get(), MolevoreEntity.createAttributes().build());
}
@@ -2,55 +2,17 @@ package com.craisinlord.antarchy.fabric.registry;
import com.craisinlord.antarchy.Antarchy;
import com.craisinlord.antarchy.config.AntarchySettings;
import com.craisinlord.antarchy.content.item.BloodCrystalArmorItem;
import com.craisinlord.antarchy.content.item.BloodCrystalAppleItem;
import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem;
import com.craisinlord.antarchy.content.item.CritterCageItem;
import com.craisinlord.antarchy.content.item.*;
import com.craisinlord.antarchy.fabric.item.DeferredSpawnEggItem;
import com.craisinlord.antarchy.content.item.LucidAnchorBlockItem;
import com.craisinlord.antarchy.content.item.LucidEyeItem;
import com.craisinlord.antarchy.content.item.LucidPearlItem;
import com.craisinlord.antarchy.content.item.PrimordialArmorItem;
import com.craisinlord.antarchy.content.item.WaterCannonItem;
import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity;
import com.craisinlord.antarchy.content.item.BattleAxeItem;
import com.craisinlord.antarchy.content.item.AttitudeAdjusterItem;
import com.craisinlord.antarchy.content.item.BasiliskDaggerItem;
import com.craisinlord.antarchy.content.item.BigBerthaItem;
import com.craisinlord.antarchy.content.item.KrakensGraspItem;
import com.craisinlord.antarchy.content.item.AntimetalBlockItem;
import com.craisinlord.antarchy.content.item.AntimetalScaffoldingItem;
import com.craisinlord.antarchy.content.item.CloudSharkFinSoupItem;
import com.craisinlord.antarchy.content.item.CorneaEarItem;
import com.craisinlord.antarchy.content.item.GravityGunItem;
import com.craisinlord.antarchy.content.item.MantisClawItem;
import com.craisinlord.antarchy.content.item.DuctTapeBlockItem;
import com.craisinlord.antarchy.content.item.BrutalflyElytraItem;
import com.craisinlord.antarchy.content.item.BluestoneDustItem;
import com.craisinlord.antarchy.content.item.CeilingPlacementTooltipBlockItem;
import com.craisinlord.antarchy.content.item.CeilingPlacementTooltipItem;
import com.craisinlord.antarchy.content.item.MobComingSoonTooltipItem;
import com.craisinlord.antarchy.content.item.MogglesItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimateAxeItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimateHoeItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimatePickaxeItem;
import com.craisinlord.antarchy.content.item.ultimate.UtlimateShovelItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimateSwordItem;
import com.craisinlord.antarchy.content.item.DiamondMinecartItem;
import com.craisinlord.antarchy.content.item.ReverieBottleItem;
import com.craisinlord.antarchy.content.item.ScorpionWhipItem;
import com.craisinlord.antarchy.content.item.SizeRayItem;
import com.craisinlord.antarchy.content.item.SquidzookaItem;
import com.craisinlord.antarchy.content.item.RpoLauncherItem;
import com.craisinlord.antarchy.content.item.SimpleToolTier;
import com.craisinlord.antarchy.content.item.ultimate.UltimateArmorItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimateBowItem;
import com.craisinlord.antarchy.content.item.ultimate.UltimateCrossbowItem;
import com.craisinlord.antarchy.content.item.NightmareArmorItem;
import com.craisinlord.antarchy.content.item.NightmareSwordItem;
import com.craisinlord.antarchy.content.item.OuranwoodBoatOnlyItem;
import com.craisinlord.antarchy.content.item.OuranwoodChestBoatItem;
import com.craisinlord.antarchy.content.item.RainbowSugarItem;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.effect.MobEffectInstance;
@@ -59,6 +21,7 @@ import net.minecraft.world.item.ArmorItem;
import net.minecraft.world.item.BucketItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.MobBucketItem;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.StandingAndWallBlockItem;
import net.minecraft.world.food.FoodProperties;
@@ -66,6 +29,7 @@ import net.minecraft.world.item.Tier;
import net.minecraft.world.item.Tiers;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.core.Direction;
import net.minecraft.sounds.SoundEvents;
public final class AntarchyFabricItems {
@@ -362,6 +326,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> BLUESTONE_LAMP_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BLUESTONE_LAMP);
public static final DeferredItem<net.minecraft.world.item.BlockItem> TIGERS_EYE_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.TIGERS_EYE_BLOCK, new Item.Properties().rarity(Rarity.UNCOMMON));
public static final DeferredItem<net.minecraft.world.item.BlockItem> URANIUM_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.URANIUM_BLOCK, new Item.Properties().rarity(Rarity.UNCOMMON));
@@ -477,6 +442,12 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> DREAM_SAND_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.DREAM_SAND);
public static final DeferredItem<net.minecraft.world.item.BlockItem> ANTIGRAVEL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.ANTIGRAVEL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM);
public static final DeferredItem<net.minecraft.world.item.BlockItem> PACKED_LOAM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.PACKED_LOAM);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> LOAM_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.LOAM_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHISELED_LOAM_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHISELED_LOAM_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MUCUS_ITEM = ITEMS.register("mucus",
() -> new com.craisinlord.antarchy.content.item.MucusBlockItem(AntarchyFabricBlocks.MUCUS.get(), new Item.Properties()));
@@ -543,6 +514,23 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POLISHED_MYRMITE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_MYRMITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POLISHED_MYRMITE_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_MYRMITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POLISHED_MYRMITE_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_MYRMITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POLISHED_MYRMITE_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHISELED_MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHISELED_MYRMITE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_MYRMITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_MYRMITE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_MYRMITE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_MYRMITE_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_MYRMITE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_MYRMITE_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_MYRMITE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_MYRMITE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_PILLAR_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_PILLAR);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BIOMITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BIOMITE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BIOMITE_TURF_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BIOMITE_TURF);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BIOWART_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BIOWART);
@@ -551,6 +539,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> POLISHED_BROODSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.POLISHED_BROODSTONE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHISELED_BROODSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHISELED_BROODSTONE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_BROODSTONE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_BROODSTONE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_WALL);
@@ -560,6 +549,9 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_BROODSTONE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_BROODSTONE_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_BROODSTONE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_BROODSTONE_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_BROODSTONE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_BROODSTONE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_PILLAR_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_PILLAR);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MYRMITE_COAL_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MYRMITE_COAL_ORE);
public static final DeferredItem<net.minecraft.world.item.BlockItem> BROODSTONE_URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.BROODSTONE_URANIUM_ORE, new Item.Properties().rarity(Rarity.UNCOMMON));
@@ -573,6 +565,7 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_NYXITE_BRICKS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> CHITIN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.CHITIN_BLOCK);
@@ -604,6 +597,9 @@ public final class AntarchyFabricItems {
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_NYXITE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_NYXITE_BRICK_STAIRS);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_NYXITE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_NYXITE_BRICK_SLAB);
public static final DeferredItem<net.minecraft.world.item.BlockItem> MOSSY_NYXITE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOSSY_NYXITE_BRICK_WALL);
public static final DeferredItem<net.minecraft.world.item.BlockItem> NYXITE_PILLAR_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.NYXITE_PILLAR);
@@ -1025,6 +1021,10 @@ public final class AntarchyFabricItems {
.saturationModifier(0.0F)
.effect(new MobEffectInstance(MobEffects.HUNGER, 600), 0.8F)
.build())));
public static final DeferredItem<Item> WORM_TOOTH = ITEMS.register("worm_tooth",
() -> new Item(new Item.Properties().rarity(Rarity.UNCOMMON)));
public static final DeferredItem<WormHookItem> WORM_HOOK = ITEMS.register("worm_hook",
() -> new WormHookItem(new Item.Properties().stacksTo(1).durability(256).rarity(Rarity.UNCOMMON)));
public static final DeferredItem<Item> CLOUD_SHARK_FIN = ITEMS.registerSimpleItem("cloud_shark_fin", new Item.Properties().rarity(Rarity.UNCOMMON));
@@ -1247,6 +1247,9 @@ public final class AntarchyFabricItems {
public static final DeferredItem<GravityGunItem> GRAVITY_GUN = ITEMS.register("gravity_gun",
() -> new GravityGunItem(new Item.Properties().stacksTo(1).durability(512).rarity(Rarity.RARE).fireResistant()));
public static final DeferredItem<PortalGunItem> PORTAL_GUN = ITEMS.register("portal_gun",
() -> new PortalGunItem(new Item.Properties().stacksTo(1).durability(256).rarity(Rarity.RARE), AntarchyFabricEntities.PORTAL_GUN_PORTAL, AntarchyFabricEntities.PORTAL_GUN_BLACK_HOLE));
// Temporarily disabled: keeping the code but not registering the item for now.
// public static final DeferredItem<MinersDreamItem> MINERS_DREAM = ITEMS.register("miners_dream",
@@ -1375,6 +1378,8 @@ public final class AntarchyFabricItems {
public static final DeferredItem<DeferredSpawnEggItem> MOLEWORM_SPAWN_EGG = ITEMS.register("moleworm_spawn_egg",
() -> new DeferredSpawnEggItem(AntarchyFabricEntities.MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties()));
public static final DeferredItem<DeferredSpawnEggItem> WORM_SPAWN_EGG = ITEMS.register("worm_spawn_egg",
() -> new DeferredSpawnEggItem(AntarchyFabricEntities.WORM, 0x7A5742, 0xE4D2A6, new Item.Properties()));
public static final DeferredItem<DeferredSpawnEggItem> MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg",
@@ -1535,6 +1540,14 @@ public final class AntarchyFabricItems {
.nutrition(2)
.saturationModifier(0.1F)
.build())));
public static final DeferredItem<Item> COOKED_CHEEP = ITEMS.register("cooked_cheep",
() -> new Item(new Item.Properties()
.food(new net.minecraft.world.food.FoodProperties.Builder()
.nutrition(5)
.saturationModifier(0.6F)
.build())));
public static final DeferredItem<MobBucketItem> CHEEP_BUCKET = ITEMS.register("cheep_bucket",
() -> new MobBucketItem(AntarchyFabricEntities.CHEEP.get(), net.minecraft.world.level.material.Fluids.WATER, SoundEvents.BUCKET_EMPTY_FISH, new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1)));
public static final DeferredItem<DeferredSpawnEggItem> DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg",
() -> new DeferredSpawnEggItem(AntarchyFabricEntities.DORRIE, 0x6F8CFF, 0xD2F2FF, new Item.Properties()));
@@ -63,6 +63,8 @@ import com.craisinlord.antarchy.content.worldgen.thoraxis.BedBugSurfaceClusterFe
import com.craisinlord.antarchy.content.worldgen.thoraxis.DimensionalTearFeature;
import com.craisinlord.antarchy.content.worldgen.elythia.ElythiaCloudFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.LucidAntiwaterPoolFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.NadirTreeConfiguration;
import com.craisinlord.antarchy.content.worldgen.thoraxis.NadirTreeFeature;
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisBiomeSource;
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisDuneConfiguration;
import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisDuneFeature;
@@ -572,6 +574,10 @@ public final class AntarchyFabricMisc {
() -> new PeachTreeFeature(PeachTreeConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, NadirTreeFeature> NADIR_TREE_FEATURE = FEATURES.register("nadir_tree",
() -> new NadirTreeFeature(NadirTreeConfiguration.CODEC));
public static final DeferredHolder<Feature<?>, ElythiaFloraFeature> ELYTHIA_FOREST_FLORA = FEATURES.register("elythia_forest_flora",
() -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.FOREST));
@@ -316,6 +316,24 @@ public final class AntarchyFabricSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> GRAVITY_GUN_DRYFIRE = registerSoundEvent("gravity_gun_dryfire");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_GUN_FIRE_BLUE = registerSoundEvent("portal_gun_fire_blue");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_GUN_FIRE_ORANGE = registerSoundEvent("portal_gun_fire_orange");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_GUN_INVALID_SURFACE = registerSoundEvent("portal_gun_invalid_surface");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_OPEN_BLUE = registerSoundEvent("portal_open_blue");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_OPEN_ORANGE = registerSoundEvent("portal_open_orange");
public static final DeferredHolder<SoundEvent, SoundEvent> PORTAL_FIZZLE = registerSoundEvent("portal_fizzle");
public static final DeferredHolder<SoundEvent, SoundEvent> BED_BUG_AMBIENT = registerSoundEvent("bed_bug_ambient");
@@ -0,0 +1,3 @@
{
"parent": "antarchy:item/portal_gun_held_geo"
}