Skip to content

Commit

Permalink
Merge branch 'server-renderer' into 1.20.4
Browse files Browse the repository at this point in the history
  • Loading branch information
MATRIX-feather committed Feb 2, 2024
2 parents b04182b + 7707db6 commit 210ba59
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 21 deletions.
1 change: 1 addition & 0 deletions src/main/java/xiamomc/morph/MorphPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ public void onEnable()
mirrorProcessor,
new CommonEventProcessor(),
new RevealingEventProcessor(),
new DisguiseAnimationProcessor(),
new ForcedDisguiseProcessor()
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
public class LivingEntityValues extends EntityValues
{
public final SingleValue<Byte> LIVING_FLAGS = getSingle("living_flags", (byte)0);
public final SingleValue<Float> HEALTH = getSingle("living_health", 1f);
public final SingleValue<Integer> POTION_COLOR = getSingle("living_option_color", 0);
public final SingleValue<Boolean> POTION_ISAMBIENT = getSingle("living_potion_is_ambient", false);
public final SingleValue<Integer> STUCKED_ARROWS = getSingle("living_stucked_arrows", 0);
public final SingleValue<Integer> BEE_STINGERS = getSingle("living_bee_stingers", 0);
public final SingleValue<Float> HEALTH = getSingle("living_health", 1f);
public final SingleValue<Optional<BlockPos>> BED_POS = getSingle("living_bed_pos", Optional.of(new BlockPos(0,0,0)));

public LivingEntityValues()
Expand Down
20 changes: 0 additions & 20 deletions src/main/java/xiamomc/morph/events/CommonEventProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -221,31 +221,11 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent e)
e.setCancelled(tryInvokeSkillOrQuickDisguise(e.getPlayer(), Action.RIGHT_CLICK_AIR, e.getHand()) || e.isCancelled());
}

@Resolved
private PlayerTracker tracker;

@EventHandler
public void onEntityDamagedByEntity(EntityDamageByEntityEvent e)
{
var state = morphs.getDisguiseStateFor(e.getDamager());
if (state == null) return;

state.getDisguiseWrapper().playAttackAnimation();
}

@EventHandler
public void onPlayerInteract(PlayerInteractEvent e)
{
if (tryInvokeSkillOrQuickDisguise(e.getPlayer(), e.getAction(), e.getHand()))
e.setCancelled(true);

var player = e.getPlayer();
if (e.getAction().isLeftClick() && !tracker.isBreakingSuspect(player))
{
var state = morphs.getDisguiseStateFor(player);
if (state != null)
state.getDisguiseWrapper().playAttackAnimation();
}
}

/**
Expand Down
40 changes: 40 additions & 0 deletions src/main/java/xiamomc/morph/events/DisguiseAnimationProcessor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package xiamomc.morph.events;

import com.destroystokyo.paper.event.player.PlayerJumpEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import xiamomc.morph.MorphManager;
import xiamomc.morph.MorphPluginObject;
import xiamomc.pluginbase.Annotations.Resolved;

public class DisguiseAnimationProcessor extends MorphPluginObject implements Listener
{
@Resolved(shouldSolveImmediately = true)
private PlayerTracker tracker;

@Resolved(shouldSolveImmediately = true)
private MorphManager morphManager;

@EventHandler
public void onPlayerInteract(PlayerInteractEvent e)
{
var player = e.getPlayer();
if (e.getAction().isLeftClick() && !tracker.isBreakingSuspect(player))
{
var state = morphManager.getDisguiseStateFor(player);
if (state != null)
state.getDisguiseWrapper().playAttackAnimation();
}
}

@EventHandler
public void onEntityDamagedByEntity(EntityDamageByEntityEvent e)
{
var state = morphManager.getDisguiseStateFor(e.getDamager());
if (state == null) return;

state.getDisguiseWrapper().playAttackAnimation();
}
}

0 comments on commit 210ba59

Please sign in to comment.