Skip to content

Commit a548538

Browse files
authored
Make bucket fill events provide the correct event-block. (#6392)
* Fix Bucket event-block * Update src/main/java/ch/njol/skript/classes/data/BukkitEventValues.java
1 parent 7f61018 commit a548538

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

src/main/java/ch/njol/skript/classes/data/BukkitEventValues.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -712,14 +712,14 @@ public Block get(final PlayerBedLeaveEvent e) {
712712
@Override
713713
@Nullable
714714
public Block get(final PlayerBucketFillEvent e) {
715-
return e.getBlockClicked().getRelative(e.getBlockFace());
715+
return e.getBlockClicked();
716716
}
717717
}, 0);
718718
EventValues.registerEventValue(PlayerBucketFillEvent.class, Block.class, new Getter<Block, PlayerBucketFillEvent>() {
719719
@Override
720720
@Nullable
721721
public Block get(final PlayerBucketFillEvent e) {
722-
final BlockState s = e.getBlockClicked().getRelative(e.getBlockFace()).getState();
722+
final BlockState s = e.getBlockClicked().getState();
723723
s.setType(Material.AIR);
724724
s.setRawData((byte) 0);
725725
return new BlockStateBlock(s, true);

src/main/java/ch/njol/skript/events/EvtBlock.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ public boolean init(final Literal<?>[] args, final int matchedPattern, final Par
9090

9191
@SuppressWarnings("null")
9292
@Override
93-
public boolean check(final Event e) {
94-
if (mine && e instanceof BlockBreakEvent) {
95-
if (((BlockBreakEvent) e).getBlock().getDrops(((BlockBreakEvent) e).getPlayer().getItemInHand()).isEmpty())
93+
public boolean check(final Event event) {
94+
if (mine && event instanceof BlockBreakEvent) {
95+
if (((BlockBreakEvent) event).getBlock().getDrops(((BlockBreakEvent) event).getPlayer().getItemInHand()).isEmpty())
9696
return false;
9797
}
9898
if (types == null)
@@ -101,27 +101,27 @@ public boolean check(final Event e) {
101101
ItemType item;
102102
BlockData blockData = null;
103103

104-
if (e instanceof BlockFormEvent) {
105-
BlockFormEvent blockFormEvent = (BlockFormEvent) e;
104+
if (event instanceof BlockFormEvent) {
105+
BlockFormEvent blockFormEvent = (BlockFormEvent) event;
106106
BlockState newState = blockFormEvent.getNewState();
107107
item = new ItemType(newState);
108108
blockData = newState.getBlockData();
109-
} else if (e instanceof BlockEvent) {
110-
BlockEvent blockEvent = (BlockEvent) e;
109+
} else if (event instanceof BlockEvent) {
110+
BlockEvent blockEvent = (BlockEvent) event;
111111
Block block = blockEvent.getBlock();
112112
item = new ItemType(block);
113113
blockData = block.getBlockData();
114-
} else if (e instanceof PlayerBucketFillEvent) {
115-
PlayerBucketFillEvent playerBucketFillEvent = ((PlayerBucketFillEvent) e);
116-
Block relative = playerBucketFillEvent.getBlockClicked().getRelative(playerBucketFillEvent.getBlockFace());
117-
item = new ItemType(relative);
118-
blockData = relative.getBlockData();
119-
} else if (e instanceof PlayerBucketEmptyEvent) {
120-
PlayerBucketEmptyEvent playerBucketEmptyEvent = ((PlayerBucketEmptyEvent) e);
114+
} else if (event instanceof PlayerBucketFillEvent) {
115+
PlayerBucketFillEvent playerBucketFillEvent = ((PlayerBucketFillEvent) event);
116+
Block block = playerBucketFillEvent.getBlockClicked();
117+
item = new ItemType(block);
118+
blockData = block.getBlockData();
119+
} else if (event instanceof PlayerBucketEmptyEvent) {
120+
PlayerBucketEmptyEvent playerBucketEmptyEvent = ((PlayerBucketEmptyEvent) event);
121121
item = new ItemType(playerBucketEmptyEvent.getItemStack());
122-
} else if (e instanceof HangingEvent) {
123-
final EntityData<?> d = EntityData.fromEntity(((HangingEvent) e).getEntity());
124-
return types.check(e, o -> {
122+
} else if (event instanceof HangingEvent) {
123+
final EntityData<?> d = EntityData.fromEntity(((HangingEvent) event).getEntity());
124+
return types.check(event, o -> {
125125
if (o instanceof ItemType)
126126
return Relation.EQUAL.isImpliedBy(DefaultComparators.entityItemComparator.compare(d, ((ItemType) o)));
127127
return false;
@@ -134,7 +134,7 @@ public boolean check(final Event e) {
134134
final ItemType itemF = item;
135135
BlockData finalBlockData = blockData;
136136

137-
return types.check(e, o -> {
137+
return types.check(event, o -> {
138138
if (o instanceof ItemType)
139139
return ((ItemType) o).isSupertypeOf(itemF);
140140
else if (o instanceof BlockData && finalBlockData != null)

0 commit comments

Comments
 (0)