SteamWar/BauSystem2.0
Archiviert
12
0

Merge remote-tracking branch 'origin/master'

Dieser Commit ist enthalten in:
yoyosource 2021-06-15 17:15:38 +02:00
Commit 9141db7686
12 geänderte Dateien mit 390 neuen und 122 gelöschten Zeilen

Datei anzeigen

@ -379,3 +379,65 @@ REGION_ITEM_SELECTOR_TITLE=Tnt Modus
REGION_ITEM_SELECTOR_ON=§eEinschalten
REGION_ITEM_SELECTOR_ONLY_TB=§enur Testblock
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

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -23,8 +42,9 @@ public class ColorCommand extends SWCommand {
@Register(help = true)
public void genericHelp(Player p, String... args) {
p.sendMessage("§8/§ecolor §8[§7Color§8] §8- §7Setze die Farbe der Region");
p.sendMessage("§8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Setze die Farbe der Region oder Global");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Color");
BauSystem.MESSAGE.sendPrefixless("REGION_COLOR_HELP_1", p);
BauSystem.MESSAGE.sendPrefixless("REGION_COLOR_HELP_2", p);
}
@Register
@ -39,16 +59,16 @@ public class ColorCommand extends SWCommand {
}
if (colorizationType == ColorizationType.GLOBAL) {
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;
}
Region region = Region.getRegion(p.getLocation());
if (region.isGlobal()) {
p.sendMessage(BauSystem.PREFIX + "§cDu befindest dich derzeit in keiner Region");
BauSystem.MESSAGE.send("REGION_COLOR_NO_REGION", p);
return;
}
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
@ -60,7 +80,7 @@ public class ColorCommand extends SWCommand {
if (bauServer.getOwner().equals(p.getUniqueId())) {
return true;
}
p.sendMessage(BauSystem.PREFIX + "§cDies ist nicht deine Welt!");
BauSystem.MESSAGE.send("REGION_COLOR_NO_PERMS", p);
return false;
}

Datei anzeigen

@ -21,7 +21,6 @@ package de.steamwar.bausystem.features.region;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.Permission;
import de.steamwar.bausystem.SWUtils;
import de.steamwar.bausystem.linkage.LinkageType;
import de.steamwar.bausystem.linkage.Linked;
import de.steamwar.bausystem.region.Region;
@ -41,7 +40,8 @@ public class DamageCommand extends SWCommand {
@Register(help = true)
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
@ -49,22 +49,22 @@ public class DamageCommand extends SWCommand {
if (!permissionCheck(p)) return;
Region region = Region.getRegion(p.getLocation());
if (toggle(region)) {
RegionUtils.actionBar(region, getEnableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
} else {
RegionUtils.actionBar(region, getDisableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
}
}
private String getNoPermMessage() {
return "§cDu darfst hier nicht Spielerschaden (de-)aktivieren";
return "REGION_DAMAGE_NO_PERMS";
}
private String getEnableMessage() {
return "§cRegions Spielerschaden deaktiviert";
return "REGION_DAMAGE_ENABLED";
}
private String getDisableMessage() {
return "§aRegions Spielerschaden aktiviert";
return "REGION_DAMAGE_DISABLED";
}
private boolean toggle(Region region) {
@ -81,7 +81,7 @@ public class DamageCommand extends SWCommand {
private boolean permissionCheck(Player player) {
if (!Permission.hasPermission(player, Permission.WORLD)) {
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
BauSystem.MESSAGE.send(getNoPermMessage(), player);
return false;
}
return true;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -20,7 +39,8 @@ public class FireCommand extends SWCommand {
@Register(help = true)
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
@ -28,22 +48,22 @@ public class FireCommand extends SWCommand {
if (!permissionCheck(p)) return;
Region region = Region.getRegion(p.getLocation());
if (toggle(region)) {
RegionUtils.actionBar(region, getEnableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
} else {
RegionUtils.actionBar(region, getDisableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
}
}
private String getNoPermMessage() {
return "§cDu darfst hier nicht Feuerschaden (de-)aktivieren";
return "REGION_FIRE_NO_PERMS";
}
private String getEnableMessage() {
return "§cRegions Feuerschaden deaktiviert";
return "REGION_FIRE_ENABLED";
}
private String getDisableMessage() {
return "§aRegions Feuerschaden aktiviert";
return "REGION_FIRE_DISABLED";
}
private boolean toggle(Region region) {
@ -60,7 +80,7 @@ public class FireCommand extends SWCommand {
private boolean permissionCheck(Player player) {
if (!Permission.hasPermission(player, Permission.WORLD)) {
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
BauSystem.MESSAGE.send(getNoPermMessage(), player);
return false;
}
return true;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -20,7 +39,8 @@ public class FreezeCommand extends SWCommand {
@Register(help = true)
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
@ -28,22 +48,22 @@ public class FreezeCommand extends SWCommand {
if (!permissionCheck(p)) return;
Region region = Region.getRegion(p.getLocation());
if (toggle(region)) {
RegionUtils.actionBar(region, getEnableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getEnableMessage(), p));
} else {
RegionUtils.actionBar(region, getDisableMessage());
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse(getDisableMessage(), p));
}
}
private String getNoPermMessage() {
return "§cDu darfst diese Welt nicht einfrieren";
return "REGION_FREEZE_NO_PERMS";
}
private String getEnableMessage(){
return "§cRegion eingefroren";
return "REGION_FREEZE_ENABLED";
}
private String getDisableMessage(){
return "§aRegion aufgetaut";
return "REGION_FREEZE_DISABLED";
}
private boolean toggle(Region region) {
@ -60,7 +80,7 @@ public class FreezeCommand extends SWCommand {
private boolean permissionCheck(Player player) {
if (!Permission.hasPermission(player, Permission.WORLD)) {
player.sendMessage(BauSystem.PREFIX + getNoPermMessage());
BauSystem.MESSAGE.send(getNoPermMessage(), player);
return false;
}
return true;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -20,8 +39,9 @@ public class ProtectCommand extends SWCommand {
@Register(help = true)
public void genericHelp(Player p, String... args) {
p.sendMessage("§8/§eprotect §8- §7Schütze die Region");
p.sendMessage("§8/§eprotect §8[§7Schematic§8] §8- §7Schütze die Region mit einer Schematic");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Freeze");
BauSystem.MESSAGE.sendPrefixless("REGION_PROTECT_HELP_1", p);
BauSystem.MESSAGE.sendPrefixless("REGION_PROTECT_HELP_2", p);
}
@Register
@ -32,19 +52,19 @@ public class ProtectCommand extends SWCommand {
switch (region.getPlain(Flag.PROTECT, ProtectMode.class)) {
case ACTIVE:
region.set(Flag.PROTECT, ProtectMode.INACTIVE);
RegionUtils.actionBar(region, "§cBoden Schutz aufgehoben");
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse("REGION_PROTECT_DISABLE", p));
break;
default:
case INACTIVE:
region.set(Flag.PROTECT, ProtectMode.ACTIVE);
RegionUtils.actionBar(region, "§aBoden geschützt");
RegionUtils.actionBar(region, BauSystem.MESSAGE.parse("REGION_PROTECT_ENABLE", p));
break;
}
}
private boolean permissionCheck(Player player) {
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 true;
@ -53,7 +73,7 @@ public class ProtectCommand extends SWCommand {
private Region regionCheck(Player player) {
Region region = Region.getRegion(player.getLocation());
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 region;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -38,15 +57,24 @@ public class RegionCommand extends SWCommand {
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)
public void genericHelp(Player player, String... args) {
player.sendMessage("§8/§eregion undo §8- §7Mache die letzten 20 /testblock oder /reset rückgängig");
player.sendMessage("§8/§eregion redo §8- §7Wiederhole die letzten 20 §8/§7rg undo");
player.sendMessage("§8/§eregion restore §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen");
player.sendMessage("§8/§eregion §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus");
player.sendMessage("§8/§eregion §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension");
player.sendMessage("§8/§eregion color §8[§7Color§8] §8- §7Ändere die Regions Farbe");
player.sendMessage("§8/§eregion copypoint §8- §7Teleportiere dich zum Regions Kopierpunkt");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", player, "Region");
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_1", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_2", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_3", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_4", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_5", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_6", player);
BauSystem.MESSAGE.sendPrefixless("REGION_REGION_HELP_7", player);
}
@Register("undo")
@ -56,26 +84,9 @@ public class RegionCommand extends SWCommand {
if (checkGlobalRegion(region, p)) return;
if (region.undo()) {
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Letzte Aktion rückgangig gemacht");
RegionUtils.message(region, "REGION_REGION_UNDID");
} else {
p.sendMessage(BauSystem.PREFIX + "§cNichts zum rückgängig machen");
}
}
@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");
BauSystem.MESSAGE.send("REGION_REGION_NOTHING_UNDO", p);
}
}
@ -89,6 +100,23 @@ public class RegionCommand extends SWCommand {
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")
public void genericRestoreCommand(Player p) {
if (!permissionCheck(p)) return;
@ -97,13 +125,18 @@ public class RegionCommand extends SWCommand {
try {
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) {
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);
}
}
@Register("color")
public void colorCommand(Player p, ColorMode color) {
colorCommand.genericColor(p, color);
}
@Register("restore")
public void schematicRestoreCommand(Player p, String s) {
if (!permissionCheck(p)) return;
@ -112,23 +145,18 @@ public class RegionCommand extends SWCommand {
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
if (schem == null) {
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
BauSystem.MESSAGE.send("REGION_REGION_NO_SCHEM", p);
return;
}
try {
region.reset(schem, RegionType.NORMAL, RegionExtensionType.NORMAL, true);
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
RegionUtils.message(region, "REGION_REGION_RESTORED");
} 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 reset", e);
}
}
@Register("color")
public void colorCommand(Player p, ColorMode color) {
colorCommand.genericColor(p, color);
}
@Register("copypoint")
public void copyPointCommand(Player p) {
Region region = Region.getRegion(p.getLocation());
@ -136,22 +164,14 @@ public class RegionCommand extends SWCommand {
return;
}
p.teleport(region.getCopyPoint().toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
p.sendMessage(BauSystem.PREFIX + "§7Zum Kopierpunkt teleportiert");
}
static boolean checkGlobalRegion(Region region, Player p) {
if (region.isGlobal()) {
p.sendMessage(BauSystem.PREFIX + "§cDu bist in keiner Region");
return true;
}
return false;
BauSystem.MESSAGE.send("REGION_REGION_TP_COPY", p);
}
private boolean permissionCheck(Player player) {
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
return true;
}
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht die Region verändern");
BauSystem.MESSAGE.send("REGION_REGION_NO_PERMS", player);
return false;
}

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -25,8 +44,9 @@ public class ResetCommand extends SWCommand {
@Register(help = true)
public void genericHelp(Player p, String... args) {
p.sendMessage("§8/§ereset §8- §7Setzte die Region zurück");
p.sendMessage("§8/§ereset §8[§7Schematic§8] §8- §7Setzte die Region mit einer Schematic zurück");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Reset");
BauSystem.MESSAGE.sendPrefixless("REGION_RESET_HELP_1", p);
BauSystem.MESSAGE.sendPrefixless("REGION_RESET_HELP_2", p);
}
@Register
@ -36,9 +56,9 @@ public class ResetCommand extends SWCommand {
if (region == null) return;
try {
region.reset(null, RegionType.NORMAL);
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
RegionUtils.message(region, "REGION_RESET_RESETED");
} 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);
}
}
@ -50,14 +70,14 @@ public class ResetCommand extends SWCommand {
if (region == null) return;
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
if (schem == null) {
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
BauSystem.MESSAGE.send("REGION_RESET_NO_SCHEM", p);
return;
}
try {
region.reset(schem, RegionType.NORMAL);
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Region zurückgesetzt");
RegionUtils.message(region, "REGION_RESET_RESETED");
} 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);
}
}
@ -66,14 +86,14 @@ public class ResetCommand extends SWCommand {
if (Permission.hasPermission(player, Permission.WORLD)) {
return true;
}
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht die Region zurücksetzen");
BauSystem.MESSAGE.send("REGION_RESET_NO_PERMS", player);
return false;
}
private Region regionCheck(Player player) {
Region region = Region.getRegion(player.getLocation());
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 region;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -28,8 +47,9 @@ public class TNTCommand extends SWCommand {
@Register(help = true)
public void genericHelp(Player p, String... args) {
p.sendMessage("§8/§etnt §8- §7Ändere das TNT verhalten");
p.sendMessage("§8/§etnt §8[§7Mode§8] §8- §7Setzte das TNT verhalten auf einen Modus");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Tnt");
BauSystem.MESSAGE.sendPrefixless("REGION_TNT_HELP_1", p);
BauSystem.MESSAGE.sendPrefixless("REGION_TNT_HELP_2", p);
}
@Register
@ -56,7 +76,7 @@ public class TNTCommand extends SWCommand {
requestedMessage = getTestblockEnableMessage();
break;
}
tntToggle(region, tntMode, requestedMessage);
tntToggle(region, tntMode, BauSystem.MESSAGE.parse(requestedMessage, p));
}
@ClassMapper(value = TNTMode.class, local = true)
@ -73,15 +93,15 @@ public class TNTCommand extends SWCommand {
}
private String getEnableMessage() {
return "§aTNT-Schaden aktiviert";
return "REGION_TNT_ON";
}
private String getDisableMessage() {
return "§cTNT-Schaden deaktiviert";
return "REGION_TNT_OFF";
}
private String getTestblockEnableMessage() {
return "§aTNT-Schaden außerhalb Baurahmen aktiviert";
return "REGION_TNT_TB";
}
private void tntToggle(Region region, TNTMode requestedMode, String requestedMessage) {

Datei anzeigen

@ -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;
import de.steamwar.bausystem.linkage.LinkageType;
@ -28,11 +47,11 @@ public class TNTListener implements Listener {
return false;
}
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;
}
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 value == TNTMode.DENY;

Datei anzeigen

@ -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;
import de.steamwar.bausystem.BauSystem;
@ -31,8 +50,9 @@ public class TestblockCommand extends SWCommand {
@Register(help = true)
public void genericHelp(Player p, String... args) {
p.sendMessage("§8/§etestblock §8- §7Setzte den Testblock zurück");
p.sendMessage("§8/§etestblock §8[§7Schematic§8] §8- §7Setzte den Testblock mit einer Schematic zurück");
BauSystem.MESSAGE.sendPrefixless("COMMAND_HELP_HEAD", p, "Testblock");
BauSystem.MESSAGE.sendPrefixless("REGION_TB_HELP_1", p);
BauSystem.MESSAGE.sendPrefixless("REGION_TB_HELP_2", p);
}
@Register
@ -47,9 +67,9 @@ public class TestblockCommand extends SWCommand {
if (region == null) return;
try {
region.reset(RegionType.TESTBLOCK, regionExtensionType);
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Testblock zurückgesetzt");
RegionUtils.message(region, "REGION_TB_DONE");
} 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);
}
}
@ -71,14 +91,14 @@ public class TestblockCommand extends SWCommand {
if (region == null) return;
Schematic schem = Schematic.getSchemFromDB(s, p.getUniqueId());
if (schem == null) {
p.sendMessage(BauSystem.PREFIX + "§cSchematic nicht gefunden");
BauSystem.MESSAGE.send("REGION_TB_NO_SCHEM", p);
return;
}
try {
region.reset(schem, RegionType.TESTBLOCK, regionExtensionType);
RegionUtils.messageOLD(region, BauSystem.PREFIX + "§7Testblock zurückgesetzt");
RegionUtils.message(region, "REGION_TB_DONE");
} 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);
}
}
@ -99,14 +119,14 @@ public class TestblockCommand extends SWCommand {
if (Permission.hasPermission(player, Permission.WORLDEDIT)) {
return true;
}
player.sendMessage(BauSystem.PREFIX + "§cDu darfst hier nicht den Testblock zurücksetzen");
BauSystem.MESSAGE.send("REGION_TB_NO_PERMS", player);
return false;
}
private Region regionCheck(Player player) {
Region region = Region.getRegion(player.getLocation());
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 region;

Datei anzeigen

@ -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;
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.RegionType;
import de.steamwar.core.VersionedCallable;
import java.util.function.Function;
import lombok.experimental.UtilityClass;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.io.File;
import org.bukkit.entity.Player;
import java.util.function.Function;
@UtilityClass
@ -28,6 +47,14 @@ public class RegionUtils {
.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) {
Bukkit.getOnlinePlayers()
.stream()