Merge remote-tracking branch 'origin/master'
Dieser Commit ist enthalten in:
Commit
9141db7686
@ -379,3 +379,65 @@ REGION_ITEM_SELECTOR_TITLE=Tnt Modus
|
|||||||
REGION_ITEM_SELECTOR_ON=§eEinschalten
|
REGION_ITEM_SELECTOR_ON=§eEinschalten
|
||||||
REGION_ITEM_SELECTOR_ONLY_TB=§enur Testblock
|
REGION_ITEM_SELECTOR_ONLY_TB=§enur Testblock
|
||||||
REGION_ITEM_SELECTOR_OFF=§eAusschalten
|
REGION_ITEM_SELECTOR_OFF=§eAusschalten
|
||||||
|
#Region
|
||||||
|
REGION_COLOR_HELP_1=§8/§ecolor §8[§7Color§8] §8- §7Setze die Farbe der Region
|
||||||
|
REGION_COLOR_HELP_2=§8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Setze die Farbe der Region oder Global
|
||||||
|
REGION_COLOR_GLOBAL=Alle Regions farben auf §e{0}§7 gesetzt
|
||||||
|
REGION_COLOR_NO_REGION=§cDu befindest dich derzeit in keiner Region
|
||||||
|
REGION_COLOR_REGION=Regions farben auf §e{0}§7 gesetzt
|
||||||
|
REGION_COLOR_NO_PERMS=§cDies ist nicht deine Welt!
|
||||||
|
REGION_DAMAGE_HELP_1=§8/§edamage §8- §7Toggle Spielerschaden
|
||||||
|
REGION_DAMAGE_NO_PERMS=§cDu darfst hier nicht Spielerschaden (de-)aktivieren
|
||||||
|
REGION_DAMAGE_ENABLED=§cRegions Spielerschaden deaktiviert
|
||||||
|
REGION_DAMAGE_DISABLED=§aRegions Spielerschaden aktiviert
|
||||||
|
REGION_FIRE_HELP_1=§8/§efire §8- §7Toggle Feuerschaden
|
||||||
|
REGION_FIRE_NO_PERMS=§cDu darfst hier nicht Feuerschaden (de-)aktivieren
|
||||||
|
REGION_FIRE_ENABLED=§cRegions Feuerschaden deaktiviert
|
||||||
|
REGION_FIRE_DISABLED=§aRegions Feuerschaden aktiviert
|
||||||
|
REGION_FREEZE_HELP_1=§8/§efreeze §8- §7Toggle Freeze
|
||||||
|
REGION_FREEZE_NO_PERMS=§cDu darfst diese Welt nicht einfrieren
|
||||||
|
REGION_FREEZE_ENABLED=§cRegion eingefroren
|
||||||
|
REGION_FREEZE_DISABLED=§aRegion aufgetaut
|
||||||
|
REGION_PROTECT_HELP_1=§8/§eprotect §8- §7Schütze die Region
|
||||||
|
REGION_PROTECT_HELP_2=§8/§eprotect §8[§7Schematic§8] §8- §7Schütze die Region mit einer Schematic
|
||||||
|
REGION_PROTECT_DISABLE=§cBoden Schutz aufgehoben
|
||||||
|
REGION_PROTECT_ENABLE=§aBoden geschützt
|
||||||
|
REGION_PROTECT_NO_PERMS=§cDu darfst hier nicht den Boden schützen
|
||||||
|
REGION_PROTECT_FALSE_REGION=§cDu befindest dich derzeit in keiner (M)WG-Region
|
||||||
|
REGION_REGION_HELP_1=§8/§eregion undo §8- §7Mache die letzten 20 /testblock oder /reset rückgängig
|
||||||
|
REGION_REGION_HELP_2=§8/§eregion redo §8- §7Wiederhole die letzten 20 §8/§7rg undo
|
||||||
|
REGION_REGION_HELP_3=§8/§eregion restore §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen
|
||||||
|
REGION_REGION_HELP_4=§8/§eregion §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus
|
||||||
|
REGION_REGION_HELP_5=§8/§eregion §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension
|
||||||
|
REGION_REGION_HELP_6=§8/§eregion color §8[§7Color§8] §8- §7Ändere die Regions Farbe
|
||||||
|
REGION_REGION_HELP_7=§8/§eregion copypoint §8- §7Teleportiere dich zum Regions Kopierpunkt
|
||||||
|
REGION_REGION_NOTHING_UNDO=§cNichts zum rückgängig machen
|
||||||
|
REGION_REGION_UNDID=§7Letzte Aktion rückgangig gemacht
|
||||||
|
REGION_REGION_NOTHING_REDO=§cNichts zum wiederhohlen
|
||||||
|
REGION_REGION_REDID=§7Letzte Aktion wiederhohlt
|
||||||
|
REGION_REGION_RESTORED=§7Region zurückgesetzt
|
||||||
|
REGION_REGION_FAILED_RESTORE=§cFehler beim Zurücksetzen der Region
|
||||||
|
REGION_REGION_NO_SCHEM=§cSchematic nicht gefunden
|
||||||
|
REGION_REGION_TP_COPY=§7Zum Kopierpunkt teleportiert
|
||||||
|
REGION_REGION_NO_REGION=§cDu bist in keiner Region
|
||||||
|
REGION_REGION_NO_PERMS=§cDu darfst hier nicht die Region verändern
|
||||||
|
REGION_RESET_HELP_1=§8/§ereset §8- §7Setzte die Region zurück
|
||||||
|
REGION_RESET_HELP_2=§8/§ereset §8[§7Schematic§8] §8- §7Setzte die Region mit einer Schematic zurück
|
||||||
|
REGION_RESET_RESETED=§7Region zurückgesetzt
|
||||||
|
REGION_RESET_ERROR=§cFehler beim Zurücksetzen der Region
|
||||||
|
REGION_RESET_NO_SCHEM=§cSchematic nicht gefunden
|
||||||
|
REGION_RESET_NO_PERMS=§cDu darfst hier nicht die Region zurücksetzen
|
||||||
|
REGION_RESET_NO_REGION=§cDu befindest dich derzeit in keiner Region
|
||||||
|
REGION_TB_HELP_1=§8/§etestblock §8- §7Setzte den Testblock zurück
|
||||||
|
REGION_TB_HELP_2=§8/§etestblock §8[§7Schematic§8] §8- §7Setzte den Testblock mit einer Schematic zurück
|
||||||
|
REGION_TB_DONE=§7Testblock zurückgesetzt
|
||||||
|
REGION_TB_ERROR=§cFehler beim Zurücksetzen des Testblocks
|
||||||
|
REGION_TB_NO_SCHEM=§cSchematic nicht gefunden
|
||||||
|
REGION_TB_NO_PERMS=§cDu darfst hier nicht den Testblock zurücksetzen
|
||||||
|
REGION_TB_NO_REGION=§cDu befindest dich derzeit in keiner Region
|
||||||
|
REGION_TNT_HELP_1=§8/§etnt §8- §7Ändere das TNT verhalten
|
||||||
|
REGION_TNT_HELP_2=§8/§etnt §8[§7Mode§8] §8- §7Setzte das TNT verhalten auf einen Modus
|
||||||
|
REGION_TNT_ON=§aTNT-Schaden aktiviert
|
||||||
|
REGION_TNT_OFF=§cTNT-Schaden deaktiviert
|
||||||
|
REGION_TNT_TB=§aTNT-Schaden außerhalb Baurahmen aktiviert
|
||||||
|
REGION_TNT_BUILD=§cEine Explosion hätte Blöcke im Baubereich zerstört
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -23,8 +42,9 @@ public class ColorCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§ecolor §8[§7Color§8] §8- §7Setze die Farbe der Region");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Color");
|
||||||
p.sendMessage("§8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Setze die Farbe der Region oder Global");
|
BauSystem.MESSAGE.sendPrefixless("REGION_COLOR_HELP_1", p);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_COLOR_HELP_2", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -39,16 +59,16 @@ public class ColorCommand extends SWCommand {
|
|||||||
}
|
}
|
||||||
if (colorizationType == ColorizationType.GLOBAL) {
|
if (colorizationType == ColorizationType.GLOBAL) {
|
||||||
Region.setGlobal(Flag.COLOR, color);
|
Region.setGlobal(Flag.COLOR, color);
|
||||||
p.sendMessage(BauSystem.PREFIX + "Alle Regions farben auf §e" + color.name().toLowerCase() + "§7 gesetzt");
|
BauSystem.MESSAGE.send("REGION_COLOR_GLOBAL", p, color.name().toLowerCase());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
if (region.isGlobal()) {
|
if (region.isGlobal()) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cDu befindest dich derzeit in keiner Region");
|
BauSystem.MESSAGE.send("REGION_COLOR_NO_REGION", p);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
region.set(Flag.COLOR, color);
|
region.set(Flag.COLOR, color);
|
||||||
p.sendMessage(BauSystem.PREFIX + "Regions farben auf §e" + color.name().toLowerCase() + "§7 gesetzt");
|
BauSystem.MESSAGE.send("REGION_COLOR_REGION", p, color.name().toLowerCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -60,7 +80,7 @@ public class ColorCommand extends SWCommand {
|
|||||||
if (bauServer.getOwner().equals(p.getUniqueId())) {
|
if (bauServer.getOwner().equals(p.getUniqueId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cDies ist nicht deine Welt!");
|
BauSystem.MESSAGE.send("REGION_COLOR_NO_PERMS", p);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@ package de.steamwar.bausystem.features.region;
|
|||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
import de.steamwar.bausystem.Permission;
|
import de.steamwar.bausystem.Permission;
|
||||||
import de.steamwar.bausystem.SWUtils;
|
|
||||||
import de.steamwar.bausystem.linkage.LinkageType;
|
import de.steamwar.bausystem.linkage.LinkageType;
|
||||||
import de.steamwar.bausystem.linkage.Linked;
|
import de.steamwar.bausystem.linkage.Linked;
|
||||||
import de.steamwar.bausystem.region.Region;
|
import de.steamwar.bausystem.region.Region;
|
||||||
@ -41,7 +40,8 @@ public class DamageCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§edamage §8- §7Toggle Spielerschaden");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Damage");
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_DAMAGE_HELP_1", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -49,22 +49,22 @@ public class DamageCommand extends SWCommand {
|
|||||||
if (!permissionCheck(p)) return;
|
if (!permissionCheck(p)) return;
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
if (toggle(region)) {
|
if (toggle(region)) {
|
||||||
RegionUtils.actionBar(region, getEnableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
|
||||||
} else {
|
} else {
|
||||||
RegionUtils.actionBar(region, getDisableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getNoPermMessage() {
|
private String getNoPermMessage() {
|
||||||
return "§cDu darfst hier nicht Spielerschaden (de-)aktivieren";
|
return "REGION_DAMAGE_NO_PERMS";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getEnableMessage() {
|
private String getEnableMessage() {
|
||||||
return "§cRegions Spielerschaden deaktiviert";
|
return "REGION_DAMAGE_ENABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDisableMessage() {
|
private String getDisableMessage() {
|
||||||
return "§aRegions Spielerschaden aktiviert";
|
return "REGION_DAMAGE_DISABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean toggle(Region region) {
|
private boolean toggle(Region region) {
|
||||||
@ -81,7 +81,7 @@ public class DamageCommand extends SWCommand {
|
|||||||
|
|
||||||
private boolean permissionCheck(Player player) {
|
private boolean permissionCheck(Player player) {
|
||||||
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
||||||
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
|
BauSystem.MESSAGE.send(getNoPermMessage(), player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -20,7 +39,8 @@ public class FireCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§efire §8- §7Toggle Feuerschaden");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Fire");
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_FIRE_HELP_1", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -28,22 +48,22 @@ public class FireCommand extends SWCommand {
|
|||||||
if (!permissionCheck(p)) return;
|
if (!permissionCheck(p)) return;
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
if (toggle(region)) {
|
if (toggle(region)) {
|
||||||
RegionUtils.actionBar(region, getEnableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
|
||||||
} else {
|
} else {
|
||||||
RegionUtils.actionBar(region, getDisableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getNoPermMessage() {
|
private String getNoPermMessage() {
|
||||||
return "§cDu darfst hier nicht Feuerschaden (de-)aktivieren";
|
return "REGION_FIRE_NO_PERMS";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getEnableMessage() {
|
private String getEnableMessage() {
|
||||||
return "§cRegions Feuerschaden deaktiviert";
|
return "REGION_FIRE_ENABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDisableMessage() {
|
private String getDisableMessage() {
|
||||||
return "§aRegions Feuerschaden aktiviert";
|
return "REGION_FIRE_DISABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean toggle(Region region) {
|
private boolean toggle(Region region) {
|
||||||
@ -60,7 +80,7 @@ public class FireCommand extends SWCommand {
|
|||||||
|
|
||||||
private boolean permissionCheck(Player player) {
|
private boolean permissionCheck(Player player) {
|
||||||
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
||||||
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
|
BauSystem.MESSAGE.send(getNoPermMessage(), player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -20,7 +39,8 @@ public class FreezeCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§efreeze §8- §7Toggle Freeze");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Freeze");
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_FREEZE_HELP_1", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -28,22 +48,22 @@ public class FreezeCommand extends SWCommand {
|
|||||||
if (!permissionCheck(p)) return;
|
if (!permissionCheck(p)) return;
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
if (toggle(region)) {
|
if (toggle(region)) {
|
||||||
RegionUtils.actionBar(region, getEnableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
|
||||||
} else {
|
} else {
|
||||||
RegionUtils.actionBar(region, getDisableMessage());
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getNoPermMessage() {
|
private String getNoPermMessage() {
|
||||||
return "§cDu darfst diese Welt nicht einfrieren";
|
return "REGION_FREEZE_NO_PERMS";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getEnableMessage(){
|
private String getEnableMessage(){
|
||||||
return "§cRegion eingefroren";
|
return "REGION_FREEZE_ENABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDisableMessage(){
|
private String getDisableMessage(){
|
||||||
return "§aRegion aufgetaut";
|
return "REGION_FREEZE_DISABLED";
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean toggle(Region region) {
|
private boolean toggle(Region region) {
|
||||||
@ -60,7 +80,7 @@ public class FreezeCommand extends SWCommand {
|
|||||||
|
|
||||||
private boolean permissionCheck(Player player) {
|
private boolean permissionCheck(Player player) {
|
||||||
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
if (!Permission.hasPermission(player, Permission.WORLD)) {
|
||||||
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
|
BauSystem.MESSAGE.send(getNoPermMessage(), player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -20,8 +39,9 @@ public class ProtectCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§eprotect §8- §7Schütze die Region");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Freeze");
|
||||||
p.sendMessage("§8/§eprotect §8[§7Schematic§8] §8- §7Schütze die Region mit einer Schematic");
|
BauSystem.MESSAGE.sendPrefixless("REGION_PROTECT_HELP_1", p);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_PROTECT_HELP_2", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -32,19 +52,19 @@ public class ProtectCommand extends SWCommand {
|
|||||||
switch (region.getPlain(Flag.PROTECT, ProtectMode.class)) {
|
switch (region.getPlain(Flag.PROTECT, ProtectMode.class)) {
|
||||||
case ACTIVE:
|
case ACTIVE:
|
||||||
region.set(Flag.PROTECT, ProtectMode.INACTIVE);
|
region.set(Flag.PROTECT, ProtectMode.INACTIVE);
|
||||||
RegionUtils.actionBar(region, "§cBoden Schutz aufgehoben");
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse("REGION_PROTECT_DISABLE", p));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case INACTIVE:
|
case INACTIVE:
|
||||||
region.set(Flag.PROTECT, ProtectMode.ACTIVE);
|
region.set(Flag.PROTECT, ProtectMode.ACTIVE);
|
||||||
RegionUtils.actionBar(region, "§aBoden geschützt");
|
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse("REGION_PROTECT_ENABLE", p));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean permissionCheck(Player player) {
|
private boolean permissionCheck(Player player) {
|
||||||
if (!Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
if (!Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Boden schützen");
|
BauSystem.MESSAGE.send("REGION_PROTECT_NO_PERMS", player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -53,7 +73,7 @@ public class ProtectCommand extends SWCommand {
|
|||||||
private Region regionCheck(Player player) {
|
private Region regionCheck(Player player) {
|
||||||
Region region = Region.getRegion(player.getLocation());
|
Region region = Region.getRegion(player.getLocation());
|
||||||
if (region.getFloorLevel() == 0) {
|
if (region.getFloorLevel() == 0) {
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu befindest dich derzeit in keiner (M)WG-Region");
|
BauSystem.MESSAGE.send("REGION_PROTECT_FALSE_REGION", player);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return region;
|
return region;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -38,44 +57,36 @@ public class RegionCommand extends SWCommand {
|
|||||||
genericHelp(player);
|
genericHelp(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static boolean checkGlobalRegion(Region region, Player p) {
|
||||||
|
if (region.isGlobal()) {
|
||||||
|
BauSystem.MESSAGE.send("REGION_REGION_NO_REGION", p);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player player, String... args) {
|
public void genericHelp(Player player, String... args) {
|
||||||
player.sendMessage("§8/§eregion undo §8- §7Mache die letzten 20 /testblock oder /reset rückgängig");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", player, "Region");
|
||||||
player.sendMessage("§8/§eregion redo §8- §7Wiederhole die letzten 20 §8/§7rg undo");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_1", player);
|
||||||
player.sendMessage("§8/§eregion restore §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_2", player);
|
||||||
player.sendMessage("§8/§eregion §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_3", player);
|
||||||
player.sendMessage("§8/§eregion §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_4", player);
|
||||||
player.sendMessage("§8/§eregion color §8[§7Color§8] §8- §7Ändere die Regions Farbe");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_5", player);
|
||||||
player.sendMessage("§8/§eregion copypoint §8- §7Teleportiere dich zum Regions Kopierpunkt");
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_6", player);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_7", player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register("undo")
|
@Register("undo")
|
||||||
public void undoCommand(Player p) {
|
public void undoCommand(Player p) {
|
||||||
if(!permissionCheck(p)) return;
|
if(!permissionCheck(p)) return;
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
if(checkGlobalRegion(region, p)) return;
|
if (checkGlobalRegion(region, p)) return;
|
||||||
|
|
||||||
if (region.undo()) {
|
if (region.undo()) {
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Letzte Aktion rückgangig gemacht");
|
RegionUtils.message(region, "REGION_REGION_UNDID");
|
||||||
} else {
|
} else {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cNichts zum rückgängig machen");
|
BauSystem.MESSAGE.send("REGION_REGION_NOTHING_UNDO", p);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Register("redo")
|
|
||||||
public void redoCommand(Player p) {
|
|
||||||
if (!permissionCheck(p)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Region region = Region.getRegion(p.getLocation());
|
|
||||||
if (checkGlobalRegion(region, p)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (region.redo()) {
|
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Letzte Aktion wiederhohlt");
|
|
||||||
} else {
|
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cNichts zum wiederhohlen");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,6 +100,23 @@ public class RegionCommand extends SWCommand {
|
|||||||
selectCommand.baurahmenCommand(p, regionType, regionExtensionType);
|
selectCommand.baurahmenCommand(p, regionType, regionExtensionType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Register("redo")
|
||||||
|
public void redoCommand(Player p) {
|
||||||
|
if (!permissionCheck(p)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Region region = Region.getRegion(p.getLocation());
|
||||||
|
if (checkGlobalRegion(region, p)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (region.redo()) {
|
||||||
|
RegionUtils.message(region, "REGION_REGION_REDID");
|
||||||
|
} else {
|
||||||
|
BauSystem.MESSAGE.send("REGION_REGION_NOTHING_REDO", p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Register("restore")
|
@Register("restore")
|
||||||
public void genericRestoreCommand(Player p) {
|
public void genericRestoreCommand(Player p) {
|
||||||
if (!permissionCheck(p)) return;
|
if (!permissionCheck(p)) return;
|
||||||
@ -97,38 +125,38 @@ public class RegionCommand extends SWCommand {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
region.reset(null, RegionType.NORMAL, RegionExtensionType.NORMAL, true);
|
region.reset(null, RegionType.NORMAL, RegionExtensionType.NORMAL, true);
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
|
RegionUtils.message(region, "REGION_REGION_RESTORED");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen der Region");
|
BauSystem.MESSAGE.send("REGION_REGION_FAILED_RESTORE", p);
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register("restore")
|
|
||||||
public void schematicRestoreCommand(Player p, String s) {
|
|
||||||
if (!permissionCheck(p)) return;
|
|
||||||
Region region = Region.getRegion(p.getLocation());
|
|
||||||
if(checkGlobalRegion(region, p)) return;
|
|
||||||
|
|
||||||
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
|
||||||
if (schem == null) {
|
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
region.reset(schem, RegionType.NORMAL, RegionExtensionType.NORMAL, true);
|
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
|
|
||||||
} catch (IOException e) {
|
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen der Region");
|
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed reset", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Register("color")
|
@Register("color")
|
||||||
public void colorCommand(Player p, ColorMode color) {
|
public void colorCommand(Player p, ColorMode color) {
|
||||||
colorCommand.genericColor(p, color);
|
colorCommand.genericColor(p, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Register("restore")
|
||||||
|
public void schematicRestoreCommand(Player p, String s) {
|
||||||
|
if (!permissionCheck(p)) return;
|
||||||
|
Region region = Region.getRegion(p.getLocation());
|
||||||
|
if (checkGlobalRegion(region, p)) return;
|
||||||
|
|
||||||
|
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
||||||
|
if (schem == null) {
|
||||||
|
BauSystem.MESSAGE.send("REGION_REGION_NO_SCHEM", p);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
region.reset(schem, RegionType.NORMAL, RegionExtensionType.NORMAL, true);
|
||||||
|
RegionUtils.message(region, "REGION_REGION_RESTORED");
|
||||||
|
} catch (IOException e) {
|
||||||
|
BauSystem.MESSAGE.send("REGION_REGION_FAILED_RESTORE", p);
|
||||||
|
Bukkit.getLogger().log(Level.WARNING, "Failed reset", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Register("copypoint")
|
@Register("copypoint")
|
||||||
public void copyPointCommand(Player p) {
|
public void copyPointCommand(Player p) {
|
||||||
Region region = Region.getRegion(p.getLocation());
|
Region region = Region.getRegion(p.getLocation());
|
||||||
@ -136,22 +164,14 @@ public class RegionCommand extends SWCommand {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
p.teleport(region.getCopyPoint().toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
|
p.teleport(region.getCopyPoint().toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
|
||||||
p.sendMessage(BauSystem.PREFIX + "§7Zum Kopierpunkt teleportiert");
|
BauSystem.MESSAGE.send("REGION_REGION_TP_COPY", p);
|
||||||
}
|
|
||||||
|
|
||||||
static boolean checkGlobalRegion(Region region, Player p) {
|
|
||||||
if (region.isGlobal()) {
|
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cDu bist in keiner Region");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean permissionCheck(Player player) {
|
private boolean permissionCheck(Player player) {
|
||||||
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht die Region verändern");
|
BauSystem.MESSAGE.send("REGION_REGION_NO_PERMS", player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -25,8 +44,9 @@ public class ResetCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§ereset §8- §7Setzte die Region zurück");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Reset");
|
||||||
p.sendMessage("§8/§ereset §8[§7Schematic§8] §8- §7Setzte die Region mit einer Schematic zurück");
|
BauSystem.MESSAGE.sendPrefixless("REGION_RESET_HELP_1", p);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_RESET_HELP_2", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -36,9 +56,9 @@ public class ResetCommand extends SWCommand {
|
|||||||
if (region == null) return;
|
if (region == null) return;
|
||||||
try {
|
try {
|
||||||
region.reset(null, RegionType.NORMAL);
|
region.reset(null, RegionType.NORMAL);
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
|
RegionUtils.message(region, "REGION_RESET_RESETED");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen der Region");
|
BauSystem.MESSAGE.send("REGION_RESET_ERROR", p);
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,14 +70,14 @@ public class ResetCommand extends SWCommand {
|
|||||||
if (region == null) return;
|
if (region == null) return;
|
||||||
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
||||||
if (schem == null) {
|
if (schem == null) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
|
BauSystem.MESSAGE.send("REGION_RESET_NO_SCHEM", p);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
region.reset(schem, RegionType.NORMAL);
|
region.reset(schem, RegionType.NORMAL);
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
|
RegionUtils.message(region, "REGION_RESET_RESETED");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen der Region");
|
BauSystem.MESSAGE.send("REGION_RESET_ERROR", p);
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed reset", e);
|
Bukkit.getLogger().log(Level.WARNING, "Failed reset", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -66,14 +86,14 @@ public class ResetCommand extends SWCommand {
|
|||||||
if (Permission.hasPermission(player, Permission.WORLD)) {
|
if (Permission.hasPermission(player, Permission.WORLD)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht die Region zurücksetzen");
|
BauSystem.MESSAGE.send("REGION_RESET_NO_PERMS", player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Region regionCheck(Player player) {
|
private Region regionCheck(Player player) {
|
||||||
Region region = Region.getRegion(player.getLocation());
|
Region region = Region.getRegion(player.getLocation());
|
||||||
if (region == GlobalRegion.getInstance()) {
|
if (region == GlobalRegion.getInstance()) {
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu befindest dich derzeit in keiner Region");
|
BauSystem.MESSAGE.send("REGION_RESET_NO_REGION", player);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return region;
|
return region;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -28,8 +47,9 @@ public class TNTCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§etnt §8- §7Ändere das TNT verhalten");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Tnt");
|
||||||
p.sendMessage("§8/§etnt §8[§7Mode§8] §8- §7Setzte das TNT verhalten auf einen Modus");
|
BauSystem.MESSAGE.sendPrefixless("REGION_TNT_HELP_1", p);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_TNT_HELP_2", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -56,7 +76,7 @@ public class TNTCommand extends SWCommand {
|
|||||||
requestedMessage = getTestblockEnableMessage();
|
requestedMessage = getTestblockEnableMessage();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
tntToggle(region, tntMode, requestedMessage);
|
tntToggle(region, tntMode, BauSystem.MESSAGE.parse(requestedMessage, p));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ClassMapper(value = TNTMode.class, local = true)
|
@ClassMapper(value = TNTMode.class, local = true)
|
||||||
@ -73,15 +93,15 @@ public class TNTCommand extends SWCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getEnableMessage() {
|
private String getEnableMessage() {
|
||||||
return "§aTNT-Schaden aktiviert";
|
return "REGION_TNT_ON";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDisableMessage() {
|
private String getDisableMessage() {
|
||||||
return "§cTNT-Schaden deaktiviert";
|
return "REGION_TNT_OFF";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getTestblockEnableMessage() {
|
private String getTestblockEnableMessage() {
|
||||||
return "§aTNT-Schaden außerhalb Baurahmen aktiviert";
|
return "REGION_TNT_TB";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tntToggle(Region region, TNTMode requestedMode, String requestedMessage) {
|
private void tntToggle(Region region, TNTMode requestedMode, String requestedMessage) {
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.linkage.LinkageType;
|
import de.steamwar.bausystem.linkage.LinkageType;
|
||||||
@ -28,11 +47,11 @@ public class TNTListener implements Listener {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (region.hasType(RegionType.BUILD) && region.inRegion(block.getLocation(), RegionType.BUILD, RegionExtensionType.NORMAL)) {
|
if (region.hasType(RegionType.BUILD) && region.inRegion(block.getLocation(), RegionType.BUILD, RegionExtensionType.NORMAL)) {
|
||||||
RegionUtils.actionBar(region, "§cEine Explosion hätte Blöcke im Baubereich zerstört");
|
RegionUtils.actionBarNew(region, "REGION_TNT_BUILD");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (region.hasType(RegionType.BUILD) && region.inRegion(block.getLocation(), RegionType.BUILD, RegionExtensionType.EXTENSION)) {
|
if (region.hasType(RegionType.BUILD) && region.inRegion(block.getLocation(), RegionType.BUILD, RegionExtensionType.EXTENSION)) {
|
||||||
RegionUtils.actionBar(region, "§cEine Explosion hätte Blöcke im Ausfahrbereich zerstört");
|
RegionUtils.actionBarNew(region, "REGION_TNT_BUILD");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return value == TNTMode.DENY;
|
return value == TNTMode.DENY;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.features.region;
|
package de.steamwar.bausystem.features.region;
|
||||||
|
|
||||||
import de.steamwar.bausystem.BauSystem;
|
import de.steamwar.bausystem.BauSystem;
|
||||||
@ -31,8 +50,9 @@ public class TestblockCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register(help = true)
|
@Register(help = true)
|
||||||
public void genericHelp(Player p, String... args) {
|
public void genericHelp(Player p, String... args) {
|
||||||
p.sendMessage("§8/§etestblock §8- §7Setzte den Testblock zurück");
|
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Testblock");
|
||||||
p.sendMessage("§8/§etestblock §8[§7Schematic§8] §8- §7Setzte den Testblock mit einer Schematic zurück");
|
BauSystem.MESSAGE.sendPrefixless("REGION_TB_HELP_1", p);
|
||||||
|
BauSystem.MESSAGE.sendPrefixless("REGION_TB_HELP_2", p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register
|
@Register
|
||||||
@ -47,9 +67,9 @@ public class TestblockCommand extends SWCommand {
|
|||||||
if (region == null) return;
|
if (region == null) return;
|
||||||
try {
|
try {
|
||||||
region.reset(RegionType.TESTBLOCK, regionExtensionType);
|
region.reset(RegionType.TESTBLOCK, regionExtensionType);
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Testblock zurückgesetzt");
|
RegionUtils.message(region, "REGION_TB_DONE");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen des Testblocks");
|
BauSystem.MESSAGE.send("REGION_TB_ERROR", p);
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,14 +91,14 @@ public class TestblockCommand extends SWCommand {
|
|||||||
if (region == null) return;
|
if (region == null) return;
|
||||||
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
|
||||||
if (schem == null) {
|
if (schem == null) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
|
BauSystem.MESSAGE.send("REGION_TB_NO_SCHEM", p);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
region.reset(schem, RegionType.TESTBLOCK, regionExtensionType);
|
region.reset(schem, RegionType.TESTBLOCK, regionExtensionType);
|
||||||
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Testblock zurückgesetzt");
|
RegionUtils.message(region, "REGION_TB_DONE");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
p.sendMessage(BauSystem.PREFIX + "§cFehler beim Zurücksetzen des Testblocks");
|
BauSystem.MESSAGE.send("REGION_TB_ERROR", p);
|
||||||
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
Bukkit.getLogger().log(Level.WARNING, "Failed testblock", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -99,14 +119,14 @@ public class TestblockCommand extends SWCommand {
|
|||||||
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Testblock zurücksetzen");
|
BauSystem.MESSAGE.send("REGION_TB_NO_PERMS", player);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Region regionCheck(Player player) {
|
private Region regionCheck(Player player) {
|
||||||
Region region = Region.getRegion(player.getLocation());
|
Region region = Region.getRegion(player.getLocation());
|
||||||
if (!region.hasType(RegionType.TESTBLOCK)) {
|
if (!region.hasType(RegionType.TESTBLOCK)) {
|
||||||
player.sendMessage(BauSystem.PREFIX + "§cDu befindest dich derzeit in keiner Region");
|
BauSystem.MESSAGE.send("REGION_TB_NO_REGION", player);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return region;
|
return region;
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* This file is a part of the SteamWar software.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 SteamWar.de-Serverteam
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
package de.steamwar.bausystem.region;
|
package de.steamwar.bausystem.region;
|
||||||
|
|
||||||
import com.sk89q.worldedit.EditSession;
|
import com.sk89q.worldedit.EditSession;
|
||||||
@ -7,14 +26,14 @@ import de.steamwar.bausystem.region.loader.RegionLoader;
|
|||||||
import de.steamwar.bausystem.region.utils.RegionExtensionType;
|
import de.steamwar.bausystem.region.utils.RegionExtensionType;
|
||||||
import de.steamwar.bausystem.region.utils.RegionType;
|
import de.steamwar.bausystem.region.utils.RegionType;
|
||||||
import de.steamwar.core.VersionedCallable;
|
import de.steamwar.core.VersionedCallable;
|
||||||
import java.util.function.Function;
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import net.md_5.bungee.api.ChatMessageType;
|
import net.md_5.bungee.api.ChatMessageType;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import org.bukkit.entity.Player;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
@ -28,6 +47,14 @@ public class RegionUtils {
|
|||||||
.forEach(player -> player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(s)));
|
.forEach(player -> player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(s)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void actionBarNew(Region region, String s, Object... objects) {
|
||||||
|
Bukkit.getOnlinePlayers()
|
||||||
|
.stream()
|
||||||
|
.filter(player -> region.inRegion(player.getLocation(), RegionType.NORMAL, RegionExtensionType.NORMAL))
|
||||||
|
.filter(player -> !region.isGlobal() || Region.getRegion(player.getLocation()).isGlobal())
|
||||||
|
.forEach(player -> player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(BauSystem.MESSAGE.parse(s, player, objects))));
|
||||||
|
}
|
||||||
|
|
||||||
public static void messageOLD(Region region, String s) {
|
public static void messageOLD(Region region, String s) {
|
||||||
Bukkit.getOnlinePlayers()
|
Bukkit.getOnlinePlayers()
|
||||||
.stream()
|
.stream()
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren