Skip to content

Commit

Permalink
Added Tag and fixed issues v0.1.5
Browse files Browse the repository at this point in the history
Added Tag module/commands/permissions
Added reload method override to modules missing it
Removed unneeded scripts

Signed-off-by: Jake Potrebic <[email protected]>
  • Loading branch information
Machine-Maker committed Jul 14, 2020
1 parent 01185e2 commit b25fd38
Show file tree
Hide file tree
Showing 17 changed files with 204 additions and 89 deletions.
30 changes: 0 additions & 30 deletions parseBlockHeads.py

This file was deleted.

28 changes: 0 additions & 28 deletions parseHermitHeads.py

This file was deleted.

21 changes: 0 additions & 21 deletions parseUUID.js

This file was deleted.

8 changes: 3 additions & 5 deletions parse_heads.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
#!/usr/bin/env python

from uuid import UUID
import itertools
import re
import sys
from uuid import UUID


def array_to_uuid(arr):
Expand All @@ -18,12 +17,11 @@ def array_to_uuid(arr):
TEXTURE_PATTERN = re.compile(r'Value:\\"([^\\]+)\\"')



if len(sys.argv) == 2:
entity = sys.argv[1].split('.')[0]
with open(sys.argv[1]) as f:
for line in f:
if (TAG_PATTERN.match(line)):
if TAG_PATTERN.match(line):
uuid_match = UUID_PATTERN.search(line)
uuid_arr = [int(i) for i in uuid_match.group(1).split(',')]
uuid = array_to_uuid(uuid_arr)
Expand All @@ -32,7 +30,7 @@ def array_to_uuid(arr):
predicate = ''
java_name = entity[0] + entity.title().replace('_', '')[1:]
if entity == 'villager':
predicate = f", {java_name} -> {java_name}.getProfession() == Villager.Profession.{name.split()[0].upper()}"
predicate = f", {java_name} -> {java_name}.getProfession() == Villager.Profession.{name.split()[0].upper()} "
elif entity == 'zombie_villager':
predicate = f", {java_name} -> {java_name}.getVillagerProfession() == Villager.Profession.{name.split()[1].upper()}"

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>me.machinemaker</groupId>
<artifactId>vanillatweaks</artifactId>
<version>0.1.4</version>
<version>0.1.5</version>
<packaging>jar</packaging>

<name>VanillaTweaks</name>
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/me/machinemaker/vanillatweaks/Lang.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,12 @@ public enum Lang {
// Workstation Highlights
NO_VILLAGER("workstationhightlights.", "&eNo villager found withing 3 blocks."),
NO_JOB_SITE("workstationhighlights.", "&eThis villager does not have a job site."),
HIGHLIGHTED_SITE("workstationhighlights.", "&aHighlighted the workstation!")
HIGHLIGHTED_SITE("workstationhighlights.", "&aHighlighted the workstation!"),

// Tag
PLAYER_IS_IT("tag.", "&e%name% &ehas been tagged!"),
PLAYER_IS_AFK("tag.", "&e%name% &eis AFK!"),
PLAYER_IS_ALREADY_IT("tag.", "&e%name% &eis already it!"),
;

String path;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import me.machinemaker.vanillatweaks.silencemobs.SilenceMobs;
import me.machinemaker.vanillatweaks.spawningspheres.SpawningSpheres;
import me.machinemaker.vanillatweaks.spectatortoggle.SpectatorNightVision;
import me.machinemaker.vanillatweaks.tag.Tag;
import me.machinemaker.vanillatweaks.thundershrine.ThunderShrine;
import me.machinemaker.vanillatweaks.trackrawstats.TrackRawStats;
import me.machinemaker.vanillatweaks.villagerdeathmessages.VillagerDeathMessages;
Expand Down Expand Up @@ -88,6 +89,7 @@ public List<BaseModule> allModules() {
new SpawningSpheres(plugin),
new PlayerHeadDrops(plugin),
new TrackRawStats(plugin),
new Tag(plugin),

new VillagerDeathMessages(plugin),
new PillagerTools(plugin),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,28 @@

import me.machinemaker.vanillatweaks.BaseModule;
import me.machinemaker.vanillatweaks.VanillaTweaks;
import org.bukkit.NamespacedKey;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.persistence.PersistentDataType;

public class AFKDisplay extends BaseModule implements Listener {

AFKRunnable runnable;
final NamespacedKey afkKey = new NamespacedKey(this.plugin, "afk");

public AFKDisplay(VanillaTweaks vanillaTweaks) {
super(vanillaTweaks, config -> config.afkDisplay);
}

@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
if (!runnable.hasPlayer(event.getPlayer().getUniqueId())) {
if (event.getPlayer().getPersistentDataContainer().has(afkKey, PersistentDataType.BYTE)) {
event.getPlayer().setDisplayName(event.getPlayer().getName());
event.getPlayer().setPlayerListName(event.getPlayer().getName());
event.getPlayer().getPersistentDataContainer().remove(afkKey);
runnable.addPlayer(event.getPlayer());
}
}
Expand All @@ -32,7 +36,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {
@Override
public void register() {
this.registerEvents(this);
runnable = new AFKRunnable();
runnable = new AFKRunnable(this);
runnable.runTaskTimerAsynchronously(this.plugin, 1L, 20L);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.persistence.PersistentDataType;
import org.bukkit.scheduler.BukkitRunnable;

import java.util.Iterator;
Expand All @@ -16,8 +17,10 @@
class AFKRunnable extends BukkitRunnable {

private final Map<UUID, LocationTime> locationMap = Maps.newConcurrentMap();
private final AFKDisplay module;

public AFKRunnable() {
public AFKRunnable(AFKDisplay module) {
this.module = module;
Bukkit.getOnlinePlayers().forEach(this::addPlayer);
}

Expand All @@ -43,6 +46,7 @@ else if (notEqual(entry.getValue().loc, player.getPlayer().getLocation())) {
} else if (entry.getValue().time < System.currentTimeMillis() - (1000L * 60 * 5)) {
player.getPlayer().setDisplayName(ChatColor.GRAY + player.getPlayer().getDisplayName() + ChatColor.RESET);
player.getPlayer().setPlayerListName(ChatColor.GRAY + player.getPlayer().getDisplayName() + ChatColor.RESET);
player.getPlayer().getPersistentDataContainer().set(module.afkKey, PersistentDataType.BYTE, (byte) 1);
locationMap.remove(entry.getKey());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,9 @@ public void register() {
public void unregister() {
this.unregisterEvents(this);
}

@Override
public void reload() {
config.reload();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ public void unregister() {
this.unregisterEvents(this);
}

@Override
public void reload() {
config.reload();
}

enum ToggleOption {
PATROLS,
PATROL_LEADERS,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,9 @@ public void register() {
public void unregister() {
this.unregisterEvents(this);
}

@Override
public void reload() {
config.reload();
}
}
54 changes: 54 additions & 0 deletions src/main/java/me/machinemaker/vanillatweaks/tag/Commands.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package me.machinemaker.vanillatweaks.tag;

import co.aikar.commands.annotation.CommandAlias;
import co.aikar.commands.annotation.CommandCompletion;
import co.aikar.commands.annotation.CommandPermission;
import co.aikar.commands.annotation.Optional;
import co.aikar.commands.annotation.Subcommand;
import co.aikar.commands.bukkit.contexts.OnlinePlayer;
import me.machinemaker.vanillatweaks.BaseModuleCommand;
import me.machinemaker.vanillatweaks.Lang;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;

@CommandAlias("tag")
class Commands extends BaseModuleCommand<Tag> {

final NamespacedKey afkKey = new NamespacedKey(this.module.plugin, "afk");

public Commands(Tag module) {
super(module);
}

@Subcommand("givetag")
@CommandPermission("vanillatweaks.tag.givetag")
@CommandCompletion("@players")
public void giveTag(Player player, @Optional OnlinePlayer otherPlayer) {
Player receive = player;
if (otherPlayer != null) {
receive = otherPlayer.player;
}
PersistentDataContainer container = receive.getPersistentDataContainer();
if (container.has(afkKey, PersistentDataType.BYTE)) {
player.sendMessage(Lang.PLAYER_IS_AFK.p().replace("%name%", receive.getDisplayName()));
return;
}
this.module.setAsIt(receive);
if (this.module.config.showMessages) {
Bukkit.broadcastMessage(Lang.PLAYER_IS_IT.toString().replace("%name%", receive.getDisplayName()));
}
}

@Subcommand("reset")
@CommandPermission("vanillatweaks.tag.reset")
@CommandCompletion("@players")
public void resetPlayer(CommandSender sender, OnlinePlayer player) {
if (player.getPlayer().getPersistentDataContainer().has(this.module.tagKey, PersistentDataType.BYTE)) {
this.module.removeAsIt(player.getPlayer());
}
}
}
13 changes: 13 additions & 0 deletions src/main/java/me/machinemaker/vanillatweaks/tag/Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package me.machinemaker.vanillatweaks.tag;

import me.machinemaker.configmanager.BaseConfig;
import me.machinemaker.configmanager.annotations.NewConfig;
import me.machinemaker.configmanager.annotations.Path;
import me.machinemaker.configmanager.configs.ConfigFormat;

@NewConfig(name = "tag/config", fileName = "config.yml", format = ConfigFormat.YAML)
class Config extends BaseConfig {

@Path("show-messages")
public Boolean showMessages = true;
}
Loading

0 comments on commit b25fd38

Please sign in to comment.