diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index f8928ce2..72da09fe 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -10,6 +10,12 @@ deploy webhooks to print changelog successfully That's all, matcher will stop when detects next line started with `###` match +### 5.1.2 Release +* Fixed InventoryView not interface on getGui @VoteMenu +* Fixed Method 'org.bukkit.block.banner.PatternType[] org.bukkit.block.banner.PatternType.values()' must be Methodref constant +* Fixed InventoryView not interface onItemMove +* Fixed vehicle moving outside of arena plots and other worlds + ### 5.1.1 Release * Fixed liquid flow outside plots and different worlds * Fixed forceplay console command without theme diff --git a/pom.xml b/pom.xml index 0e9e5d52..01635d4c 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ plugily.projects buildbattle - 5.1.1 + 5.1.1-SNAPSHOT2 BuildBattle diff --git a/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java b/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java index 0c0fe9e3..f901ecb7 100644 --- a/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java +++ b/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java @@ -55,6 +55,7 @@ import plugily.projects.minigamesbox.classic.utils.version.events.api.PlugilyPlayerPickupArrow; import plugily.projects.minigamesbox.classic.utils.version.xseries.XEntityType; import plugily.projects.minigamesbox.classic.utils.version.xseries.XMaterial; +import plugily.projects.minigamesbox.classic.utils.version.xseries.inventory.XInventoryView; /** * @author Plajer @@ -296,8 +297,6 @@ public void onEnderchestClick(PlugilyPlayerInteractEvent event) { } } - //TODO recognise plot by location should be added, as current check will go through all plots... - //Alternative use filter!! @EventHandler public void onVehicleMove(VehicleMoveEvent event) { Vehicle vehicle = event.getVehicle(); @@ -306,13 +305,14 @@ public void onVehicleMove(VehicleMoveEvent event) { continue; } for(Plot buildPlot : ((BaseArena) arena).getPlotManager().getPlots()) { - if(buildPlot.getCuboid() != null && !buildPlot.getCuboid().isIn(event.getTo())) { + if(buildPlot.getCuboid() != null && buildPlot.getCuboid().isIn(event.getFrom()) && !buildPlot.getCuboid().isInWithMarge(event.getTo(), 1)) { vehicle.setVelocity(vehicle.getVelocity().zero()); if(vehicle.getType() == XEntityType.MINECART.get()) { ((Minecart) vehicle).setMaxSpeed(0); } else { vehicle.remove(); } + return; } } } @@ -329,6 +329,7 @@ public void onIgniteEvent(BlockIgniteEvent event) { for(Plot buildPlot : ((BaseArena) arena).getPlotManager().getPlots()) { if(buildPlot.getCuboid() != null && buildPlot.getCuboid().isInWithMarge(blockLocation, 5)) { event.setCancelled(true); + return; } } } @@ -346,6 +347,7 @@ public void onPistonRetractEvent(BlockPistonRetractEvent event) { for(Block block : event.getBlocks()) { if(buildPlot.getCuboid() != null && !buildPlot.getCuboid().isInWithMarge(block.getLocation(), -1) && buildPlot.getCuboid().isIn(blockLocation)) { event.setCancelled(true); + return; } } } @@ -662,8 +664,8 @@ public void onItemMove(InventoryClickEvent event) { if(baseArena != null && baseArena.getArenaState() != IArenaState.IN_GAME) { if(event.getClickedInventory() == humanEntity.getInventory()) { - if(event.getView().getType() == InventoryType.CRAFTING - || event.getView().getType() == InventoryType.PLAYER) { + if(XInventoryView.of(event.getView()).getType() == InventoryType.CRAFTING + || XInventoryView.of(event.getView()).getType() == InventoryType.PLAYER) { event.setResult(Event.Result.DENY); } } diff --git a/src/main/java/plugily/projects/buildbattle/handlers/menu/registry/banner/BannerMenu.java b/src/main/java/plugily/projects/buildbattle/handlers/menu/registry/banner/BannerMenu.java index 1936bc62..50f95c59 100644 --- a/src/main/java/plugily/projects/buildbattle/handlers/menu/registry/banner/BannerMenu.java +++ b/src/main/java/plugily/projects/buildbattle/handlers/menu/registry/banner/BannerMenu.java @@ -34,6 +34,7 @@ import plugily.projects.minigamesbox.classic.utils.helper.ItemBuilder; import plugily.projects.minigamesbox.classic.utils.version.ServerVersion; import plugily.projects.minigamesbox.classic.utils.version.xseries.XMaterial; +import plugily.projects.minigamesbox.classic.utils.version.xseries.XPatternType; import plugily.projects.minigamesbox.inventory.common.item.SimpleClickableItem; import plugily.projects.minigamesbox.inventory.normal.NormalFastInv; @@ -104,17 +105,17 @@ private void prepareBaseStageGui() { private void prepareLayerStageGui() { NormalFastInv gui = new NormalFastInv(54, new MessageBuilder("MENU_OPTION_CONTENT_BANNER_INVENTORY_LAYER").asKey().build()); - for(PatternType pattern : PatternType.values()) { + for(XPatternType pattern : XPatternType.getValues()) { ItemStack item = banner.buildBanner(); BannerMeta meta = (BannerMeta) item.getItemMeta(); DyeColor color = banner.getColor() == DyeColor.BLACK ? DyeColor.WHITE : DyeColor.BLACK; - meta.addPattern(new Pattern(color, pattern)); + meta.addPattern(new Pattern(color, pattern.get())); item.setItemMeta(meta); gui.addItem(new SimpleClickableItem(item, event -> { event.setCancelled(true); - banner.addPattern(new BannerPattern(color, pattern)); + banner.addPattern(new BannerPattern(color, pattern.get())); new BannerMenu(player, banner).openInventory(PatternStage.LAYER_COLOR); })); } diff --git a/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java b/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java index f46eafd8..fad2e2e7 100644 --- a/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java +++ b/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java @@ -39,6 +39,7 @@ import plugily.projects.minigamesbox.classic.utils.version.xseries.XEnchantment; import plugily.projects.minigamesbox.classic.utils.version.xseries.XItemFlag; import plugily.projects.minigamesbox.classic.utils.version.xseries.XMaterial; +import plugily.projects.minigamesbox.classic.utils.version.xseries.inventory.XInventoryView; import plugily.projects.minigamesbox.inventory.common.item.ClickableItem; import plugily.projects.minigamesbox.inventory.common.item.SimpleClickableItem; import plugily.projects.minigamesbox.inventory.normal.NormalFastInv; @@ -103,7 +104,7 @@ private NormalFastInv getGUI(Player guiPlayer) { HumanEntity humanEntity = event.getPlayer(); Inventory inventory = event.getInventory(); - if(humanEntity.getOpenInventory().getTopInventory() != inventory) { + if(XInventoryView.of(humanEntity.getOpenInventory()).getTopInventory() != inventory) { humanEntity.openInventory(inventory); } });