mirror of
https://github.com/TotalFreedomMC/TF-PlotSquared.git
synced 2024-12-22 16:05:02 +00:00
Merge IntellectualSites/v5
This commit is contained in:
commit
9baa7dccc1
7 changed files with 64 additions and 53 deletions
16
.github/stale.yml
vendored
16
.github/stale.yml
vendored
|
@ -1,16 +0,0 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- [‼] high priority
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: Old
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
20
.github/workflows/build.yml
vendored
Normal file
20
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
name: "build"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
java: ["1.8", "11"]
|
||||
os: ["ubuntu-18.04"]
|
||||
runs-on: "${{ matrix.os }}"
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Setup JDK ${{ matrix.java }}"
|
||||
uses: "actions/setup-java@v1.4.3"
|
||||
with:
|
||||
java-version: "${{ matrix.java }}"
|
||||
- name: "Clean Build"
|
||||
run: "./gradlew clean build"
|
27
.github/workflows/gradle.yml
vendored
27
.github/workflows/gradle.yml
vendored
|
@ -1,27 +0,0 @@
|
|||
name: Java CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'v5'
|
||||
- 'v6'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'v5'
|
||||
- 'v6'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.0.0
|
||||
- name: Setup Java JDK 1.8
|
||||
uses: actions/setup-java@v1.3.0
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Gradle Wrapper Validation
|
||||
uses: gradle/wrapper-validation-action@v1
|
||||
- name: Test with Gradle
|
||||
run: ./gradlew clean build
|
12
.github/workflows/validate-gradle-wrapper.yml
vendored
Normal file
12
.github/workflows/validate-gradle-wrapper.yml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
name: "validate gradle wrapper"
|
||||
|
||||
on: ["pull_request", "push"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: "ubuntu-18.04"
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
uses: "actions/checkout@v2.3.4"
|
||||
- name: "Validate Gradle Wrapper"
|
||||
uses: "gradle/wrapper-validation-action@v1.0.3"
|
|
@ -85,6 +85,7 @@ import org.bukkit.block.BlockFace;
|
|||
import org.bukkit.block.data.Waterlogged;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Boat;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
|
@ -100,6 +101,7 @@ import org.bukkit.event.EventPriority;
|
|||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
import org.bukkit.event.entity.EntityPlaceEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||
import org.bukkit.event.hanging.HangingPlaceEvent;
|
||||
|
@ -1068,6 +1070,34 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
// Boats can sometimes be placed on interactable blocks such as levers,
|
||||
// see PS-175. Armor stands, minecarts and end crystals (the other entities
|
||||
// supported by this event) don't have this issue.
|
||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||
public void onBoatPlace(EntityPlaceEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
Entity placed = event.getEntity();
|
||||
if (!(placed instanceof Boat)) {
|
||||
return;
|
||||
}
|
||||
BukkitPlayer pp = BukkitUtil.getPlayer(player);
|
||||
PlotArea area = pp.getPlotAreaAbs();
|
||||
if (area == null) {
|
||||
return;
|
||||
}
|
||||
PlayerBlockEventType eventType = PlayerBlockEventType.PLACE_VEHICLE;
|
||||
Block block = event.getBlock();
|
||||
BlockType blockType = BukkitAdapter.asBlockType(block.getType());
|
||||
Location location = BukkitUtil.getLocation(block.getLocation());
|
||||
if (!PlotSquared.get().getEventDispatcher()
|
||||
.checkPlayerBlockEvent(pp, eventType, location, blockType, true)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onBucketEmpty(PlayerBucketEmptyEvent event) {
|
||||
BlockFace bf = event.getBlockFace();
|
||||
|
|
|
@ -62,7 +62,7 @@ public class BukkitWorldManager implements PlatformWorldManager<World> {
|
|||
}
|
||||
|
||||
protected void setGenerator(@Nullable final String worldName, @Nullable final String generator) {
|
||||
if (generator == null) {
|
||||
if (generator == null || worldName != null && worldName.contains(".")) {
|
||||
return;
|
||||
}
|
||||
File file = new File("bukkit.yml").getAbsoluteFile();
|
||||
|
|
|
@ -146,15 +146,7 @@ public class Owner extends SetCommand {
|
|||
} catch (Exception ignored) {
|
||||
}
|
||||
} else {
|
||||
PlotSquared.get().getImpromptuUUIDPipeline().getSingle(value, (uuid, throwable) -> {
|
||||
if (throwable instanceof TimeoutException) {
|
||||
MainUtil.sendMessage(player, Captions.FETCHING_PLAYERS_TIMEOUT);
|
||||
} else if (throwable != null) {
|
||||
MainUtil.sendMessage(player, Captions.INVALID_PLAYER, value);
|
||||
} else {
|
||||
uuidConsumer.accept(uuid);
|
||||
}
|
||||
});
|
||||
PlotSquared.get().getImpromptuUUIDPipeline().getSingle(value, (uuid, throwable) -> uuidConsumer.accept(uuid));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue