Skip to content

Instantly share code, notes, and snippets.

@Waterpicker
Created January 4, 2017 07:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Waterpicker/d1f5864836d5c394ffa41cbb3417a5e1 to your computer and use it in GitHub Desktop.
Save Waterpicker/d1f5864836d5c394ffa41cbb3417a5e1 to your computer and use it in GitHub Desktop.
package org.waterpicker.borderhighlight;
import com.flowpowered.math.vector.Vector3d;
import com.flowpowered.math.vector.Vector3i;
import com.google.inject.Inject;
import org.slf4j.Logger;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.command.args.CommandContext;
import org.spongepowered.api.command.spec.CommandExecutor;
import org.spongepowered.api.command.spec.CommandSpec;
import org.spongepowered.api.effect.particle.ParticleEffect;
import org.spongepowered.api.effect.particle.ParticleTypes;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.filter.Getter;
import org.spongepowered.api.event.game.state.GameInitializationEvent;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
import org.spongepowered.api.event.network.ClientConnectionEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.format.TextColors;
import org.spongepowered.api.text.format.TextStyles;
import org.spongepowered.api.util.Direction;
import org.spongepowered.api.world.Location;
@Plugin(
id = "borderhighlight",
name = "BorderHighlight",
authors = {
"Waterpicker"
}
)
public class BorderHighlight {
@Inject
private Logger logger;
@Listener
public void onInitaliazation(GameInitializationEvent event) {
CommandSpec highlight = CommandSpec.builder().executor(new CommandExecutor() {
@Override
public CommandResult execute(CommandSource src, CommandContext args) throws CommandException {
if (src instanceof Player) {
Player player = (Player) src;
Vector3i vector3i = player.getLocation().getBlockRelative(Direction.UP).getBlockPosition();
ParticleEffect effect = ParticleEffect.builder().type(ParticleTypes.NOTE).build();
for (int x = 0; x < 5; x++) {
for (int y = 0; y < 5; y++) {
for (int z = 0; z < 5; z++) {
player.spawnParticles(effect, vector3i.toDouble().add(0.25 * x, 0.25 * y, 0.25 * z));
}
}
}
}
return CommandResult.empty();
}
}).build();
Sponge.getCommandManager().register(this, highlight, "highlight");
}
@Listener
public void onPlayerJoin(ClientConnectionEvent.Join event, @Getter("getTargetEntity") Player player) {
// The text message could be configurable, check the docs on how to do so!
player.sendMessage(Text.of(TextColors.AQUA, TextStyles.BOLD, "Hi " + player.getName()));
}
}
java.lang.NoSuchFieldError: NOTE
at org.waterpicker.borderhighlight.BorderHighlight$1.execute(BorderHighlight.java:51) ~[BorderHighlight$1.class:?]
at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:351) ~[CommandSpec.class:1.10.2-2171-5.1.0-BETA-1992]
at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:333) ~[SimpleDispatcher.class:1.10.2-2171-5.1.0-BETA-1992]
at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:291) [SpongeCommandManager.class:1.10.2-2171-5.1.0-BETA-1992]
at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:83) [bd.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:913) [me.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:892) [me.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37) [im.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9) [im.class:?]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:136) [PacketUtil.class:1.10.2-2171-5.1.0-BETA-1992]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjd000(SourceFile:39) [fl$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_111]
at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment