33import com .comphenix .protocol .PacketType ;
44import com .comphenix .protocol .ProtocolLibrary ;
55import com .comphenix .protocol .events .PacketContainer ;
6- import java .lang .reflect .InvocationTargetException ;
76import org .bukkit .GameMode ;
87import org .bukkit .Material ;
98import org .bukkit .entity .Player ;
109import org .bukkit .event .EventHandler ;
1110import org .bukkit .event .EventPriority ;
1211import org .bukkit .event .Listener ;
1312import org .bukkit .event .inventory .InventoryCloseEvent ;
14- import org .bukkit .event .inventory .InventoryOpenEvent ;
1513import org .bukkit .event .inventory .PrepareAnvilEvent ;
1614import org .bukkit .inventory .AnvilInventory ;
1715import org .bukkit .inventory .ItemStack ;
@@ -37,20 +35,6 @@ public void reloadConfig() {
3735 maximumCost = constrainAnvilMax (getConfig ().getInt ("maximumCost" ));
3836 }
3937
40- @ EventHandler (priority = EventPriority .MONITOR )
41- private void onInventoryOpen (@ NotNull InventoryOpenEvent event ) {
42- if (!(event .getInventory () instanceof AnvilInventory )) {
43- return ;
44- }
45-
46- ((AnvilInventory ) event .getInventory ()).setMaximumRepairCost (maximumCost );
47-
48- if (event .getPlayer () instanceof Player
49- && event .getPlayer ().getGameMode () != GameMode .CREATIVE ) {
50- setInstantBuild ((Player ) event .getPlayer (), true );
51- }
52- }
53-
5438 @ EventHandler (priority = EventPriority .MONITOR )
5539 private void onInventoryClose (@ NotNull InventoryCloseEvent event ) {
5640 if (event .getInventory () instanceof AnvilInventory
@@ -67,8 +51,10 @@ private void onPrepareAnvil(@NotNull PrepareAnvilEvent event) {
6751 return ;
6852 }
6953
54+ AnvilInventory anvil = event .getInventory ();
55+ anvil .setMaximumRepairCost (maximumCost );
56+
7057 getServer ().getScheduler ().runTask (this , () -> {
71- AnvilInventory anvil = event .getInventory ();
7258 ItemStack input2 = anvil .getItem (1 );
7359 setInstantBuild (
7460 (Player ) event .getView ().getPlayer (),
@@ -88,11 +74,7 @@ public void setInstantBuild(@NotNull Player player, boolean instantBuild) {
8874 packet .getFloat ().write (0 , player .getFlySpeed () / 2 );
8975 packet .getFloat ().write (1 , player .getWalkSpeed () / 2 );
9076
91- try {
92- ProtocolLibrary .getProtocolManager ().sendServerPacket (player , packet );
93- } catch (InvocationTargetException e ) {
94- e .printStackTrace ();
95- }
77+ ProtocolLibrary .getProtocolManager ().sendServerPacket (player , packet );
9678 }
9779
9880 private static int constrainAnvilMax (int actual ) {
0 commit comments