Merge pull request #2485 from BentoBoxWorld/2484_wandering_trader

Allow wandering trader interaction at any time #2484
This commit is contained in:
tastybento 2024-08-28 12:54:29 -07:00 committed by GitHub
commit bd028aa5f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 5 deletions

View File

@ -42,6 +42,8 @@ public class EntityInteractListener extends FlagListener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerInteractEntity(PlayerInteractEntityEvent e)
{
System.out.println(e.getEventName());
System.out.println(e.getRightClicked());
Player p = e.getPlayer();
Location l = e.getRightClicked().getLocation();
@ -80,8 +82,9 @@ public class EntityInteractListener extends FlagListener {
this.checkIsland(e, p, l, Flags.BOAT);
}
}
else if (e.getRightClicked() instanceof Villager || e.getRightClicked() instanceof WanderingTrader)
else if (e.getRightClicked() instanceof Villager && !(e.getRightClicked() instanceof WanderingTrader))
{
System.out.println("Villager trading");
// Villager trading
// Check naming and check trading
this.checkIsland(e, p, l, Flags.TRADING);
@ -104,6 +107,7 @@ public class EntityInteractListener extends FlagListener {
}
else if (e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.NAME_TAG))
{
System.out.println("name tag");
// Name tags
this.checkIsland(e, p, l, Flags.NAME_TAG);
}

View File

@ -250,10 +250,11 @@ public class EntityInteractListenerTest extends AbstractCommonSetup {
clickedEntity = mock(WanderingTrader.class);
when(clickedEntity.getLocation()).thenReturn(location);
when(clickedEntity.getType()).thenReturn(EntityType.WANDERING_TRADER);
when(inv.getItemInMainHand()).thenReturn(new ItemStack(Material.STONE));
PlayerInteractEntityEvent e = new PlayerInteractEntityEvent(mockPlayer, clickedEntity, hand);
eil.onPlayerInteractEntity(e);
verify(notifier, times(2)).notify(any(), eq("protection.protected"));
assertTrue(e.isCancelled());
verify(notifier, never()).notify(any(), eq("protection.protected"));
assertFalse(e.isCancelled());
}
/**
@ -286,8 +287,8 @@ public class EntityInteractListenerTest extends AbstractCommonSetup {
when(clickedEntity.getLocation()).thenReturn(location);
PlayerInteractEntityEvent e = new PlayerInteractEntityEvent(mockPlayer, clickedEntity, hand);
eil.onPlayerInteractEntity(e);
verify(notifier).notify(any(), eq("protection.protected"));
assertTrue(e.isCancelled());
verify(notifier, never()).notify(any(), eq("protection.protected"));
assertFalse(e.isCancelled());
}
/**