Skip to content

Commit 04154a1

Browse files
committed
fix block restrictions and add getEventPlayer method
1 parent 07003cd commit 04154a1

File tree

5 files changed

+27
-20
lines changed

5 files changed

+27
-20
lines changed

src/main/java/com/elchologamer/userlogin/listener/restriction/AttackRestriction.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.elchologamer.userlogin.listener.restriction;
22

3-
import com.elchologamer.userlogin.api.UserLoginAPI;
43
import org.bukkit.entity.Entity;
5-
import org.bukkit.entity.EntityType;
64
import org.bukkit.entity.Player;
75
import org.bukkit.event.EventHandler;
86
import org.bukkit.event.entity.EntityDamageByEntityEvent;
@@ -14,13 +12,9 @@ public AttackRestriction() {
1412
}
1513

1614
@Override
17-
public boolean shouldRestrict(EntityDamageByEntityEvent event) {
18-
if (!getPlugin().getConfig().getBoolean("restrictions." + configKey)) return false;
19-
15+
protected Player getEventPlayer(EntityDamageByEntityEvent event) {
2016
Entity damager = event.getDamager();
21-
if (damager.getType() != EntityType.PLAYER) return false;
22-
23-
return !UserLoginAPI.isLoggedIn((Player) damager);
17+
return damager instanceof Player ? (Player) damager : null;
2418
}
2519

2620
@EventHandler

src/main/java/com/elchologamer/userlogin/listener/restriction/BaseRestriction.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,7 @@ public boolean shouldRestrict(E event) {
2929

3030
RestrictionEvent<E> restrictionEvent = new RestrictionEvent<>(event);
3131

32-
Player player = null;
33-
34-
if (event instanceof PlayerEvent) {
35-
player = ((PlayerEvent) event).getPlayer();
36-
} else if (event instanceof EntityEvent && ((EntityEvent) event).getEntityType() == EntityType.PLAYER) {
37-
player = (Player) ((EntityEvent) event).getEntity();
38-
}
32+
Player player = getEventPlayer(event);
3933

4034
if (player == null || UserLoginAPI.isLoggedIn(player)) return false;
4135

@@ -46,6 +40,20 @@ public boolean shouldRestrict(E event) {
4640
return !restrictionEvent.isCancelled();
4741
}
4842

43+
protected Player getEventPlayer(E event) {
44+
if (event instanceof PlayerEvent) {
45+
return ((PlayerEvent) event).getPlayer();
46+
} else if (event instanceof EntityEvent) {
47+
EntityEvent ee = (EntityEvent) event;
48+
49+
if (ee.getEntityType() == EntityType.PLAYER) {
50+
return (Player) ee.getEntity();
51+
}
52+
}
53+
54+
return null;
55+
}
56+
4957
public UserLogin getPlugin() {
5058
return plugin;
5159
}

src/main/java/com/elchologamer/userlogin/listener/restriction/BlockBreakingRestriction.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.elchologamer.userlogin.listener.restriction;
22

3+
import org.bukkit.entity.Player;
34
import org.bukkit.event.EventHandler;
45
import org.bukkit.event.block.BlockBreakEvent;
56

@@ -9,6 +10,11 @@ public BlockBreakingRestriction() {
910
super("blockBreaking");
1011
}
1112

13+
@Override
14+
protected Player getEventPlayer(BlockBreakEvent event) {
15+
return event.getPlayer();
16+
}
17+
1218
@EventHandler
1319
public void handle(BlockBreakEvent e) {
1420
if (shouldRestrict(e)) e.setCancelled(true);

src/main/java/com/elchologamer/userlogin/listener/restriction/BlockPlacingRestriction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.elchologamer.userlogin.listener.restriction;
22

3-
import com.elchologamer.userlogin.api.UserLoginAPI;
3+
import org.bukkit.entity.Player;
44
import org.bukkit.event.EventHandler;
55
import org.bukkit.event.block.BlockPlaceEvent;
66

@@ -11,8 +11,8 @@ public BlockPlacingRestriction() {
1111
}
1212

1313
@Override
14-
public boolean shouldRestrict(BlockPlaceEvent e) {
15-
return super.shouldRestrict(e) && !UserLoginAPI.isLoggedIn(e.getPlayer());
14+
protected Player getEventPlayer(BlockPlaceEvent event) {
15+
return event.getPlayer();
1616
}
1717

1818
@EventHandler

src/main/java/com/elchologamer/userlogin/listener/restriction/ItemPickupRestriction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.elchologamer.userlogin.listener.restriction;
22

3-
import org.bukkit.entity.EntityType;
43
import org.bukkit.event.EventHandler;
54
import org.bukkit.event.entity.EntityPickupItemEvent;
65

@@ -12,7 +11,7 @@ public ItemPickupRestriction() {
1211

1312
@EventHandler
1413
public void handle(EntityPickupItemEvent e) {
15-
if (e.getEntityType() == EntityType.PLAYER && shouldRestrict(e))
14+
if (shouldRestrict(e))
1615
e.setCancelled(true);
1716
}
1817
}

0 commit comments

Comments
 (0)