Skip to content

Commit

Permalink
Parse definitions in BungeeTag tags
Browse files Browse the repository at this point in the history
  • Loading branch information
Morphan1 committed Oct 31, 2015
1 parent 83782e5 commit 1d8b24e
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 5 deletions.
@@ -0,0 +1,17 @@
package net.gnomeffinway.depenizen.support.bungee;

import net.aufdemrand.denizencore.scripts.ScriptEntryData;
import net.aufdemrand.denizencore.tags.TagContext;
import net.aufdemrand.denizencore.utilities.DefinitionProvider;

public class BungeeTagContext extends TagContext {

public BungeeTagContext(boolean debug, DefinitionProvider definitionProvider) {
super(false, debug, null, null, definitionProvider);
}

@Override
public ScriptEntryData getScriptEntryData() {
return null;
}
}
@@ -0,0 +1,42 @@
package net.gnomeffinway.depenizen.support.bungee;

import net.aufdemrand.denizencore.utilities.DefinitionProvider;

import java.util.Map;

public class DefinitionsWrapper implements DefinitionProvider {

private final Map<String, String> definitions;

public DefinitionsWrapper(Map<String, String> definitions) {
this.definitions = definitions;
}

@Override
public void addDefinition(String definition, String value) {
this.definitions.put(definition, value);
}

@Override
public Map<String, String> getAllDefinitions() {
return this.definitions;
}

@Override
public String getDefinition(String definition) {
if (definition == null) {
return null;
}
return this.definitions.get(definition);
}

@Override
public boolean hasDefinition(String definition) {
return this.definitions.containsKey(definition);
}

@Override
public void removeDefinition(String definition) {
this.definitions.remove(definition);
}
}
@@ -1,7 +1,5 @@
package net.gnomeffinway.depenizen.support.bungee;

import net.aufdemrand.denizen.tags.BukkitTagContext;
import net.aufdemrand.denizen.utilities.DenizenAPI;
import net.aufdemrand.denizencore.tags.TagManager;
import net.aufdemrand.denizencore.utilities.debugging.dB;
import net.aufdemrand.denizencore.objects.Element;
Expand Down Expand Up @@ -211,7 +209,8 @@ else if (packetType == 0x03) {
else if (packetType == 0x05) {
ClientPacketInTag packet = new ClientPacketInTag();
packet.deserialize(data);
String parsed = TagManager.tag(packet.getTag(), new BukkitTagContext(null, null, false, null, false, null));
DefinitionsWrapper definitions = new DefinitionsWrapper(packet.getDefinitions());
String parsed = TagManager.tag(packet.getTag(), new BungeeTagContext(packet.shouldDebug(), definitions));
send(new ClientPacketOutTagParsed(packet.getId(), parsed, packet.getFrom()));
}
else if (packetType == 0x06) {
Expand Down
@@ -1,9 +1,13 @@
package net.gnomeffinway.depenizen.support.bungee.packets;

import java.util.Map;

public class ClientPacketInTag extends Packet {

private int id;
private String tag;
private boolean debug;
private Map<String, String> definitions;
private String from;

public ClientPacketInTag() {
Expand All @@ -17,6 +21,14 @@ public String getTag() {
return tag;
}

public boolean shouldDebug() {
return debug;
}

public Map<String, String> getDefinitions() {
return definitions;
}

public String getFrom() {
return from;
}
Expand All @@ -26,7 +38,8 @@ public void deserialize(DataDeserializer deserializer) {
DataDeserializer box = new DataDeserializer(deserializer.readByteArray());
this.id = box.readInt();
this.tag = box.readString();

this.debug = box.readBoolean();
this.definitions = box.readStringMap();
this.from = deserializer.readString();
}
}
@@ -1,14 +1,20 @@
package net.gnomeffinway.depenizen.support.bungee.packets;

import java.util.Map;

public class ClientPacketOutTag extends Packet {

private int id;
private String tag;
private boolean debug;
private Map<String, String> definitions;
private String destination;

public ClientPacketOutTag(int id, String tag, String destination) {
public ClientPacketOutTag(int id, String tag, boolean debug, Map<String, String> definitions, String destination) {
this.id = id;
this.tag = tag;
this.debug = debug;
this.definitions = definitions;
this.destination = destination;
}

Expand All @@ -19,6 +25,8 @@ public void serialize(DataSerializer serializer) {
DataSerializer box = new DataSerializer();
box.writeInt(id);
box.writeString(tag);
box.writeBoolean(debug);
box.writeStringMap(definitions);
serializer.writeByteArray(box.toByteArray());

serializer.writeString(destination);
Expand Down

0 comments on commit 1d8b24e

Please sign in to comment.