mirror of
https://github.com/DieReicheErethons/Brewery.git
synced 2024-10-01 04:27:34 +02:00
Quote Regex Characters when Distorting Chat
Untestet GriefPrevention Support
This commit is contained in:
parent
c7a4a36699
commit
c4a0a8dbbe
26
pom.xml
26
pom.xml
@ -85,15 +85,6 @@
|
||||
</snapshots>
|
||||
</repository>
|
||||
|
||||
<repository>
|
||||
<id>sacredlabyrinth-repo</id>
|
||||
<url>http://repo.sacredlabyrinth.net:8081/artifactory/repo/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
|
||||
<repository>
|
||||
<id>junction-repo</id>
|
||||
<url>http://junction.at/repo/</url>
|
||||
@ -107,6 +98,15 @@
|
||||
<id>mcstats-repo</id>
|
||||
<url>http://repo.mcstats.org/content/repositories/public</url>
|
||||
</repository>
|
||||
|
||||
<repository>
|
||||
<id>sacredlabyrinth-repo</id>
|
||||
<url>http://repo.sacredlabyrinth.net:8081/artifactory/repo/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
@ -142,6 +142,14 @@
|
||||
<type>jar</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>me.ryanhamshire</groupId>
|
||||
<artifactId>griefprevention</artifactId>
|
||||
<version>7.8</version>
|
||||
<scope>compile</scope>
|
||||
<type>jar</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>de.diddiz</groupId>
|
||||
<artifactId>logblock</artifactId>
|
||||
|
@ -15,6 +15,7 @@ import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.dre.brewery.integration.GriefPreventionBarrel;
|
||||
import com.dre.brewery.integration.LWCBarrel;
|
||||
import com.dre.brewery.integration.LogBlockBarrel;
|
||||
import com.dre.brewery.integration.WGBarrel;
|
||||
@ -114,6 +115,11 @@ public class Barrel {
|
||||
}
|
||||
}
|
||||
|
||||
if (P.p.getServer().getPluginManager().isPluginEnabled("GriefPrevention")) {
|
||||
if (!GriefPreventionBarrel.checkAccess(player, spigot)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (event != null) {
|
||||
plugin = P.p.getServer().getPluginManager().getPlugin("LWC");
|
||||
|
@ -227,14 +227,15 @@ public class Words {
|
||||
words = words + " ";
|
||||
}
|
||||
// remove all "from" and split "words" there
|
||||
String[] splitted = words.split(from);
|
||||
String[] splitted = words.split(java.util.regex.Pattern.quote(from));
|
||||
int index = 0;
|
||||
String part;
|
||||
|
||||
// if there are occurences of "from"
|
||||
if (splitted.length > 1) {
|
||||
// - 1 because dont add "to" to the end of last part
|
||||
for (int i = 0; i < splitted.length - 1; i++) {
|
||||
part = splitted[i];
|
||||
while (index < splitted.length - 1) {
|
||||
part = splitted[index];
|
||||
// add current part of "words" to the output
|
||||
newWords = newWords + part;
|
||||
// check if the part ends with correct string
|
||||
@ -246,10 +247,10 @@ public class Words {
|
||||
// add original
|
||||
newWords = newWords + from;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
// add the last part to finish the sentence
|
||||
part = splitted[splitted.length - 1];
|
||||
part = splitted[index];
|
||||
if (part.equals(" ")) {
|
||||
// dont add the space to the end
|
||||
return newWords;
|
||||
@ -297,4 +298,5 @@ public class Words {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
45
src/com/dre/brewery/integration/GriefPreventionBarrel.java
Normal file
45
src/com/dre/brewery/integration/GriefPreventionBarrel.java
Normal file
@ -0,0 +1,45 @@
|
||||
package com.dre.brewery.integration;
|
||||
|
||||
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.dre.brewery.P;
|
||||
import me.ryanhamshire.GriefPrevention.Claim;
|
||||
import me.ryanhamshire.GriefPrevention.Configuration.WorldConfig;
|
||||
import me.ryanhamshire.GriefPrevention.GriefPrevention;
|
||||
import me.ryanhamshire.GriefPrevention.Messages;
|
||||
import me.ryanhamshire.GriefPrevention.PlayerData;
|
||||
import me.ryanhamshire.GriefPrevention.TextMode;
|
||||
|
||||
public class GriefPreventionBarrel {
|
||||
|
||||
public static boolean checkAccess(Player player, Block sign) {
|
||||
|
||||
WorldConfig wc = GriefPrevention.instance.getWorldCfg(player.getWorld());
|
||||
/*if (!wc.Enabled()) {
|
||||
return true;
|
||||
}*/
|
||||
|
||||
PlayerData playerData = GriefPrevention.instance.dataStore.getPlayerData(player.getName());
|
||||
|
||||
// block container use during pvp combat
|
||||
if (playerData.inPvpCombat() && wc.getPvPBlockContainers()) {
|
||||
GriefPrevention.sendMessage(player, TextMode.Err, Messages.PvPNoContainers);
|
||||
return false;
|
||||
}
|
||||
|
||||
// check permissions for the claim the Barrel is in
|
||||
if (wc.getContainersRules().Allowed(sign.getLocation(), player, true).Denied()) {
|
||||
P.p.msg(player, P.p.languageReader.get("Error_NoBarrelAccess"));
|
||||
return false;
|
||||
}
|
||||
|
||||
// drop any pvp protection, as the player opens a barrel
|
||||
if (playerData.pvpImmune) {
|
||||
playerData.pvpImmune = false;
|
||||
GriefPrevention.sendMessage(player, TextMode.Warn, Messages.PvPImmunityEnd);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,14 +1,7 @@
|
||||
package com.dre.brewery.listeners;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.player.PlayerLoginEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
@ -200,27 +193,29 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
|
||||
// player joins while passed out
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
@EventHandler()
|
||||
public void onPlayerLogin(PlayerLoginEvent event) {
|
||||
final Player player = event.getPlayer();
|
||||
BPlayer bplayer = BPlayer.get(player.getName());
|
||||
if (bplayer != null) {
|
||||
if (player.hasPermission("brewery.bypass.logindeny")) {
|
||||
if (bplayer.getDrunkeness() > 100) {
|
||||
bplayer.setData(100, 0);
|
||||
if (event.getResult() == PlayerLoginEvent.Result.ALLOWED) {
|
||||
final Player player = event.getPlayer();
|
||||
BPlayer bplayer = BPlayer.get(player.getName());
|
||||
if (bplayer != null) {
|
||||
if (player.hasPermission("brewery.bypass.logindeny")) {
|
||||
if (bplayer.getDrunkeness() > 100) {
|
||||
bplayer.setData(100, 0);
|
||||
}
|
||||
bplayer.join(player);
|
||||
return;
|
||||
}
|
||||
switch (bplayer.canJoin()) {
|
||||
case 0:
|
||||
bplayer.join(player);
|
||||
return;
|
||||
case 2:
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, P.p.languageReader.get("Player_LoginDeny"));
|
||||
return;
|
||||
case 3:
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, P.p.languageReader.get("Player_LoginDenyLong"));
|
||||
}
|
||||
bplayer.join(player);
|
||||
return;
|
||||
}
|
||||
switch (bplayer.canJoin()) {
|
||||
case 0:
|
||||
bplayer.join(player);
|
||||
return;
|
||||
case 2:
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, P.p.languageReader.get("Player_LoginDeny"));
|
||||
return;
|
||||
case 3:
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, P.p.languageReader.get("Player_LoginDenyLong"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -232,4 +227,12 @@ public class PlayerListener implements Listener {
|
||||
bplayer.disconnecting();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerKick(PlayerKickEvent event) {
|
||||
BPlayer bplayer = BPlayer.get(event.getPlayer().getName());
|
||||
if (bplayer != null) {
|
||||
bplayer.disconnecting();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user