mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-04 14:44:43 +02:00
Compare commits
5 Commits
debug/home
...
drop-http4
Author | SHA1 | Date | |
---|---|---|---|
fd1c182251 | |||
becd8c4eaf | |||
339ca8e30f | |||
742d78a505 | |||
120bf37196 |
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -27,6 +27,7 @@ body:
|
||||
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
|
||||
multiple: false
|
||||
options:
|
||||
- '1.19.3'
|
||||
- '1.19.2'
|
||||
- '1.19.1'
|
||||
- '1.19'
|
||||
|
@ -48,7 +48,6 @@ dependencies {
|
||||
|
||||
// Our libraries
|
||||
implementation(libs.arkitektonika)
|
||||
implementation(libs.http4j)
|
||||
implementation("com.intellectualsites.paster:Paster")
|
||||
implementation("com.intellectualsites.informative-annotations:informative-annotations")
|
||||
|
||||
|
@ -71,6 +71,7 @@ import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.type.Dispenser;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Fireball;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -100,7 +101,6 @@ import org.bukkit.event.block.EntityBlockFormEvent;
|
||||
import org.bukkit.event.block.LeavesDecayEvent;
|
||||
import org.bukkit.event.block.SpongeAbsorbEvent;
|
||||
import org.bukkit.event.world.StructureGrowEvent;
|
||||
import org.bukkit.material.Directional;
|
||||
import org.bukkit.projectiles.BlockProjectileSource;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
@ -926,6 +926,9 @@ public class BlockEventListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onBlockDispense(BlockDispenseEvent event) {
|
||||
if (!this.plotAreaManager.hasPlotArea(event.getBlock().getWorld().getName())) {
|
||||
return;
|
||||
}
|
||||
Material type = event.getItem().getType();
|
||||
switch (type.toString()) {
|
||||
case "SHULKER_BOX", "WHITE_SHULKER_BOX", "ORANGE_SHULKER_BOX", "MAGENTA_SHULKER_BOX", "LIGHT_BLUE_SHULKER_BOX",
|
||||
@ -937,7 +940,7 @@ public class BlockEventListener implements Listener {
|
||||
if (event.getBlock().getType() == Material.DROPPER) {
|
||||
return;
|
||||
}
|
||||
BlockFace targetFace = ((Directional) event.getBlock().getState().getData()).getFacing();
|
||||
BlockFace targetFace = ((Dispenser) event.getBlock().getBlockData()).getFacing();
|
||||
Location location = BukkitUtil.adapt(event.getBlock().getRelative(targetFace).getLocation());
|
||||
if (location.isPlotRoad()) {
|
||||
event.setCancelled(true);
|
||||
|
@ -114,26 +114,14 @@ public abstract class SquarePlotManager extends GridPlotManager {
|
||||
end = pathWidthLower + squarePlotWorld.PLOT_WIDTH;
|
||||
}
|
||||
int size = squarePlotWorld.PLOT_WIDTH + squarePlotWorld.ROAD_WIDTH;
|
||||
int idx;
|
||||
if (x < 0) {
|
||||
idx = x / size;
|
||||
x = size + (x % size);
|
||||
} else {
|
||||
idx = (x / size) + 1;
|
||||
x = x % size;
|
||||
}
|
||||
int idz;
|
||||
if (z < 0) {
|
||||
idz = z / size;
|
||||
z = size + (z % size);
|
||||
} else {
|
||||
idz = (z / size) + 1;
|
||||
z = z % size;
|
||||
}
|
||||
if (z <= pathWidthLower || z > end || x <= pathWidthLower || x > end) {
|
||||
int dx = Math.floorDiv(x, size) + 1;
|
||||
int rx = Math.floorMod(x, size);
|
||||
int dz = Math.floorDiv(z, size) + 1;
|
||||
int rz = Math.floorMod(z, size);
|
||||
if (rz <= pathWidthLower || rz > end || rx <= pathWidthLower || rx > end) {
|
||||
return null;
|
||||
} else {
|
||||
return PlotId.of(idx, idz);
|
||||
return PlotId.of(dx, dz);
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,24 +168,10 @@ public abstract class SquarePlotManager extends GridPlotManager {
|
||||
}
|
||||
end = pathWidthLower + squarePlotWorld.PLOT_WIDTH;
|
||||
}
|
||||
int dx;
|
||||
int rx;
|
||||
if (x < 0) {
|
||||
dx = x / size;
|
||||
rx = size + (x % size);
|
||||
} else {
|
||||
dx = (x / size) + 1;
|
||||
rx = x % size;
|
||||
}
|
||||
int dz;
|
||||
int rz;
|
||||
if (z < 0) {
|
||||
dz = z / size;
|
||||
rz = size + (z % size);
|
||||
} else {
|
||||
dz = (z / size) + 1;
|
||||
rz = z % size;
|
||||
}
|
||||
int dx = Math.floorDiv(x, size) + 1;
|
||||
int rx = Math.floorMod(x, size);
|
||||
int dz = Math.floorDiv(z, size) + 1;
|
||||
int rz = Math.floorMod(z, size);
|
||||
PlotId id = PlotId.of(dx, dz);
|
||||
boolean[] merged = new boolean[]{rz <= pathWidthLower, rx > end, rz > end, rx <= pathWidthLower};
|
||||
int hash = HashUtil.hash(merged);
|
||||
|
34
HEADER.txt
34
HEADER.txt
@ -1,16 +1,18 @@
|
||||
PlotSquared, a land and world management plugin for Minecraft.
|
||||
Copyright (C) IntellectualSites <https://intellectualsites.com>
|
||||
Copyright (C) IntellectualSites team and contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
/*
|
||||
* PlotSquared, a land and world management plugin for Minecraft.
|
||||
* Copyright (C) IntellectualSites <https://intellectualsites.com>
|
||||
* Copyright (C) IntellectualSites team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
@ -1,7 +1,6 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
|
||||
import org.cadixdev.gradle.licenser.LicenseExtension
|
||||
import org.cadixdev.gradle.licenser.Licenser
|
||||
import java.net.URI
|
||||
import com.diffplug.gradle.spotless.SpotlessPlugin
|
||||
|
||||
plugins {
|
||||
java
|
||||
@ -10,7 +9,7 @@ plugins {
|
||||
signing
|
||||
|
||||
alias(libs.plugins.shadow)
|
||||
alias(libs.plugins.licenser)
|
||||
alias(libs.plugins.spotless)
|
||||
alias(libs.plugins.grgit)
|
||||
alias(libs.plugins.nexus)
|
||||
|
||||
@ -57,7 +56,7 @@ subprojects {
|
||||
plugin<JavaLibraryPlugin>()
|
||||
plugin<MavenPublishPlugin>()
|
||||
plugin<ShadowPlugin>()
|
||||
plugin<Licenser>()
|
||||
plugin<SpotlessPlugin>()
|
||||
plugin<SigningPlugin>()
|
||||
|
||||
plugin<EclipsePlugin>()
|
||||
@ -87,10 +86,11 @@ subprojects {
|
||||
attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 17)
|
||||
}
|
||||
|
||||
configure<LicenseExtension> {
|
||||
header(rootProject.file("HEADER.txt"))
|
||||
include("**/*.java")
|
||||
newLine.set(false)
|
||||
spotless {
|
||||
java {
|
||||
licenseHeaderFile(rootProject.file("HEADER.txt"))
|
||||
target("**/*.java")
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
|
@ -16,12 +16,11 @@ aopalliance = "1.0"
|
||||
cloud-services = "1.8.0"
|
||||
arkitektonika = "2.1.1"
|
||||
squirrelid = "0.3.1"
|
||||
http4j = "1.3"
|
||||
|
||||
# Gradle plugins
|
||||
shadow = "7.1.2"
|
||||
grgit = "4.1.1"
|
||||
licenser = "0.6.1"
|
||||
spotless = "6.12.1"
|
||||
nexus = "1.1.0"
|
||||
|
||||
[libraries]
|
||||
@ -44,10 +43,9 @@ cloudServices = { group = "cloud.commandframework", name = "cloud-services", ver
|
||||
mvdwapi = { group = "com.intellectualsites.mvdwplaceholderapi", name = "MVdWPlaceholderAPI", version.ref = "mvdwapi" }
|
||||
squirrelid = { group = "org.enginehub", name = "squirrelid", version.ref = "squirrelid" }
|
||||
arkitektonika = { group = "com.intellectualsites.arkitektonika", name = "Arkitektonika-Client", version.ref = "arkitektonika" }
|
||||
http4j = { group = "com.intellectualsites.http", name = "HTTP4J", version.ref = "http4j" }
|
||||
|
||||
[plugins]
|
||||
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow" }
|
||||
grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" }
|
||||
licenser = { id = "org.cadixdev.licenser", version.ref = "licenser" }
|
||||
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
|
||||
nexus = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexus" }
|
||||
|
Reference in New Issue
Block a user