No longer sending messages to "commands only" mode players, added /lenny, fixes related to testing #69

Merged
NorbiPeti merged 3 commits from dev into master 2017-08-17 16:12:56 +00:00
7 changed files with 108 additions and 16 deletions

View file

@ -1,3 +1,26 @@
cache:
directories:
- $HOME/.m2/repository/org/
before_install: | # Wget BuildTools and run if cached folder not found
if [ ! -d "$HOME/.m2/repository/org/spigotmc/spigot/1.12.1-R0.1-SNAPSHOT" ]; then
wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
# grep so that download counts don't appear in log files
java -jar BuildTools.jar --rev 1.12.1 | grep -vE "[^/ ]*/[^/ ]*\s*KB\s*$" | grep -v "^\s*$"
fi
language: java
jdk:
- oraclejdk8
sudo: true
deploy:
# deploy develop to the staging environment
- provider: script
script: chmod +x deploy.sh && sh deploy.sh staging
on:
branch: dev
skip_cleanup: true
# deploy master to production
- provider: script
script: chmod +x deploy.sh && sh deploy.sh production
on:
branch: master
skip_cleanup: true

10
deploy.sh Normal file
View file

@ -0,0 +1,10 @@
#!/bin/sh
FILENAME=$(find target/ -maxdepth 1 ! -name '*original*' -name '*.jar')
echo Found file: $FILENAME
if [ $1 = 'production' ]; then
echo Production mode
echo $UPLOAD_KEY > upload_key
chmod 400 upload_key
yes | scp -B -i upload_key -o StrictHostKeyChecking=no $FILENAME travis@server.figytuna.com:/minecraft/main/plugins
fi

24
pom.xml
View file

@ -82,6 +82,22 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.4</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
<groupId>buttondevteam</groupId>
@ -121,7 +137,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.12-R0.1-SNAPSHOT</version>
<version>1.12.1-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.TBMCPlugins.ButtonCore</groupId>
@ -169,6 +185,12 @@
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.12.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<artifactId>ButtonChat</artifactId>
<organization>

View file

@ -131,9 +131,11 @@ public class ChatProcessing {
if (channel.filteranderrormsg != null) {
Objective obj = PluginMain.SB.getObjective(channel.ID);
int score = -1;
for (Player p : Bukkit.getOnlinePlayers())
obj.getScore(p.getName()).setScore(
p.getUniqueId().equals(player.getUniqueId()) ? score = e.getMCScore(p) : e.getMCScore(p));
for (Player p : Bukkit.getOnlinePlayers()) {
final int mcScore = VanillaUtils.getMCScoreIfChatOn(p, e);
obj.getScore(p.getName())
.setScore(p.getUniqueId().equals(player.getUniqueId()) ? score = mcScore : mcScore);
}
PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, String.format(
"tellraw @a[score_%s=%d,score_%s_min=%d] %s", channel.ID, score, channel.ID, score, jsonstr));
} else

View file

@ -0,0 +1,18 @@
package buttondevteam.chat;
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import buttondevteam.lib.TBMCChatEvent;
import lombok.experimental.UtilityClass;
import net.minecraft.server.v1_12_R1.EntityHuman.EnumChatVisibility;
@UtilityClass
public class VanillaUtils {
public int getMCScoreIfChatOn(Player p, TBMCChatEvent e) {
if (!(p instanceof CraftPlayer) || ((CraftPlayer) p).getHandle().getChatFlags() == EnumChatVisibility.FULL) // Only send if client allows chat
return e.getMCScore(p);
else
return -1;
}
}

View file

@ -0,0 +1,18 @@
package buttondevteam.chat.commands.appendtext;
public final class LennyCommand extends AppendTextCommandBase {
@Override
public String[] GetHelpText(String alias) {
return new String[] { "§6---- Lenny ----", //
"This command appends a Lenny face after your message", //
"Or just sends one", //
"Use either /" + alias + " <message> or just /" + alias }; //
}
@Override
public String GetAppendedText() {
return "( ͡° ͜ʖ ͡°)";
}
}

