added back rolly polly, fixed various issues, antiwater sponge behavior, expiremental settings disabled natively, farbic keybind conflict fix natively
This commit is contained in:
1 parent
cc5ab10de7
commit
e4b7b76cff
79 files changed
+952
-328
No files matched your search
@@ -180,6 +180,8 @@ public final class AntarchyConfigModuleFabric {
|
||||
|| name.equals("glowingTorchflowers")
|
||||
|| name.equals("glowVinesUnderLeaves")
|
||||
|| name.equals("swingThroughGrassEnabled")
|
||||
|| name.equals("fabricKeybindingConflictFixEnabled")
|
||||
|| name.equals("experimentalSettingsPopupDisabled")
|
||||
|| name.equals("entitySpecificFireOverlayEnabled")
|
||||
|| name.equals("dreamSandEnabled")
|
||||
|| name.startsWith("dreamSand")
|
||||
|
||||
@@ -299,7 +299,7 @@ public final class AntarchyFabric implements ModInitializer {
|
||||
BiomeSelectors.tag(GOLDEN_APPLE_COW_SPAWN_BIOMES),
|
||||
net.minecraft.world.entity.MobCategory.CREATURE,
|
||||
AntarchyFabricEntities.GOLDEN_APPLE_COW.get(),
|
||||
3, 1, 3
|
||||
1, 1, 3
|
||||
);
|
||||
BiomeModifications.addSpawn(
|
||||
BiomeSelectors.tag(FLYING_SQUIRREL_SPAWN_BIOMES),
|
||||
|
||||
@@ -269,7 +269,10 @@ public final class AntarchyFabricContent {
|
||||
AntarchyFabricSounds.JUMPY_BUG_JUMP,
|
||||
AntarchyFabricSounds.SPIT_BUG_HURT,
|
||||
AntarchyFabricSounds.SPIT_BUG_SPIT,
|
||||
AntarchyFabricSounds.BRUTALFLY_SPIT
|
||||
AntarchyFabricSounds.BRUTALFLY_SPIT,
|
||||
AntarchyFabricSounds.ROLLY_POLLY_WHEEL_MODE,
|
||||
AntarchyFabricSounds.ROLLY_POLLY_NORMAL_MODE,
|
||||
AntarchyFabricSounds.ROLLY_POLLY_ROLL
|
||||
);
|
||||
|
||||
AntarchyObjects.setOctopusBomb(AntarchyFabricEntities.OCTOPUS_BOMB);
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package com.craisinlord.antarchy.fabric;
|
||||
|
||||
import com.craisinlord.antarchy.Antarchy;
|
||||
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricItems;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.dispenser.BlockSource;
|
||||
import net.minecraft.core.dispenser.DefaultDispenseItemBehavior;
|
||||
import net.minecraft.core.dispenser.DispenseItemBehavior;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.SpawnEggItem;
|
||||
import net.minecraft.world.level.block.DispenserBlock;
|
||||
import net.minecraft.world.level.gameevent.GameEvent;
|
||||
|
||||
public final class AntarchyFabricDispenserBehaviors {
|
||||
private static final DispenseItemBehavior SPAWN_EGG_BEHAVIOR = new DefaultDispenseItemBehavior() {
|
||||
@Override
|
||||
public ItemStack execute(BlockSource source, ItemStack stack) {
|
||||
Direction direction = source.state().getValue(DispenserBlock.FACING);
|
||||
EntityType<?> entityType = ((SpawnEggItem) stack.getItem()).getType(stack);
|
||||
|
||||
try {
|
||||
entityType.spawn(source.level(), stack, null, source.pos().relative(direction), MobSpawnType.DISPENSER, direction != Direction.UP, false);
|
||||
} catch (Exception exception) {
|
||||
Antarchy.LOGGER.error("Error while dispensing spawn egg from dispenser at {}", source.pos(), exception);
|
||||
return ItemStack.EMPTY;
|
||||
}
|
||||
|
||||
stack.shrink(1);
|
||||
source.level().gameEvent(null, GameEvent.ENTITY_PLACE, source.pos());
|
||||
return stack;
|
||||
}
|
||||
};
|
||||
|
||||
private AntarchyFabricDispenserBehaviors() {
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
registerSpawnEggs();
|
||||
registerPotions();
|
||||
}
|
||||
|
||||
private static void registerSpawnEggs() {
|
||||
for (var holder : AntarchyFabricItems.ITEMS.getEntries()) {
|
||||
Item item = holder.get();
|
||||
if (item instanceof SpawnEggItem) {
|
||||
DispenserBlock.registerBehavior(item, SPAWN_EGG_BEHAVIOR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void registerPotions() {
|
||||
DispenserBlock.registerProjectileBehavior(Items.SPLASH_POTION);
|
||||
DispenserBlock.registerProjectileBehavior(Items.LINGERING_POTION);
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import net.fabricmc.fabric.api.event.player.AttackEntityCallback;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import com.craisinlord.antarchy.content.SquidzookaDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.RpoLauncherDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.SizeRayDispenseBehavior;
|
||||
import com.craisinlord.antarchy.content.WaterCannonDispenseBehavior;
|
||||
import net.minecraft.world.level.block.ComposterBlock;
|
||||
import net.minecraft.world.level.block.DispenserBlock;
|
||||
@@ -58,6 +59,9 @@ public final class AntarchyFabricEvents {
|
||||
DispenserBlock.registerBehavior(AntarchyFabricItems.SQUIDZOOKA.get(), new SquidzookaDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyFabricItems.RPO_LAUNCHER.get(), new RpoLauncherDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyFabricItems.WATER_CANNON.get(), new WaterCannonDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyFabricItems.SHRINK_RAY.get(), new SizeRayDispenseBehavior());
|
||||
DispenserBlock.registerBehavior(AntarchyFabricItems.GROWTH_RAY.get(), new SizeRayDispenseBehavior());
|
||||
AntarchyFabricDispenserBehaviors.register();
|
||||
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricBlocks.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f);
|
||||
ComposterBlock.COMPOSTABLES.put(AntarchyFabricBlocks.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f);
|
||||
|
||||
+1
-2
@@ -135,7 +135,7 @@ public final class AntarchyFabricClientBootstrap {
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.OURANWOOD_DEER.get(), com.craisinlord.antarchy.content.client.renderer.OuranwoodDeerRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.GLIMMER.get(), com.craisinlord.antarchy.content.client.renderer.glimmer.GlimmerRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.ELKA.get(), com.craisinlord.antarchy.content.client.renderer.ElkaRenderer::new);
|
||||
// EntityRendererRegistry.register(AntarchyFabricEntities.ROLLY_POLLY.get(), RollyPollyRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.ROLLY_POLLY.get(), com.craisinlord.antarchy.content.client.renderer.RollyPollyRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.TERMITE.get(), TermiteRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.CREEPING_HORROR.get(), CreepingHorrorRenderer::new);
|
||||
EntityRendererRegistry.register(AntarchyFabricEntities.LURKING_TERROR.get(), LurkingTerrorRenderer::new);
|
||||
@@ -448,7 +448,6 @@ public final class AntarchyFabricClientBootstrap {
|
||||
ScorpionWhipTetherRenderHandler.tick();
|
||||
DorrieJumpClientHandler.tick();
|
||||
HerculesBeetleClientHandler.tick();
|
||||
RollyPollyClientHandler.tick();
|
||||
});
|
||||
|
||||
BigBerthaClientHandler.register();
|
||||
|
||||
@@ -31,20 +31,12 @@ public final class AntarchyKeyBindings {
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping(
|
||||
"key.antarchy.rolly_polly_roll",
|
||||
InputConstants.Type.KEYSYM,
|
||||
GLFW.GLFW_KEY_R,
|
||||
CATEGORY
|
||||
);
|
||||
|
||||
private AntarchyKeyBindings() {}
|
||||
|
||||
public static void register() {
|
||||
KeyBindingHelper.registerKeyBinding(BRUTALFLY_FLAP);
|
||||
KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP);
|
||||
KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_CHARGE);
|
||||
KeyBindingHelper.registerKeyBinding(ROLLY_POLLY_ROLL);
|
||||
}
|
||||
|
||||
public static boolean isBrutalflyFlapPressed() {
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package com.craisinlord.antarchy.fabric.client;
|
||||
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.KeyMapping;
|
||||
|
||||
public final class KeybindingConflictFixStore {
|
||||
private static final Map<InputConstants.Key, List<KeyMapping>> MAPPINGS = new HashMap<>();
|
||||
|
||||
private KeybindingConflictFixStore() {
|
||||
}
|
||||
|
||||
public static void add(InputConstants.Key key, KeyMapping mapping) {
|
||||
List<KeyMapping> mappings = MAPPINGS.computeIfAbsent(key, ignored -> new ArrayList<>());
|
||||
if (!mappings.contains(mapping)) {
|
||||
mappings.add(mapping);
|
||||
}
|
||||
}
|
||||
|
||||
public static void clear() {
|
||||
MAPPINGS.clear();
|
||||
}
|
||||
|
||||
public static List<KeyMapping> others(InputConstants.Key key, KeyMapping active) {
|
||||
List<KeyMapping> mappings = MAPPINGS.get(key);
|
||||
if (mappings == null || mappings.size() < 2) {
|
||||
return List.of();
|
||||
}
|
||||
List<KeyMapping> others = new ArrayList<>(mappings.size() - 1);
|
||||
for (KeyMapping mapping : mappings) {
|
||||
if (mapping != active) {
|
||||
others.add(mapping);
|
||||
}
|
||||
}
|
||||
return others;
|
||||
}
|
||||
}
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
package com.craisinlord.antarchy.fabric.client;
|
||||
|
||||
import com.craisinlord.antarchy.content.entity.RollyPollyEntity;
|
||||
import com.craisinlord.antarchy.content.network.RollyPollyRollPayload;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
||||
public final class RollyPollyClientHandler {
|
||||
private static boolean wasPressingRoll;
|
||||
|
||||
private RollyPollyClientHandler() {
|
||||
}
|
||||
|
||||
public static void tick() {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) {
|
||||
wasPressingRoll = false;
|
||||
return;
|
||||
}
|
||||
|
||||
boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown();
|
||||
if (pressingRoll && !wasPressingRoll) {
|
||||
ClientPlayNetworking.send(new RollyPollyRollPayload());
|
||||
}
|
||||
wasPressingRoll = pressingRoll;
|
||||
}
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.content.AntarchyTags;
|
||||
import com.craisinlord.antarchy.content.movement.DreamSandLowGravityAccess;
|
||||
import com.craisinlord.antarchy.fabric.registry.AntarchyFabricBlocks;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
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;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(LivingEntity.class)
|
||||
public abstract class DreamSandMovementMixin {
|
||||
@Inject(method = "jumpFromGround", at = @At("TAIL"))
|
||||
private void antarchy$handleDreamSandJump(CallbackInfo ci) {
|
||||
LivingEntity self = (LivingEntity) (Object) this;
|
||||
if (self.level().isClientSide()) return;
|
||||
|
||||
DreamSandLowGravityAccess access = (DreamSandLowGravityAccess) self;
|
||||
if (!AntarchySettings.dreamSandEnabled() || antarchy$isDreamSandLowGravityBlacklisted(self)) {
|
||||
access.antarchy$clearDreamSandLowGravity();
|
||||
} else if (antarchy$isStandingOnDreamSand(self)) {
|
||||
self.setDeltaMovement(
|
||||
self.getDeltaMovement().x,
|
||||
self.getDeltaMovement().y * AntarchySettings.dreamSandJumpVelocityMultiplier(),
|
||||
self.getDeltaMovement().z
|
||||
);
|
||||
access.antarchy$setDreamSandLowGravityActive(true);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining((int) Math.max(1L, Math.round(AntarchySettings.dreamSandEffectDurationSeconds() * 20.0D)));
|
||||
access.antarchy$setDreamSandLandingGraceTicks(0);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "tick", at = @At("TAIL"))
|
||||
private void antarchy$tickDreamSandLowGravity(CallbackInfo ci) {
|
||||
LivingEntity self = (LivingEntity) (Object) this;
|
||||
if (self.level().isClientSide()) return;
|
||||
|
||||
DreamSandLowGravityAccess access = (DreamSandLowGravityAccess) self;
|
||||
int landingGraceTicks = access.antarchy$getDreamSandLandingGraceTicks();
|
||||
if (landingGraceTicks > 0) {
|
||||
access.antarchy$setDreamSandLandingGraceTicks(landingGraceTicks - 1);
|
||||
}
|
||||
|
||||
if (!AntarchySettings.dreamSandEnabled() || antarchy$isDreamSandLowGravityBlacklisted(self) || !access.antarchy$isDreamSandLowGravityActive()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int remainingTicks = access.antarchy$getDreamSandLowGravityTicksRemaining();
|
||||
if (remainingTicks > 0) {
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(remainingTicks - 1);
|
||||
}
|
||||
if (access.antarchy$getDreamSandLowGravityTicksRemaining() <= 0) {
|
||||
access.antarchy$clearDreamSandLowGravity();
|
||||
return;
|
||||
}
|
||||
|
||||
if (antarchy$isOnSolidGround(self)) {
|
||||
access.antarchy$setDreamSandLowGravityActive(false);
|
||||
access.antarchy$setDreamSandLowGravityTicksRemaining(0);
|
||||
access.antarchy$setDreamSandLandingGraceTicks(2);
|
||||
} else if (!self.onGround() && self.getDeltaMovement().y < 0.0D) {
|
||||
self.setDeltaMovement(
|
||||
self.getDeltaMovement().x,
|
||||
self.getDeltaMovement().y * AntarchySettings.dreamSandGravityMultiplier(),
|
||||
self.getDeltaMovement().z
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "causeFallDamage", at = @At("HEAD"), cancellable = true)
|
||||
private void antarchy$handleDreamSandFall(float fallDistance, float multiplier, DamageSource source, CallbackInfoReturnable<Boolean> cir) {
|
||||
LivingEntity self = (LivingEntity) (Object) this;
|
||||
DreamSandLowGravityAccess access = (DreamSandLowGravityAccess) self;
|
||||
if (!AntarchySettings.dreamSandEnabled()
|
||||
|| antarchy$isDreamSandLowGravityBlacklisted(self)
|
||||
|| (!access.antarchy$isDreamSandLowGravityActive() && access.antarchy$getDreamSandLandingGraceTicks() <= 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
self.resetFallDistance();
|
||||
cir.setReturnValue(false);
|
||||
}
|
||||
|
||||
private static boolean antarchy$isOnSolidGround(LivingEntity livingEntity) {
|
||||
return livingEntity.onGround() && livingEntity.getBlockStateOn().blocksMotion();
|
||||
}
|
||||
|
||||
private static boolean antarchy$isStandingOnDreamSand(LivingEntity livingEntity) {
|
||||
return livingEntity.level().getBlockState(livingEntity.getOnPosLegacy()).is(AntarchyFabricBlocks.DREAM_SAND.get());
|
||||
}
|
||||
|
||||
private static boolean antarchy$isDreamSandLowGravityBlacklisted(LivingEntity livingEntity) {
|
||||
return livingEntity.getType().is(AntarchyTags.Entities.DREAM_SAND_LOW_GRAVITY_BLACKLIST);
|
||||
}
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
package com.craisinlord.antarchy.fabric.mixin.client;
|
||||
|
||||
import com.craisinlord.antarchy.config.AntarchySettings;
|
||||
import com.craisinlord.antarchy.fabric.client.KeybindingConflictFixStore;
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import java.util.Map;
|
||||
import net.minecraft.client.KeyMapping;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(KeyMapping.class)
|
||||
public abstract class KeybindingConflictFixMixin {
|
||||
@Shadow @Final private static Map<InputConstants.Key, KeyMapping> MAP;
|
||||
@Shadow @Final private static Map<String, KeyMapping> ALL;
|
||||
@Shadow private InputConstants.Key key;
|
||||
@Shadow private boolean isDown;
|
||||
@Shadow private int clickCount;
|
||||
|
||||
@Inject(method = "<init>(Ljava/lang/String;Lcom/mojang/blaze3d/platform/InputConstants$Type;ILjava/lang/String;)V", at = @At("TAIL"))
|
||||
private void antarchy$addInitialMapping(String name, InputConstants.Type type, int key, String category, CallbackInfo ci) {
|
||||
KeybindingConflictFixStore.add(this.key, (KeyMapping) (Object) this);
|
||||
}
|
||||
|
||||
@Inject(method = "resetMapping", at = @At("TAIL"))
|
||||
private static void antarchy$rebuildMappings(CallbackInfo ci) {
|
||||
KeybindingConflictFixStore.clear();
|
||||
for (KeyMapping mapping : ALL.values()) {
|
||||
KeybindingConflictFixStore.add(((KeybindingConflictFixMixin) (Object) mapping).key, mapping);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "click", at = @At("TAIL"))
|
||||
private static void antarchy$clickConflicts(InputConstants.Key key, CallbackInfo ci) {
|
||||
if (!AntarchySettings.fabricKeybindingConflictFixEnabled()) {
|
||||
return;
|
||||
}
|
||||
KeyMapping active = MAP.get(key);
|
||||
for (KeyMapping mapping : KeybindingConflictFixStore.others(key, active)) {
|
||||
((KeybindingConflictFixMixin) (Object) mapping).antarchy$click();
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "set", at = @At("TAIL"))
|
||||
private static void antarchy$setConflicts(InputConstants.Key key, boolean down, CallbackInfo ci) {
|
||||
if (!AntarchySettings.fabricKeybindingConflictFixEnabled()) {
|
||||
return;
|
||||
}
|
||||
KeyMapping active = MAP.get(key);
|
||||
for (KeyMapping mapping : KeybindingConflictFixStore.others(key, active)) {
|
||||
((KeybindingConflictFixMixin) (Object) mapping).antarchy$setDown(down);
|
||||
}
|
||||
}
|
||||
|
||||
@Unique
|
||||
private void antarchy$click() {
|
||||
this.clickCount++;
|
||||
}
|
||||
|
||||
@Unique
|
||||
private void antarchy$setDown(boolean down) {
|
||||
this.isDown = down;
|
||||
}
|
||||
}
|
||||
-9
@@ -88,7 +88,6 @@ public final class AntarchyFabricNetworking {
|
||||
PayloadTypeRegistry.playC2S().register(HerculesBeetleJumpInputPayload.TYPE, HerculesBeetleJumpInputPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedAttackPayload.TYPE, HerculesBeetleMountedAttackPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, com.craisinlord.antarchy.content.network.RollyPollyRollPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC);
|
||||
}
|
||||
@@ -116,8 +115,6 @@ public final class AntarchyFabricNetworking {
|
||||
context.server().execute(() -> handleHerculesBeetleMountedAttack(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(HerculesBeetleMountedChargePayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleHerculesBeetleMountedCharge(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleRollyPollyRoll(context.player())));
|
||||
ServerPlayNetworking.registerGlobalReceiver(MultipartAttackPayload.TYPE, (payload, context) ->
|
||||
context.server().execute(() -> handleMultipartAttack(context.player(), payload)));
|
||||
ServerPlayNetworking.registerGlobalReceiver(MultipartInteractPayload.TYPE, (payload, context) ->
|
||||
@@ -397,12 +394,6 @@ public final class AntarchyFabricNetworking {
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleRollyPollyRoll(ServerPlayer player) {
|
||||
if (player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.RollyPollyEntity rollyPolly) {
|
||||
rollyPolly.handleRollToggle(player);
|
||||
}
|
||||
}
|
||||
|
||||
public static void triggerHerculesBeetleImpactShake(int durationTicks) {
|
||||
HerculesBeetleImpactShakeClientState.trigger(durationTicks);
|
||||
}
|
||||
|
||||
+5
-5
@@ -278,11 +278,11 @@ public final class AntarchyFabricEntities {
|
||||
() -> buildAntType(com.craisinlord.antarchy.content.entity.ant.TermiteEntity::new, MobCategory.CREATURE, "termite"));
|
||||
|
||||
|
||||
// public static final DeferredHolder<EntityType<?>, EntityType<RollyPollyEntity>> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly",
|
||||
// () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE)
|
||||
// .sized(0.95F, 0.85F)
|
||||
// .clientTrackingRange(10)
|
||||
// .build("rolly_polly"));
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<RollyPollyEntity>> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly",
|
||||
() -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE)
|
||||
.sized(0.95F, 0.85F)
|
||||
.clientTrackingRange(10)
|
||||
.build("rolly_polly"));
|
||||
|
||||
|
||||
public static final DeferredHolder<EntityType<?>, EntityType<MolewormEntity>> MOLEWORM = ENTITY_TYPES.register("moleworm",
|
||||
|
||||
+1
-1
@@ -303,7 +303,7 @@ public final class AntarchyFabricEntityAttributes {
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.SPIT_BUG.get(), com.craisinlord.antarchy.content.entity.SpitBugEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.MANTIS.get(), MantisEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build());
|
||||
// FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.TRIFFID.get(), TriffidEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.LUCID.get(), LucidEntity.createAttributes().build());
|
||||
FabricDefaultAttributeRegistry.register(AntarchyFabricEntities.SCORPION.get(), ScorpionEntity.createAttributes().build());
|
||||
|
||||
+2
-2
@@ -1436,8 +1436,8 @@ public final class AntarchyFabricItems {
|
||||
() -> new DeferredSpawnEggItem(AntarchyFabricEntities.ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties()));
|
||||
|
||||
|
||||
// public static final DeferredItem<DeferredSpawnEggItem> ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg",
|
||||
// () -> new DeferredSpawnEggItem(AntarchyFabricEntities.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties()));
|
||||
public static final DeferredItem<DeferredSpawnEggItem> ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(AntarchyFabricEntities.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties()));
|
||||
|
||||
|
||||
public static final DeferredItem<DeferredSpawnEggItem> MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg",
|
||||
|
||||
+3
@@ -635,6 +635,9 @@ public final class AntarchyFabricSounds {
|
||||
|
||||
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> ROLLY_POLLY_IDLE = registerSoundEvent("rolly_polly_idle");
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> ROLLY_POLLY_WHEEL_MODE = registerSoundEvent("rolly_polly_wheel_mode");
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> ROLLY_POLLY_NORMAL_MODE = registerSoundEvent("rolly_polly_normal_mode");
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> ROLLY_POLLY_ROLL = registerSoundEvent("rolly_polly_roll");
|
||||
|
||||
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> CREEPING_HORROR_GROWL = registerSoundEvent("creeping_horror_growl");
|
||||
|
||||
+1
-1
@@ -294,7 +294,7 @@ public final class AntarchyFabricSpawnPlacements {
|
||||
SpawnPlacements.register(AntarchyFabricEntities.CREEPING_HORROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.CreepingHorrorEntity::canSpawn);
|
||||
SpawnPlacements.register(AntarchyFabricEntities.LURKING_TERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.LurkingTerrorEntity::canSpawn);
|
||||
SpawnPlacements.register(AntarchyFabricEntities.TERMITE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules);
|
||||
// SpawnPlacements.register(AntarchyFabricEntities.ROLLY_POLLY.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn);
|
||||
SpawnPlacements.register(AntarchyFabricEntities.ROLLY_POLLY.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, com.craisinlord.antarchy.content.entity.RollyPollyEntity::canSpawn);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,6 +14,7 @@
|
||||
"BloodglassEffectMixin",
|
||||
"BloodglassRespawnMixin",
|
||||
"DreamCampfireBlockEntityMixin",
|
||||
"DreamSandMovementMixin",
|
||||
"JumpyBootsFallDamageMixin",
|
||||
"entity.MultipartEntityLevelRegistryMixin",
|
||||
"WoodTypeInvoker",
|
||||
@@ -24,6 +25,7 @@
|
||||
"client.DuctTapeInputMixin",
|
||||
"client.AntiwaterFogMixin",
|
||||
"client.GravityGunMouseScrollMixin",
|
||||
"client.KeybindingConflictFixMixin",
|
||||
"client.CrossbowArmPoseMixin",
|
||||
"client.MultipartClientSpawnMixin",
|
||||
"client.MultipartEntityLevelRegistryMixin"
|
||||
|
||||
Reference in new issue
Block a user