mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-02-01 21:11:44 +01:00
Fix preemptive setting of owner metadata on to trade signs (#4835)
Fixes #4836.
This commit is contained in:
parent
3984bddd9d
commit
997fb1800e
@ -31,6 +31,7 @@ import java.util.Set;
|
|||||||
import static com.earth2me.essentials.I18n.tl;
|
import static com.earth2me.essentials.I18n.tl;
|
||||||
|
|
||||||
public class EssentialsSign {
|
public class EssentialsSign {
|
||||||
|
private static final String SIGN_OWNER_KEY = "sign-owner";
|
||||||
protected static final BigDecimal MINTRANSACTION = new BigDecimal("0.01");
|
protected static final BigDecimal MINTRANSACTION = new BigDecimal("0.01");
|
||||||
private static final Set<Material> EMPTY_SET = new HashSet<>();
|
private static final Set<Material> EMPTY_SET = new HashSet<>();
|
||||||
protected transient final String signName;
|
protected transient final String signName;
|
||||||
@ -166,19 +167,20 @@ public class EssentialsSign {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Sign sign = (Sign) signProvider.getBlock().getState();
|
final Sign sign = (Sign) signProvider.getBlock().getState();
|
||||||
ess.getSignDataProvider().setSignData(sign, "owner", user.getUUID().toString());
|
ess.getSignDataProvider().setSignData(sign, SIGN_OWNER_KEY, user.getUUID().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOwner(final IEssentials ess, final User user, final ISign signProvider, final int nameIndex, final String namePrefix) {
|
public boolean isOwner(final IEssentials ess, final User user, final ISign signProvider, final int nameIndex, final String namePrefix) {
|
||||||
final Sign sign = (Sign) signProvider.getBlock().getState();
|
final Sign sign = (Sign) signProvider.getBlock().getState();
|
||||||
if (ess.getSignDataProvider() == null || ess.getSignDataProvider().getSignData(sign, "owner") == null) {
|
if (ess.getSignDataProvider() == null || ess.getSignDataProvider().getSignData(sign, SIGN_OWNER_KEY) == null) {
|
||||||
if (ess.getSignDataProvider() != null) {
|
final boolean isLegacyOwner = FormatUtil.stripFormat(signProvider.getLine(nameIndex)).equalsIgnoreCase(getUsername(user));
|
||||||
ess.getSignDataProvider().setSignData(sign, "owner", user.getUUID().toString());
|
if (ess.getSignDataProvider() != null && isLegacyOwner) {
|
||||||
|
ess.getSignDataProvider().setSignData(sign, SIGN_OWNER_KEY, user.getUUID().toString());
|
||||||
}
|
}
|
||||||
return FormatUtil.stripFormat(signProvider.getLine(nameIndex)).equalsIgnoreCase(getUsername(user));
|
return isLegacyOwner;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user.getUUID().toString().equals(ess.getSignDataProvider().getSignData(sign, "owner"))) {
|
if (user.getUUID().toString().equals(ess.getSignDataProvider().getSignData(sign, SIGN_OWNER_KEY))) {
|
||||||
signProvider.setLine(nameIndex, namePrefix + getUsername(user));
|
signProvider.setLine(nameIndex, namePrefix + getUsername(user));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user