portal gun fixes and variants
This commit is contained in:
1 parent
2d90cb8aaf
commit
216efeb39b
111 files changed
+1937
-2136
No files matched your search
+1
-13
@@ -7,7 +7,6 @@ import com.craisinlord.antarchy.content.entity.ReverieEntity;
|
||||
import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity;
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyObjects;
|
||||
import com.craisinlord.antarchy.content.block.DuctTapeBlock;
|
||||
import com.craisinlord.antarchy.content.item.AttitudeAdjusterItem;
|
||||
import com.craisinlord.antarchy.content.item.AttitudeAdjusterSlamManager;
|
||||
import com.craisinlord.antarchy.content.fluid.AntarchyFluidChecks;
|
||||
@@ -19,7 +18,6 @@ import com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition;
|
||||
import com.craisinlord.antarchy.content.horde.CavarynHordeManager;
|
||||
import com.craisinlord.antarchy.content.portal.PermanentPortalManager;
|
||||
import com.craisinlord.antarchy.content.portalgun.PortalGunProjectileEntity;
|
||||
import com.craisinlord.antarchy.content.portalgun.PortalGunGrabManager;
|
||||
import com.craisinlord.antarchy.content.command.CavarynCommand;
|
||||
import com.craisinlord.antarchy.content.command.CaterpillarCommand;
|
||||
import com.craisinlord.antarchy.content.command.DimensionalTearCommand;
|
||||
@@ -78,7 +76,6 @@ public final class AntarchyFabricEvents {
|
||||
|
||||
public static void register() {
|
||||
ServerLifecycleEvents.SERVER_STOPPING.register(server -> PortalGunProjectileEntity.releaseAllProjectileTickets());
|
||||
ServerLifecycleEvents.SERVER_STOPPING.register(PortalGunGrabManager::clear);
|
||||
ServerLifecycleEvents.SERVER_STOPPING.register(com.craisinlord.antarchy.content.portalgun.PortalGunResetManager::clear);
|
||||
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
|
||||
ChronosphereManager.refresh(handler.player);
|
||||
@@ -209,14 +206,13 @@ public final class AntarchyFabricEvents {
|
||||
});
|
||||
|
||||
ServerTickEvents.END_SERVER_TICK.register(server -> {
|
||||
PortalGunGrabManager.tick(server);
|
||||
Set<UUID> activeThisTick = new HashSet<>();
|
||||
for (ServerLevel level : server.getAllLevels()) {
|
||||
CavarynHordeManager.tick(level);
|
||||
com.craisinlord.antarchy.content.horde.CavarynCreatureSpawner.tick(level);
|
||||
ThoraxisUndersideManager.tick(level);
|
||||
com.craisinlord.antarchy.content.worldgen.elythia.KingsTreeGridFeature.tickPendingSpawns(level);
|
||||
tickInvertedPlayers(level, activeThisTick);
|
||||
tickDuctTapePlayers(level);
|
||||
tickIchorPlayers(level);
|
||||
tickBloodglassRecharge(level);
|
||||
AttitudeAdjusterSlamManager.tick(level);
|
||||
@@ -338,14 +334,6 @@ public final class AntarchyFabricEvents {
|
||||
}
|
||||
}
|
||||
|
||||
private static void tickDuctTapePlayers(ServerLevel level) {
|
||||
for (Player player : level.players()) {
|
||||
if (DuctTapeBlock.shouldTickStuckEntity(player)) {
|
||||
DuctTapeBlock.tickStuckEntity(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void tickIchorPlayers(ServerLevel level) {
|
||||
if (!AntarchySettings.ichorWitherEnabled()) {
|
||||
return;
|
||||
|
||||
+2
-3
@@ -625,15 +625,14 @@ public final class AntarchyFabricClientBootstrap {
|
||||
DorrieJumpHudRenderer.render(guiGraphics);
|
||||
HerculesBeetleChargeHudRenderer.render(guiGraphics);
|
||||
com.craisinlord.antarchy.content.client.KingJudgmentFlashHudRenderer.render(guiGraphics);
|
||||
com.craisinlord.antarchy.content.client.PortalGunCrosshairRenderer.render(guiGraphics);
|
||||
});
|
||||
|
||||
WorldRenderEvents.LAST.register(context -> {
|
||||
BloodCrystalKatanaTrailHandler.render(context);
|
||||
ScorpionWhipTetherRenderHandler.render(context);
|
||||
WormHookTetherRenderHandler.render(context);
|
||||
if (com.craisinlord.antarchy.content.client.renderer.PortalGunPortalViewRenderer.isEnabled()) {
|
||||
com.craisinlord.antarchy.content.client.renderer.PortalGunPortalViewRenderer.render(context.camera(), context.positionMatrix(), context.projectionMatrix(), context.tickCounter());
|
||||
}
|
||||
com.craisinlord.antarchy.content.client.renderer.PortalGunPortalViewRenderer.render(context.camera(), context.positionMatrix(), context.projectionMatrix(), context.tickCounter());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+1
-12
@@ -51,14 +51,8 @@ public final class AntarchyKeyBindings {
|
||||
);
|
||||
public static final KeyMapping PORTAL_GUN_ZOOM = new KeyMapping(
|
||||
"key.antarchy.portal_gun_zoom",
|
||||
InputConstants.Type.MOUSE,
|
||||
GLFW.GLFW_MOUSE_BUTTON_MIDDLE,
|
||||
CATEGORY
|
||||
);
|
||||
public static final KeyMapping PORTAL_GUN_GRAB = new KeyMapping(
|
||||
"key.antarchy.portal_gun_grab",
|
||||
InputConstants.Type.KEYSYM,
|
||||
GLFW.GLFW_KEY_G,
|
||||
GLFW.GLFW_KEY_Z,
|
||||
CATEGORY
|
||||
);
|
||||
public static final KeyMapping PORTAL_GUN_RESET = new KeyMapping(
|
||||
@@ -78,7 +72,6 @@ public final class AntarchyKeyBindings {
|
||||
KeyBindingHelper.registerKeyBinding(ROYAL_INVERSION_TOGGLE);
|
||||
KeyBindingHelper.registerKeyBinding(ROYAL_BOUNDARY);
|
||||
KeyBindingHelper.registerKeyBinding(PORTAL_GUN_ZOOM);
|
||||
KeyBindingHelper.registerKeyBinding(PORTAL_GUN_GRAB);
|
||||
KeyBindingHelper.registerKeyBinding(PORTAL_GUN_RESET);
|
||||
}
|
||||
|
||||
@@ -110,10 +103,6 @@ public final class AntarchyKeyBindings {
|
||||
return Minecraft.getInstance().screen == null && PORTAL_GUN_ZOOM.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumePortalGunGrabPressed() {
|
||||
return Minecraft.getInstance().screen == null && PORTAL_GUN_GRAB.consumeClick();
|
||||
}
|
||||
|
||||
public static boolean consumePortalGunResetPressed() {
|
||||
return Minecraft.getInstance().screen == null && PORTAL_GUN_RESET.consumeClick();
|
||||
}
|
||||
|
||||
-2
@@ -27,14 +27,12 @@ public final class DorrieJumpClientHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
// Space bar → upward movement.
|
||||
boolean pressingJump = mc.options.keyJump.isDown();
|
||||
if (pressingJump != wasPressingJump) {
|
||||
ClientPlayNetworking.send(new DorrieJumpInputPayload(pressingJump));
|
||||
wasPressingJump = pressingJump;
|
||||
}
|
||||
|
||||
// Left ctrl → charge jump.
|
||||
boolean pressingCharge = AntarchyKeyBindings.isMountSpecialPressed();
|
||||
if (pressingCharge != wasPressingCharge) {
|
||||
ClientPlayNetworking.send(new DorrieChargeJumpPayload(pressingCharge));
|
||||
|
||||
+1
-6
@@ -3,7 +3,6 @@ package com.craisinlord.antarchy.fabric.client;
|
||||
import com.craisinlord.antarchy.content.item.PortalGunItem;
|
||||
import com.craisinlord.antarchy.content.client.PortalGunZoomClientState;
|
||||
import com.craisinlord.antarchy.content.network.PortalGunPrimaryPayload;
|
||||
import com.craisinlord.antarchy.content.network.PortalGunGrabPayload;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -20,23 +19,19 @@ public final class PortalGunClientHandler {
|
||||
|
||||
private static void tickMouse(Minecraft mc) {
|
||||
if (mc.player == null) {
|
||||
com.craisinlord.antarchy.content.client.PortalGunGrabClientState.clear();
|
||||
com.craisinlord.antarchy.content.client.PortalGunResetClientState.clear();
|
||||
}
|
||||
boolean hasPortalGun = mc.player != null && (mc.player.getMainHandItem().getItem() instanceof PortalGunItem || mc.player.getOffhandItem().getItem() instanceof PortalGunItem);
|
||||
boolean gameplayInput = mc.screen == null;
|
||||
boolean held = hasPortalGun && gameplayInput;
|
||||
boolean zoomPressed = AntarchyKeyBindings.consumePortalGunZoomPressed();
|
||||
PortalGunZoomClientState.tick(mc, hasPortalGun, zoomPressed && gameplayInput);
|
||||
PortalGunZoomClientState.tick(mc, held, zoomPressed && gameplayInput);
|
||||
boolean resetActive = com.craisinlord.antarchy.content.client.PortalGunResetClientState.tick(
|
||||
mc,
|
||||
held,
|
||||
AntarchyKeyBindings.isPortalGunResetDown(),
|
||||
ClientPlayNetworking::send
|
||||
);
|
||||
if (held && AntarchyKeyBindings.consumePortalGunGrabPressed()) {
|
||||
ClientPlayNetworking.send(new PortalGunGrabPayload());
|
||||
}
|
||||
if (mc.player == null || mc.level == null || mc.screen != null) {
|
||||
lastAttackDown = false;
|
||||
return;
|
||||
|
||||
+2
@@ -20,6 +20,8 @@ public final class SeparateLargeItemModels {
|
||||
entry(AntarchyFabricItems.GROWTH_RAY.get(), "grow_ray_gui"),
|
||||
entry(AntarchyFabricItems.KRAKENS_GRASP.get(), "krakens_grasp_gui"),
|
||||
entry(AntarchyFabricItems.PORTAL_GUN.get(), "portal_gun_gui"),
|
||||
entry(AntarchyFabricItems.PORTAL_GUN_ATLAS.get(), "portal_gun_atlas_gui"),
|
||||
entry(AntarchyFabricItems.PORTAL_GUN_P_BODY.get(), "portal_gun_p_body_gui"),
|
||||
entry(AntarchyFabricItems.ROYAL_ASSAILANT_BATTLEAXE.get(), "royal_assailant_battleaxe_gui"),
|
||||
entry(AntarchyFabricItems.ROYAL_ASSAILANT_STAFF.get(), "royal_assailant_staff_gui"),
|
||||
entry(AntarchyFabricItems.ROYAL_GUARDIAN_SWORD.get(), "royal_guardian_sword_gui"),
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.block.DuctTapeBlock;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.Input;
|
||||
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(Input.class)
|
||||
public abstract class DuctTapeInputMixin {
|
||||
|
||||
@Inject(method = "tick", at = @At("RETURN"))
|
||||
private void blockInputInDuctTape(boolean isSneaking, float slowFactor, CallbackInfo ci) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || mc.level == null) return;
|
||||
if (!mc.player.isNoGravity() && !DuctTapeBlock.isTouchingTape(mc.level, mc.player)) return;
|
||||
|
||||
Input self = (Input) (Object) this;
|
||||
self.left = false;
|
||||
self.right = false;
|
||||
self.up = false;
|
||||
self.down = false;
|
||||
self.leftImpulse = 0.0F;
|
||||
self.forwardImpulse = 0.0F;
|
||||
self.jumping = false;
|
||||
self.shiftKeyDown = false;
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.client;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||
import com.mojang.blaze3d.pipeline.RenderTarget;
|
||||
import java.nio.IntBuffer;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL30;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
||||
@Mixin(RenderTarget.class)
|
||||
public abstract class RenderTargetDepthStencilMixin {
|
||||
@WrapOperation(method = "createBuffers", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;_texImage2D(IIIIIIIILjava/nio/IntBuffer;)V"))
|
||||
private void antarchy$allocateDepthStencil(int target, int level, int internalFormat, int width, int height, int border, int format, int type,
|
||||
IntBuffer pixels, Operation<Void> original) {
|
||||
if (internalFormat == GL11.GL_DEPTH_COMPONENT) {
|
||||
original.call(target, level, GL30.GL_DEPTH24_STENCIL8, width, height, border, GL30.GL_DEPTH_STENCIL, GL30.GL_UNSIGNED_INT_24_8, pixels);
|
||||
return;
|
||||
}
|
||||
original.call(target, level, internalFormat, width, height, border, format, type, pixels);
|
||||
}
|
||||
|
||||
@WrapOperation(method = "createBuffers", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;_glFramebufferTexture2D(IIIII)V"))
|
||||
private void antarchy$attachDepthStencil(int target, int attachment, int textureTarget, int texture, int level, Operation<Void> original) {
|
||||
original.call(target, attachment == GL30.GL_DEPTH_ATTACHMENT ? GL30.GL_DEPTH_STENCIL_ATTACHMENT : attachment, textureTarget, texture, level);
|
||||
}
|
||||
}
|
||||
-2
@@ -45,8 +45,6 @@ public final class AntarchyFabricClientNetworking {
|
||||
com.craisinlord.antarchy.content.client.PortalGunIndicatorClientState.setRequestSender(ClientPlayNetworking::send);
|
||||
ClientPlayNetworking.registerGlobalReceiver(PortalGunIndicatorPayload.TYPE, (payload, context) ->
|
||||
context.client().execute(() -> com.craisinlord.antarchy.content.client.PortalGunIndicatorClientState.update(payload)));
|
||||
ClientPlayNetworking.registerGlobalReceiver(PortalGunGrabStatePayload.TYPE, (payload, context) ->
|
||||
context.client().execute(() -> com.craisinlord.antarchy.content.client.PortalGunGrabClientState.update(payload.active())));
|
||||
ClientPlayNetworking.registerGlobalReceiver(GravityStatePayload.TYPE, (payload, context) ->
|
||||
context.client().execute(() -> AntarchyFabricNetworking.handleGravityState(context.player(), payload)));
|
||||
ClientPlayNetworking.registerGlobalReceiver(BloodglassStatePayload.TYPE, (payload, context) ->
|
||||
|
||||
+8
-5
@@ -50,7 +50,6 @@ public final class AntarchyFabricNetworking {
|
||||
registerServerReceivers();
|
||||
com.craisinlord.antarchy.content.network.AntarchyGameNetworkHandler.setResultSender(ServerPlayNetworking::send);
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunIndicatorSync.setSender(ServerPlayNetworking::send);
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunGrabManager.setStateSender(ServerPlayNetworking::send);
|
||||
}
|
||||
|
||||
public static void bootstrapMultipartCommon() {
|
||||
@@ -76,7 +75,6 @@ public final class AntarchyFabricNetworking {
|
||||
private static void registerPayloadTypes() {
|
||||
PayloadTypeRegistry.playS2C().register(AntarchyGameResultPayload.TYPE, AntarchyGameResultPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(PortalGunIndicatorPayload.TYPE, PortalGunIndicatorPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(PortalGunGrabStatePayload.TYPE, PortalGunGrabStatePayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(GravityStatePayload.TYPE, GravityStatePayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(BloodglassStatePayload.TYPE, BloodglassStatePayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(TigerEyeCamouflageStatePayload.TYPE, TigerEyeCamouflageStatePayload.STREAM_CODEC);
|
||||
@@ -92,8 +90,8 @@ public final class AntarchyFabricNetworking {
|
||||
|
||||
PayloadTypeRegistry.playC2S().register(GravityGunPrimaryPayload.TYPE, GravityGunPrimaryPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(PortalGunPrimaryPayload.TYPE, PortalGunPrimaryPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.PortalGunTransitPayload.TYPE, com.craisinlord.antarchy.content.network.PortalGunTransitPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(PortalGunIndicatorRequestPayload.TYPE, PortalGunIndicatorRequestPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(PortalGunGrabPayload.TYPE, PortalGunGrabPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(PortalGunResetPayload.TYPE, PortalGunResetPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(EyeOfStormPrimaryPayload.TYPE, EyeOfStormPrimaryPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(OpenGiantFryingPanPayload.TYPE, OpenGiantFryingPanPayload.STREAM_CODEC);
|
||||
@@ -128,10 +126,15 @@ public final class AntarchyFabricNetworking {
|
||||
context.server().execute(() -> handleGravityGunPrimary(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(PortalGunPrimaryPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handlePortalGunPrimary(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.PortalGunTransitPayload.TYPE, (payload, context) -> {
|
||||
if (context.server().isSameThread()) {
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunTransitHandler.handle(context.player(), payload);
|
||||
} else {
|
||||
context.server().execute(() -> com.craisinlord.antarchy.content.portalgun.PortalGunTransitHandler.handle(context.player(), payload));
|
||||
}
|
||||
});
|
||||
ServerPlayNetworking.registerGlobalReceiver(PortalGunIndicatorRequestPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> com.craisinlord.antarchy.content.portalgun.PortalGunIndicatorSync.handleRequest(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(PortalGunGrabPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> com.craisinlord.antarchy.content.portalgun.PortalGunGrabManager.toggle(context.player())));
|
||||
ServerPlayNetworking.registerGlobalReceiver(PortalGunResetPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> com.craisinlord.antarchy.content.portalgun.PortalGunResetManager.handleInput(context.player(), payload.action())));
|
||||
ServerPlayNetworking.registerGlobalReceiver(EyeOfStormPrimaryPayload.TYPE, (payload, context) ->
|
||||
|
||||
+22
-1
@@ -1561,7 +1561,28 @@ public final class AntarchyFabricItems {
|
||||
AntarchyFabricEntities.PORTAL_GUN_BLACK_HOLE,
|
||||
AntarchyFabricEntities.PORTAL_GUN_PROJECTILE,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_MASTER,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_BASE
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_BASE,
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunVariant.DEFAULT
|
||||
));
|
||||
public static final DeferredItem<PortalGunItem> PORTAL_GUN_ATLAS = ITEMS.register("portal_gun_atlas",
|
||||
() -> new PortalGunItem(
|
||||
new Item.Properties().stacksTo(1).durability(256).rarity(Rarity.RARE),
|
||||
AntarchyFabricEntities.PORTAL_GUN_PORTAL,
|
||||
AntarchyFabricEntities.PORTAL_GUN_BLACK_HOLE,
|
||||
AntarchyFabricEntities.PORTAL_GUN_PROJECTILE,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_MASTER,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_BASE,
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunVariant.ATLAS
|
||||
));
|
||||
public static final DeferredItem<PortalGunItem> PORTAL_GUN_P_BODY = ITEMS.register("portal_gun_p_body",
|
||||
() -> new PortalGunItem(
|
||||
new Item.Properties().stacksTo(1).durability(256).rarity(Rarity.RARE),
|
||||
AntarchyFabricEntities.PORTAL_GUN_PORTAL,
|
||||
AntarchyFabricEntities.PORTAL_GUN_BLACK_HOLE,
|
||||
AntarchyFabricEntities.PORTAL_GUN_PROJECTILE,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_MASTER,
|
||||
AntarchyFabricBlocks.PORTAL_GUN_PORTAL_BASE,
|
||||
com.craisinlord.antarchy.content.portalgun.PortalGunVariant.P_BODY
|
||||
));
|
||||
|
||||
public static final DeferredItem<EyeOfTheStormItem> EYE_OF_THE_STORM = ITEMS.register("eye_of_the_storm",
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
"infinity.AmendmentRareOresMixin"
|
||||
],
|
||||
"client": [
|
||||
"client.RenderTargetDepthStencilMixin",
|
||||
"client.SeparateLargeItemModelsMixin",
|
||||
"client.SeparateLargeItemGuiLightingMixin",
|
||||
"client.CameraShakeMixin",
|
||||
"client.BrutalflyElytraExperienceBarMixin",
|
||||
"client.BloodglassChatOrderMixin",
|
||||
"client.DuctTapeInputMixin",
|
||||
"client.LiquidFogMixin",
|
||||
"client.GravityGunMouseScrollMixin",
|
||||
"client.KeybindingConflictFixMixin",
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "antarchy:item/portal_gun_held_geo"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "antarchy:item/portal_gun_held_geo"
|
||||
}
|
||||
Reference in new issue
Block a user