Minor upstream merge

This commit is contained in:
NotMyFault 2021-02-03 23:08:39 +01:00
parent c1f6e43763
commit ac16c9a2ba
14 changed files with 87 additions and 6 deletions

View File

@ -2,5 +2,5 @@
"extends": [
"config:base"
],
"ignoreDeps": ["guava", "rhino-runtime", "mockito-core", "antlr4", "antlr4-runtime", "paranamer", "fastutil"]
"ignoreDeps": ["guava", "rhino-runtime", "mockito-core", "antlr4", "antlr4-runtime", "paranamer", "fastutil", "auto-value-annotations", "auto-value"]
}

View File

@ -213,6 +213,13 @@ public class BukkitServerInterface extends AbstractPlatform implements MultiUser
return plugin.getDescription().getVersion();
}
// FAWE start
@Override
public String getId() {
return "intellectualsites:bukkit";
}
// FAWE end
@Override
public Map<Capability, Preference> getCapabilities() {
Map<Capability, Preference> capabilities = new EnumMap<>(Capability.class);

View File

@ -145,6 +145,13 @@ class CLIPlatform extends AbstractPlatform {
return app.getInternalVersion();
}
// FAWE start
@Override
public String getId() {
return "intellectualsites:cli";
}
// FAWE end
@Override
public Map<Capability, Preference> getCapabilities() {
Map<Capability, Preference> capabilities = new EnumMap<>(Capability.class);

View File

@ -104,8 +104,11 @@ import com.sk89q.worldedit.regions.factory.RegionFactory;
import com.sk89q.worldedit.session.ClipboardHolder;
import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.util.formatting.text.Component;
import com.sk89q.worldedit.util.formatting.text.TextComponent;
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
import com.sk89q.worldedit.util.formatting.text.event.ClickEvent;
import com.sk89q.worldedit.util.formatting.text.format.TextColor;
import com.sk89q.worldedit.world.block.BlockID;
import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BlockStateHolder;
@ -143,6 +146,10 @@ public class BrushCommands {
private final WorldEdit worldEdit;
private static final Component UNBIND_COMMAND_COMPONENT = TextComponent.builder("/brush unbind", TextColor.AQUA)
.clickEvent(ClickEvent.suggestCommand("/brush unbind"))
.build();
/**
* Create a new instance.
*
@ -1034,6 +1041,7 @@ public class BrushCommands {
player.print(
Caption.of("fawe.worldedit.brush.brush.equipped", arguments.get().split(" ")[1]));
ToolCommands.sendUnbindInstruction(player, UNBIND_COMMAND_COMPONENT);
}
return settings;
}
@ -1267,5 +1275,6 @@ public class BrushCommands {
tool.setBrush(new OperationFactoryBrush(factory, shape, session), permission);
player.printInfo(TranslatableComponent.of("worldedit.brush.operation.equip", TextComponent.of(factory.toString())));
ToolCommands.sendUnbindInstruction(player, UNBIND_COMMAND_COMPONENT);
}
}

View File

@ -53,6 +53,8 @@ import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.util.formatting.text.Component;
import com.sk89q.worldedit.util.formatting.text.TextComponent;
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
import com.sk89q.worldedit.util.formatting.text.event.ClickEvent;
import com.sk89q.worldedit.util.formatting.text.format.TextColor;
import com.sk89q.worldedit.world.block.BlockStateHolder;
import org.enginehub.piston.CommandManager;
import org.enginehub.piston.CommandManagerService;
@ -70,6 +72,10 @@ import java.util.stream.Collectors;
@CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class)
public class ToolCommands {
private static final Component UNBIND_COMMAND_COMPONENT = TextComponent.builder("/tool unbind", TextColor.AQUA)
.clickEvent(ClickEvent.suggestCommand("/tool unbind"))
.build();
public static void register(CommandRegistrationHandler registration,
CommandManager commandManager,
CommandManagerService commandManagerService,
@ -142,11 +148,16 @@ public class ToolCommands {
player.printInfo(TranslatableComponent.of(isBrush ? "worldedit.brush.none.equip" : "worldedit.tool.none.equip"));
}
static void sendUnbindInstruction(Player sender, Component commandComponent) {
sender.printDebug(TranslatableComponent.of("worldedit.tool.unbind-instruction", commandComponent));
}
private static void setTool(Player player, LocalSession session, Tool tool,
String translationKey) throws InvalidToolBindException {
BaseItemStack itemStack = player.getItemInHand(HandSide.MAIN_HAND);
session.setTool(itemStack.getType(), tool);
player.printInfo(TranslatableComponent.of(translationKey, itemStack.getRichName()));
sendUnbindInstruction(player, UNBIND_COMMAND_COMPONENT);
}
private final WorldEdit we;

View File

@ -40,6 +40,7 @@ import com.sk89q.worldedit.util.formatting.component.TextComponentProducer;
import com.sk89q.worldedit.util.formatting.text.TextComponent;
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
import com.sk89q.worldedit.util.formatting.text.event.ClickEvent;
import com.sk89q.worldedit.util.formatting.text.event.HoverEvent;
import com.sk89q.worldedit.util.formatting.text.format.TextColor;
import org.enginehub.piston.annotation.Command;
import org.enginehub.piston.annotation.CommandContainer;
@ -101,7 +102,8 @@ public class WorldEditCommands {
for (Platform platform : pm.getPlatforms()) {
producer.append(
TextComponent.of("* ", TextColor.GRAY)
.append(TextComponent.of(platform.getPlatformName()))
.append(TextComponent.of(platform.getPlatformName())
.hoverEvent(HoverEvent.showText(TextComponent.of(platform.getId()))))
.append(TextComponent.of("(" + platform.getPlatformVersion() + ")"))
).newline();
}
@ -113,7 +115,7 @@ public class WorldEditCommands {
producer.append(
TextComponent.of(capability.name(), TextColor.GRAY)
.append(TextComponent.of(": ")
.append(TextComponent.of(platform != null ? platform.getPlatformName() : "NONE")))
.append(TextComponent.of(platform != null ? platform.getPlatformName() : "none")))
).newline();
}
actor.print(new MessageBox("Capabilities", producer, TextColor.GRAY).create());

View File

@ -21,6 +21,8 @@ package com.sk89q.worldedit.extension.platform;
import com.sk89q.worldedit.LocalConfiguration;
import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.internal.util.NonAbstractForCompatibility;
import com.sk89q.worldedit.registry.Keyed;
import com.sk89q.worldedit.util.SideEffect;
import com.sk89q.worldedit.util.io.ResourceLoader;
import com.sk89q.worldedit.world.DataFixer;
@ -29,6 +31,7 @@ import com.sk89q.worldedit.world.registry.Registries;
import org.enginehub.piston.CommandManager;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
@ -39,7 +42,7 @@ import javax.annotation.Nullable;
* <p>It is strongly recommended that implementations extend from
* {@link AbstractPlatform}.</p>
*/
public interface Platform {
public interface Platform extends Keyed {
/**
* Return the resource loader.
@ -176,6 +179,18 @@ public interface Platform {
*/
String getPlatformVersion();
/**
* {@inheritDoc}
* @return an id
* @apiNote This must be overridden by new subclasses. See {@link NonAbstractForCompatibility}
* for details
*/
@NonAbstractForCompatibility(delegateName = "getPlatformName", delegateParams = {})
@Override
default String getId() {
return "legacy:" + getPlatformName().toLowerCase(Locale.ROOT).replaceAll("[^a-z_.-]", "_");
}
/**
* Get a map of advertised capabilities of this platform, where each key
* in the given map is a supported capability and the respective value

View File

@ -79,6 +79,7 @@ public class EllipsoidRegionSelector implements RegionSelector, CUIRegion {
final EllipsoidRegionSelector ellipsoidRegionSelector = (EllipsoidRegionSelector) oldSelector;
region = new EllipsoidRegion(ellipsoidRegionSelector.getIncompleteRegion());
started = ellipsoidRegionSelector.started;
} else {
Region oldRegion;
try {
@ -93,6 +94,7 @@ public class EllipsoidRegionSelector implements RegionSelector, CUIRegion {
BlockVector3 center = pos1.add(pos2).divide(2).floor();
region.setCenter(center);
region.setRadius(pos2.subtract(center).toVector3());
started = true;
}
}

View File

@ -62,6 +62,10 @@ public class Registry<V extends Keyed> implements Iterable<V> {
return value;
}
public void clear() {
this.map.clear();
}
public Set<String> keySet() {
return Collections.unmodifiableSet(this.map.keySet());
}

View File

@ -39,6 +39,7 @@ import java.io.OutputStream;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Locale;
import java.util.Properties;
import java.util.Set;
@ -107,7 +108,7 @@ public class PropertiesConfiguration extends LocalConfiguration {
logFile = getString("log-file", logFile);
logFormat = getString("log-format", logFormat);
registerHelp = getBool("register-help", registerHelp);
wandItem = getString("wand-item", wandItem);
wandItem = getString("wand-item", wandItem).toLowerCase(Locale.ROOT);
try {
wandItem = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(wandItem)).getId();
} catch (Throwable ignored) {
@ -117,7 +118,7 @@ public class PropertiesConfiguration extends LocalConfiguration {
useInventory = getBool("use-inventory", useInventory);
useInventoryOverride = getBool("use-inventory-override", useInventoryOverride);
useInventoryCreativeOverride = getBool("use-inventory-creative-override", useInventoryCreativeOverride);
navigationWand = getString("nav-wand-item", navigationWand);
navigationWand = getString("nav-wand-item", navigationWand).toLowerCase(Locale.ROOT);
try {
navigationWand = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(navigationWand)).getId();
} catch (Throwable ignored) {

View File

@ -447,6 +447,8 @@
"worldedit.tool.lrbuild.set": "Left-click set to {0}; right-click set to {1}.",
"worldedit.tool.stack.equip": "Stack tool bound to {0}.",
"worldedit.tool.unbind-instruction": "Run {0} while holding the item to unbind it.",
"worldedit.tool.superpickaxe.mode.single": "Mode is now single. Left click with a pickaxe. // to disable.",
"worldedit.tool.superpickaxe.mode.area": "Mode is now area. Left click with a pickaxe. // to disable.",
"worldedit.tool.superpickaxe.mode.recursive": "Mode is now recursive. Left click with a pickaxe. // to disable.",

View File

@ -189,6 +189,13 @@ class FabricPlatform extends AbstractPlatform implements MultiUserPlatform {
return mod.getInternalVersion();
}
// FAWE start
@Override
public String getId() {
return "intellectualsites:fabric";
}
// FAWE end
@Override
public Map<Capability, Preference> getCapabilities() {
Map<Capability, Preference> capabilities = new EnumMap<>(Capability.class);

View File

@ -195,6 +195,13 @@ class ForgePlatform extends AbstractPlatform implements MultiUserPlatform {
return mod.getInternalVersion();
}
// FAWE start
@Override
public String getId() {
return "intellectualsites:forge";
}
// FAWE end
@Override
public Map<Capability, Preference> getCapabilities() {
Map<Capability, Preference> capabilities = new EnumMap<>(Capability.class);

View File

@ -184,6 +184,13 @@ class SpongePlatform extends AbstractPlatform implements MultiUserPlatform {
return mod.getInternalVersion();
}
// FAWE start
@Override
public String getId() {
return "intellectualsites:sponge";
}
// FAWE end
@Override
public Map<Capability, Preference> getCapabilities() {
Map<Capability, Preference> capabilities = new EnumMap<>(Capability.class);