Skip to content

Commit

Permalink
UPDATE 1.6.2
Browse files Browse the repository at this point in the history
Instruções na config.yml atualizadas
Eventos automaticos não darão mais problemas
Sistema de TAGS pronto para receber outros eventos de equipe
Sistema que implementa TAG nos eventos refeito, para maior flexibilidade de eventos
Criado novo sistema para realização de eventos vip e automaticos
  • Loading branch information
gabrizord authored Sep 11, 2017
1 parent 1f7b8d0 commit df01a20
Show file tree
Hide file tree
Showing 20 changed files with 119 additions and 90 deletions.
9 changes: 9 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
ChangeLog HEventosReloaded

HEventos ChangeLog version=1.6.2

09/09/2017
Instru��es na config.yml atualizadas
Eventos automaticos n�o dar�o mais problemas
Sistema de TAGS pronto para receber outros eventos de equipe
Sistema que implementa TAG nos eventos refeito, para maior flexibilidade de eventos
Criado novo sistema para realiza��o de eventos vip e automaticos

HEventos ChangeLog version=1.6.1

06/09/2017
Expand Down
1 change: 0 additions & 1 deletion Eventos/batataquente.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Config:
Tempo_Entre_As_Chamadas: 10
Minimo_Partipantes: 2
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/bowspleef.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Config:
Regenerar_Chao: true
Tempo_Chao_Regenera: 60
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/eventoexemplo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Config:
Tempo_Entre_As_Chamadas: 30
Minimo_Partipantes: 2
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/fight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ Config:
Tempo_Luta: 180
Tempo_Entre_Lutas: 10
PVP: true
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/frog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ Config:
Tempo_Voltar_Neve: 2
Tempo_Comecar: 30
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/killer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ Config:
Tempo_Entre_Avisos: 120
Tempo_PVP_Off: 60
PVP: true
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/minamortal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Config:
Evento_Tempo_Minutos: 10
Mensagens_Tempo_Minutos: 1
PVP: true
VIP: false
Assistir_Ativado: true
Contar_Participacao: true
Minerios: "56;14;15;16;73;129"
Expand Down
1 change: 0 additions & 1 deletion Eventos/paintball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Config:
Tempo_Entre_As_Chamadas: 10
Minimo_Partipantes: 2
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/semaforo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Config:
Tempo_Entre_As_Chamadas: 10
Minimo_Partipantes: 2
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
1 change: 0 additions & 1 deletion Eventos/spleef.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ Config:
Tempo_Chao_Regenera: 60
Tempo_Comecar: 15
PVP: false
VIP: false
Assistir_Ativado: true
Contar_Vitoria: true
Contar_Participacao: true
Expand Down
38 changes: 14 additions & 24 deletions config.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,22 @@
#
# COMO CONFIGURAR EVENTOS AUTOMATICOS
# Dia - Hora:Minuto - NomeArquivo
# CONFIGURAÇÃO
# Dia-Hora:Minuto-NomeArquivo;vip
# Dia é opcional, se não tiver dia, ele vai acontecer todos dias
# Hora:Minuto e NomeArquivo são obrigatórios
# No NomeArquivo não é necessario .yml no fim
# Evite marcar eventos para realizarem na mesma hora e minuto para evitar problemas
# Para evento vip você cria uma cópia do arquivo do evento, e mude vip para true
# Para evento vip você coloca ";vip" no fim da linha
# Caso você queira criar um evento corrida qualquer outro que use placa no fim, crie uma cópia do eventoexemplo.yml
# Nunca altere na configuração do evento a opção "Config.Evento_Type"
#
Horarios:
- "segunda-03:00-subida_mortal"
- "terca-04:00-escalada"
- "05:00-buraco273"
- "06:00-parkour"
- "09:00-speed"
- "09:30-air"
- "11:00-batataquente"
- "12:00-subida_mortal"
- "13:00-parkour2"
- "13:30-batataquente"
- "14:00-corrida1"
- "15:00-speed2"
- "16:00-parkour3"
- "17:00-batataquente"
- "18:00-buraco273"
- "19:00-parkour"
- "20:00-speed"
- "21:00-air"
- "22:00-corrida1"
- "09:00-batataquente"
- "10:00-bowspleef"
- "11:00-eventoexemplo"
- "12:00-parkour"
- "12:30-frog;vip"
- "13:00-paintball"
- "15:00-spleef"
- "sabado-15:10-killer"

Money_Multiplicador: 1

