|
11 | 11 | import land.melon.lab.simplelanguageloader.utils.TextUtils;
|
12 | 12 | import org.bukkit.Bukkit;
|
13 | 13 | import org.bukkit.Location;
|
| 14 | +import org.bukkit.Material; |
| 15 | +import org.bukkit.block.BlockFace; |
14 | 16 | import org.bukkit.block.Sign;
|
| 17 | +import org.bukkit.block.data.Directional; |
15 | 18 | import org.bukkit.command.Command;
|
16 | 19 | import org.bukkit.command.CommandSender;
|
17 | 20 | import org.bukkit.entity.Player;
|
| 21 | +import org.bukkit.event.block.BlockPlaceEvent; |
18 | 22 | import org.bukkit.event.block.SignChangeEvent;
|
| 23 | +import org.bukkit.inventory.EquipmentSlot; |
| 24 | +import org.bukkit.inventory.ItemStack; |
19 | 25 |
|
20 | 26 | import java.util.Arrays;
|
21 | 27 | import java.util.List;
|
@@ -87,9 +93,16 @@ public boolean invokeCommand(CommandSender commandSender, Command command, Strin
|
87 | 93 | var lineContentBeforeChange = signSide.getLine(line - 1);
|
88 | 94 | signSide.setLine(line - 1, finalLine);
|
89 | 95 | sign.update();
|
90 |
| - var signChangeEvent = new SignChangeEvent(targetBlock, senderPlayer, signSide.lines(), side); |
91 |
| - Bukkit.getPluginManager().callEvent(signChangeEvent); |
92 |
| - if (signChangeEvent.isCancelled()) { |
| 96 | + var blockPlaceEvent = new BlockPlaceEvent(targetBlock, targetBlock.getState(), |
| 97 | + targetBlock.getBlockData() instanceof Directional ? |
| 98 | + targetBlock.getRelative(((Directional) targetBlock.getBlockData()).getFacing().getOppositeFace()) : |
| 99 | + targetBlock.getRelative(BlockFace.DOWN), |
| 100 | + new ItemStack(Material.AIR, 1), |
| 101 | + senderPlayer, |
| 102 | + !inInSpawnProtection(targetBlock.getLocation()) || senderPlayer.isOp(), |
| 103 | + EquipmentSlot.HAND); |
| 104 | + Bukkit.getPluginManager().callEvent(blockPlaceEvent); |
| 105 | + if (blockPlaceEvent.isCancelled()) { |
93 | 106 | signSide.setLine(line - 1, lineContentBeforeChange);
|
94 | 107 | sign.update();
|
95 | 108 | senderPlayer.sendMessage(pluginInstance.language.signEditLang.modifyCancelled.produce());
|
|
0 commit comments