From 930ebd71b463b40db5340ac9493f238a69e58a39 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 17 Mar 2016 23:05:09 +0100 Subject: [PATCH] 0.3h Property sender to sender entity --- .../editor/CommandEditContainerAbstract.java | 4 +- .../editor/PropertyThisSenderEntity.java | 44 +++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/com/massivecraft/massivecore/command/editor/PropertyThisSenderEntity.java diff --git a/src/com/massivecraft/massivecore/command/editor/CommandEditContainerAbstract.java b/src/com/massivecraft/massivecore/command/editor/CommandEditContainerAbstract.java index 18b6bd90..e73d8d1c 100644 --- a/src/com/massivecraft/massivecore/command/editor/CommandEditContainerAbstract.java +++ b/src/com/massivecraft/massivecore/command/editor/CommandEditContainerAbstract.java @@ -130,14 +130,14 @@ public abstract class CommandEditContainerAbstract extends CommandEditAbst Collection additions = ContainerUtil.getAdditions(before, after); if ( ! additions.isEmpty()) { - messages.add(Mson.prepondfix(mson("Additions: ").color(ChatColor.AQUA), this.getValueType().getVisualMson((V) additions), null)); + messages.add(Mson.prepondfix(mson("Additions: ").color(ChatColor.AQUA), this.getValueType().getVisualMson((V) additions, sender), null)); } // Note: The result of getDeletions is not actually V, but the implementation doesn't care. Collection deletions = ContainerUtil.getDeletions(before, after); if ( ! deletions.isEmpty()) { - messages.add(Mson.prepondfix(mson("Deletions: ").color(ChatColor.AQUA), this.getValueType().getVisualMson((V) deletions), null)); + messages.add(Mson.prepondfix(mson("Deletions: ").color(ChatColor.AQUA), this.getValueType().getVisualMson((V) deletions, sender), null)); } message(messages); diff --git a/src/com/massivecraft/massivecore/command/editor/PropertyThisSenderEntity.java b/src/com/massivecraft/massivecore/command/editor/PropertyThisSenderEntity.java new file mode 100644 index 00000000..88364dde --- /dev/null +++ b/src/com/massivecraft/massivecore/command/editor/PropertyThisSenderEntity.java @@ -0,0 +1,44 @@ +package com.massivecraft.massivecore.command.editor; + +import org.bukkit.command.CommandSender; + +import com.massivecraft.massivecore.command.type.sender.TypeSender; +import com.massivecraft.massivecore.store.SenderColl; +import com.massivecraft.massivecore.store.SenderEntity; + +public class PropertyThisSenderEntity> extends Property +{ + // -------------------------------------------- // + // FIELDS + // -------------------------------------------- // + + private final SenderColl coll; + public SenderColl getColl() { return this.coll; } + + // -------------------------------------------- // + // CONSTRUCT + // -------------------------------------------- // + + public PropertyThisSenderEntity(SenderColl coll) + { + super(TypeSender.get(), coll.getTypeEntity(), "this"); + this.coll = coll; + } + + // -------------------------------------------- // + // OVERRIDE + // -------------------------------------------- // + + @Override + public O getRaw(CommandSender object) + { + return coll.get(object); + } + + @Override + public void setRaw(CommandSender object, O value) + { + return; + } + +}