Initial Commit

This commit is contained in:
IM23a-spirgif
2025-02-26 11:40:27 +01:00
commit a2ffe93ac4
26 changed files with 3010 additions and 0 deletions
@@ -0,0 +1,55 @@
package net.fretux.knockedback.effects;
import net.fretux.knockedback.KnockedManager;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = "knockedback", bus = Mod.EventBusSubscriber.Bus.FORGE)
public class KnockedEffect {
@SubscribeEvent
public static void onPlayerTick(LivingEvent.LivingTickEvent event) {
if (!(event.getEntity() instanceof Player player)) return;
if (KnockedManager.isKnocked(player)) {
player.setDeltaMovement(0, 0, 0);
player.setSprinting(false);
player.hurtMarked = true;
}
}
@SubscribeEvent
public static void onPlayerInteract(PlayerInteractEvent event) {
if (KnockedManager.isKnocked(event.getEntity())) {
if (event.isCancelable()) {
event.setCanceled(true);
}
}
}
@SubscribeEvent
public static void onBreakBlock(PlayerEvent.BreakSpeed event) {
if (KnockedManager.isKnocked(event.getEntity())) {
event.setCanceled(true);
}
}
@SubscribeEvent
public static void onAttack(AttackEntityEvent event) {
Player player = event.getEntity();
if (KnockedManager.isKnocked(player)) {
event.setCanceled(true);
}
}
@SubscribeEvent
public static void onLivingJump(LivingEvent.LivingJumpEvent event) {
if (event.getEntity() instanceof Player player && KnockedManager.isKnocked(player)) {
event.getEntity().setDeltaMovement(0, 0, 0);
}
}
}