View file

@ -21,7 +21,7 @@ import buttondevteam.lib.chat.Color;
import junit.framework.TestCase;
@RunWith(ObjectTestRunner.class)
public class ChatFormatTest extends TestCase {
public class ChatFormatIT extends TestCase {
@Objects
public static List<Object> data() {
TestPrepare.PrepareServer();
@ -30,18 +30,18 @@ public class ChatFormatTest extends TestCase {
List<Object> list = new ArrayList<Object>();
list.add(new ChatFormatTest(sender, "*test*", new TellrawPart("test").setItalic(true).setColor(Color.White)));
list.add(new ChatFormatTest(sender, "**test**", new TellrawPart("test").setBold(true).setColor(Color.White)));
list.add(new ChatFormatTest(sender, "***test***",
list.add(new ChatFormatIT(sender, "*test*", new TellrawPart("test").setItalic(true).setColor(Color.White)));
list.add(new ChatFormatIT(sender, "**test**", new TellrawPart("test").setBold(true).setColor(Color.White)));
list.add(new ChatFormatIT(sender, "***test***",
new TellrawPart("test").setBold(true).setItalic(true).setColor(Color.White)));
list.add(new ChatFormatTest(sender, "***_test_***",
list.add(new ChatFormatIT(sender, "***_test_***",
new TellrawPart("test").setBold(true).setItalic(true).setUnderlined(true).setColor(Color.White)));
list.add(new ChatFormatTest(sender, "***_~~test~~_***", new TellrawPart("test").setBold(true).setItalic(true)
list.add(new ChatFormatIT(sender, "***_~~test~~_***", new TellrawPart("test").setBold(true).setItalic(true)
.setUnderlined(true).setStrikethrough(true).setColor(Color.White)));
list.add(new ChatFormatTest(sender, "¯\\\\\\_(ツ)\\_/¯", new TellrawPart("¯").setColor(Color.White),
list.add(new ChatFormatIT(sender, "¯\\\\\\_(ツ)\\_/¯", new TellrawPart("¯").setColor(Color.White),
new TellrawPart("\\").setColor(Color.White), new TellrawPart("_(ツ)").setColor(Color.White),
new TellrawPart("_/¯").setColor(Color.White)));
list.add(new ChatFormatTest(sender, "https://google.hu/",
list.add(new ChatFormatIT(sender, "https://google.hu/",
new TellrawPart("https://google.hu/").setColor(Color.White).setUnderlined(true)
.setHoverEvent(TellrawEvent.create(HoverAction.SHOW_TEXT,
new TellrawPart("Click to open").setColor(Color.Blue)))
@ -54,7 +54,7 @@ public class ChatFormatTest extends TestCase {
private final String message;
private final TellrawPart[] extras;
public ChatFormatTest(CommandSender sender, String message, TellrawPart... expectedextras) {
public ChatFormatIT(CommandSender sender, String message, TellrawPart... expectedextras) {
this.sender = sender;
this.message = message;
this.extras = expectedextras;
@ -62,7 +62,7 @@ public class ChatFormatTest extends TestCase {
@Test
public void testMessage() {
/*ArrayList<ChatFormatter> cfs = ChatProcessing.addFormatters(Color.White);
ArrayList<ChatFormatter> cfs = ChatProcessing.addFormatters(Color.White);
final String chid = ChatProcessing.getChannelID(Channel.GlobalChat, sender, null);
final TellrawPart tp = ChatProcessing.createTellraw(sender, message, null, null, chid);
ChatFormatter.Combine(cfs, message, tp);
@ -72,7 +72,6 @@ public class ChatFormatTest extends TestCase {
// System.out.println("Raw: " + ChatProcessing.toJson(expectedtp));
for (TellrawPart extra : extras)
expectedtp.addExtra(extra);
assertEquals(ChatProcessing.toJson(expectedtp), ChatProcessing.toJson(tp));*/
assertTrue(true);
assertEquals(ChatProcessing.toJson(expectedtp), ChatProcessing.toJson(tp));
}
}