Expand Down Expand Up @@ -74,7 +64,7 @@ Mensagens:
- "&9/evento top vencedores &f- Os que mais venceram"
- "&9/evento top participacoes &f- Os que mais participaram"
DefaultAdmin:
- "&4/evento iniciar <nome> &c- Inicia um evento"
- "&4/evento iniciar <nome> <true/false> &c- Inicia um evento"
- "&4/evento cancelar &c- Cancela um evento"
- "&4/evento setloc entrada <evento> &c- Seta a entrada"
- "&4/evento setloc saida <evento> &c- Seta a saida"
Expand Down
2 changes: 1 addition & 1 deletion plugin.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
main: me.herobrinedobem.heventos.HEventos
name: HEventosReloaded
version: 1.6.1
version: 1.6.2
author: GabrielDev
description: Plugin de eventos automaticos

Expand Down
2 changes: 1 addition & 1 deletion src/me/herobrinedobem/heventos/Comandos.java
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
p.sendMessage("§4[Evento] §cUtilize /evento iniciar <nome> <true/false>");
return true;
}
if (HEventos.getHEventos().getEventosController().externalEvento(args[1])) {
if (HEventos.getHEventos().getEventosController().externalEvento(args[1], Boolean.parseBoolean(args[2]))) {
return true;
}
if (!HEventos.getHEventos().getEventosController().hasEvento(args[1])) {
Expand Down
2 changes: 1 addition & 1 deletion src/me/herobrinedobem/heventos/HEventos.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
*
* @author Herobrinedobem (Gabriel Henrique)
* @author GabrielDev (DeathRush)
* @version 1.6.0
* @version 1.6.2
*/
public class HEventos extends JavaPlugin {

Expand Down
27 changes: 17 additions & 10 deletions src/me/herobrinedobem/heventos/api/EventoBaseAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,14 @@
public class EventoBaseAPI implements EventoBaseImplements {

private EventoType eventoType;
private String horarioStart;
private String horarioStart, nome;
private List<Player> participantes = new ArrayList<Player>();
private List <Player> camarotePlayers = new ArrayList<Player>();
private boolean ocorrendo, aberto, parte1, vip, assistirAtivado, pvp, contarVitoria, contarParticipacao,
inventoryEmpty;
private int chamadas, tempo, chamadascurrent;
BukkitTask id, id2;
private String nome;
private int chamadas, tempo, chamadascurrent, minimoParticipantes;
private BukkitTask id, id2;
private Location saida, entrada, camarote, aguarde;
private List<Player> camarotePlayers = new ArrayList<Player>();
private YamlConfiguration config;

public EventoBaseAPI(YamlConfiguration config) {
Expand Down Expand Up @@ -64,8 +63,7 @@ public void startEvent() {
EventoBaseAPI.this.sendMessageList("Mensagens.Aberto");
}
} else if (EventoBaseAPI.this.chamadascurrent == 0) {
if (EventoBaseAPI.this.participantes.size() >= EventoBaseAPI.this.config
.getInt("Config.Minimo_Partipantes")) {
if (EventoBaseAPI.this.participantes.size() >= EventoBaseAPI.this.minimoParticipantes) {
if (EventoBaseAPI.this.isContarParticipacao()) {
for (Player p : EventoBaseAPI.this.participantes) {
HEventos.getHEventos().getDatabaseManager().addParticipationPoint(p.getName(), 1);
Expand Down Expand Up @@ -100,10 +98,10 @@ public void resetEvent() {
}

@Override
public void externalPluginStart() {
public void externalPluginStart(boolean vip) {
if (HEventos.getHEventos().getEventosController().getEvento() == null) {
HEventos.getHEventos().getEventosController().setEvento(this);
HEventos.getHEventos().getEventosController().getEvento().setVip(isVip());
HEventos.getHEventos().getEventosController().getEvento().setVip(vip);
HEventos.getHEventos().getEventosController().getEvento().run();
}
}
Expand Down Expand Up @@ -135,17 +133,18 @@ public void sendMessageList(String list) {
public void resetAll() {
this.nome = EventoBaseAPI.this.config.getString("Config.Nome");
this.chamadas = EventoBaseAPI.this.config.getInt("Config.Chamadas");
this.vip = EventoBaseAPI.this.config.getBoolean("Config.VIP");
this.assistirAtivado = EventoBaseAPI.this.config.getBoolean("Config.Assistir_Ativado");
this.pvp = EventoBaseAPI.this.config.getBoolean("Config.PVP");
this.contarParticipacao = EventoBaseAPI.this.config.getBoolean("Config.Contar_Participacao");
this.contarVitoria = EventoBaseAPI.this.config.getBoolean("Config.Contar_Vitoria");
this.setMinimoParticipantes(EventoBaseAPI.this.config.getInt("Config.Minimo_Partipantes"));
this.tempo = EventoBaseAPI.this.config.getInt("Config.Tempo_Entre_As_Chamadas");
this.saida = EventoUtils.getLocation(config, "Localizacoes.Saida");
this.camarote = EventoUtils.getLocation(config, "Localizacoes.Camarote");
this.entrada = EventoUtils.getLocation(config, "Localizacoes.Entrada");
this.aguarde = EventoUtils.getLocation(config, "Localizacoes.Aguardando");
this.inventoryEmpty = EventoBaseAPI.this.config.getBoolean("Config.Inv_Vazio");
this.vip = false;
this.aberto = false;
this.ocorrendo = false;
this.parte1 = false;
Expand Down Expand Up @@ -315,4 +314,12 @@ public void setHorarioStart(String horarioStart) {
public boolean isInventoryEmpty() {
return this.inventoryEmpty;
}

public int getMinimoParticipantes() {
return minimoParticipantes;
}

public void setMinimoParticipantes(int minimoParticipantes) {
this.minimoParticipantes = minimoParticipantes;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ public interface EventoBaseImplements {

public void cancelEventMethod();

public void externalPluginStart();
public void externalPluginStart(boolean vip);

}
56 changes: 34 additions & 22 deletions src/me/herobrinedobem/heventos/hooks/LegendChat.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
Expand All @@ -25,9 +25,8 @@
public class LegendChat implements Listener {

private Map<String, String> tags;
private Map<String, String> eventos = new HashMap<>();
private List<String> paintball = new ArrayList<>();
private String paintballString;
private Map<String, Object> eventos = new HashMap<>();
private Set<String> nomeEventosList = new HashSet<>();

public LegendChat() {
carregarTags();
Expand All @@ -41,9 +40,8 @@ public void carregarVencedores() {
if (!configEvento.isList("Vencedores." + filename))
eventos.put(filename, configEvento.getString("Vencedores." + filename));
else {
paintballString = filename;
paintball.clear();
paintball.addAll(configEvento.getStringList("Vencedores." + filename));
eventos.put(filename, configEvento.getStringList("Vencedores." + filename));
nomeEventosList.add(filename);
}
}
}
Expand All @@ -69,18 +67,24 @@ public void carregarTags() {
}
}

public boolean procurarListString(Player e) {
for (String fileName : nomeEventosList) {
if (eventos.get(fileName).toString().contains(e.getName() + "]")
|| eventos.get(fileName).toString().contains(e.getName() + ",")) {
return true;
}
}
return false;
}

@EventHandler
private void onTimeWinEvent(TeamWinEvent e) {
String fileName = HEventos.getHEventos().getEventosController().getFilename();
if (tags.containsKey(fileName)) {
this.paintballString = fileName;
paintball.clear();
File fileEvento = new File(HEventos.getHEventos().getDataFolder().getAbsolutePath() + "/Tags.yml");
YamlConfiguration configEvento = YamlConfiguration.loadConfiguration(fileEvento);
for (Player player : e.getList()) {
paintball.add(player.getName());
}
configEvento.set("Vencedores." + fileName, paintball);
eventos.put(fileName, e.getList());
configEvento.set("Vencedores." + fileName, e.getList());
try {
configEvento.save(fileEvento);
} catch (Exception ex) {
Expand All @@ -107,20 +111,28 @@ private void onEventoPlayerWinEvent(PlayerWinEvent e) {

@EventHandler
private void onChat(ChatMessageEvent e) {
String playerName = e.getSender().getName();
if (!eventos.containsValue(playerName) && !paintball.contains(playerName))
return;
if (e.getTags().contains("heventos")) {
String playerName = e.getSender().getName();
boolean achou = procurarListString(e.getSender());
if (!eventos.containsValue(playerName) && !achou)
return;
StringBuilder sBuilder = new StringBuilder();
if (eventos.containsValue(playerName)) {
for (Entry<String, String> es : eventos.entrySet()) {
if (e.getSender() == HEventos.getHEventos().getServer().getPlayer(es.getValue())) {
sBuilder.append(tags.get(es.getKey()));
for (Entry<String, Object> es : eventos.entrySet()) {
if (es.getValue() instanceof String) {
if (e.getSender() == HEventos.getHEventos().getServer().getPlayer((String) es.getValue())) {
sBuilder.append(tags.get(es.getKey()));
}
}
}
}
if (paintball.contains(playerName)) {
sBuilder.append(tags.get(paintballString));
if (achou) {
for (String fileName : nomeEventosList) {
if (eventos.get(fileName).toString().contains(e.getSender().getName() + "]")
|| eventos.get(fileName).toString().contains(e.getSender().getName() + ",")) {
sBuilder.append(tags.get(fileName));
}
}
}
if (sBuilder != null) {
e.setTagValue("heventos", sBuilder.toString());
Expand Down
Loading

0 comments on commit df01a20

Please sign in to comment.