Skip to content

Commit

Permalink
Merge pull request #23 from IllgiLP/fix-fawe-upload-on-connect
Browse files Browse the repository at this point in the history
  • Loading branch information
Cornit authored Dec 23, 2022
2 parents 12420cc + 5517167 commit 05c9f14
Show file tree
Hide file tree
Showing 16 changed files with 34 additions and 69 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
apply(plugin = "com.github.johnrengelman.shadow")

group = "me.illgilp"
version = "3.0.0-beta"
version = "3.0.1-beta"

applyCommonRepositories()

Expand Down
4 changes: 2 additions & 2 deletions docs/Commands & Permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Commands
--------

| Command | Description | Permissions |
|----------------------------------------------------------------------------------|------------------------------------------------------|--------------------------------------------------|
| -------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------ |
| [`/weg clipboard`](#weg-clipboard) | commands regarding clipboards | |
| [`/weg clipboard clear [player name]`](#weg-clipboard-clear-player-name) | clears your/someone else's clipboard | `worldeditglobalizer.command.clipboard.clear` |
| [`/weg clipboard download`](#weg-clipboard-download) | download your clipboard | `worldeditglobalizer.command.clipboard.download` |
Expand Down Expand Up @@ -212,7 +212,7 @@ Permissions
-----------

| Permission | Description | Commands |
|-----------------------------------------------------|-------------------------------------------------|----------------------------------------------------------------------------------|
| --------------------------------------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------- |
| `worldeditglobalizer.admin.notify.update` | allowing to receive update notifications | |
| `worldeditglobalizer.clipboard.auto.download` | enable clipboard auto-download | |
| `worldeditglobalizer.clipboard.auto.upload` | enable clipboard auto-upload | |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package me.illgilp.worldeditglobalizer.common.network;

import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ActionBarPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.AutoUploadReadyPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardDataPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardRequestPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.KeepAlivePacket;
Expand Down Expand Up @@ -48,8 +47,4 @@ public void handle(MessagePacket packet) {
public void handle(ActionBarPacket packet) {
throw new UnsupportedOperationException("Method not implemented");
}

public void handle(AutoUploadReadyPacket packet) {
throw new UnsupportedOperationException("Method not implemented");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.function.Supplier;
import lombok.Getter;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ActionBarPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.AutoUploadReadyPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardDataPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardRequestPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.KeepAlivePacket;
Expand Down Expand Up @@ -36,7 +35,6 @@ public enum Protocol {
registerPacket(0x2, ProxyConfigResponsePacket.class, ProxyConfigResponsePacket::new);
registerPacket(0x3, ClipboardDataPacket.class, ClipboardDataPacket::new);
registerPacket(0x4, ClipboardRequestPacket.class, ClipboardRequestPacket::new);
registerPacket(0x5, AutoUploadReadyPacket.class, AutoUploadReadyPacket::new);
}
};

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.AutoUploadReadyPacket;
import me.illgilp.worldeditglobalizer.common.permission.Permission;
import me.illgilp.worldeditglobalizer.common.scheduler.WegScheduler;
import me.illgilp.worldeditglobalizer.proxy.core.api.WegProxy;
Expand All @@ -25,15 +24,8 @@ public void handleStateChange(WegServer.State from, WegServer.State to) {
} catch (ServerNotUsableException ignored) {
}
}
sendAutoUploadReady();
}, 2500, TimeUnit.MILLISECONDS);
} else {
sendAutoUploadReady();
}
}
}

private void sendAutoUploadReady() {
player.getServerConnection().sendPacket(new AutoUploadReadyPacket(true));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,10 @@ public boolean readAndSetClipboard(WegPlayer player, byte[] data, int hashCode)
}


@Override
public void clearClipboard(WegPlayer player) {
Optional.ofNullable(Bukkit.getPlayer(player.getUniqueId()))
.map(worldEditPlugin::getSession)
.ifPresent(localSession -> localSession.setClipboard(null));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,11 @@ public boolean readAndSetClipboard(WegPlayer player, byte[] data, int hashCode)
return true;
}

@Override
public void clearClipboard(WegPlayer player) {
Optional.ofNullable(Bukkit.getPlayer(player.getUniqueId()))
.map(worldEditPlugin::getSession)
.ifPresent(localSession -> localSession.setClipboard(null));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,13 @@ public boolean readAndSetClipboard(WegPlayer player, byte[] data, int hashCode)
return true;
}

@Override
public void clearClipboard(WegPlayer player) {
Optional.ofNullable(Bukkit.getPlayer(player.getUniqueId()))
.map(worldEditPlugin::getSession)
.ifPresent(localSession -> localSession.setClipboard(null));
}

private boolean isNewFormat(InputStream inputStream) {
try (NBTInputStream str = new NBTInputStream(inputStream)) {
NamedTag rootTag = str.readNamedTag();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,13 @@ public boolean readAndSetClipboard(WegPlayer player, byte[] data, int hashCode)
return true;
}

@Override
public void clearClipboard(WegPlayer player) {
Optional.ofNullable(Bukkit.getPlayer(player.getUniqueId()))
.map(worldEditPlugin::getSession)
.ifPresent(localSession -> localSession.setClipboard(null));
}

private boolean isNewFormat(InputStream inputStream) {
try (NBTInputStream str = new NBTInputStream(inputStream)) {
NamedTag rootTag = str.readNamedTag();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ protected Optional<WegCorePlayer> fetchPlayer(String name) {

@Override
protected void onPlayerConnected(WegPlayer player) {
Optional.ofNullable(WorldEditAdapterFilter.getWorldEditAdapter())
.ifPresent(worldEditAdapter -> worldEditAdapter.clearClipboard(player));
super.onPlayerConnected(player);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ public WorldEditAdapterFilter getFilter() {
public abstract Optional<WegClipboard> getClipboardOfPlayer(WegPlayer player);

public abstract boolean readAndSetClipboard(WegPlayer player, byte[] data, int hashCode);

public abstract void clearClipboard(WegPlayer player);
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,4 @@ public interface WegPlayer extends Audience, Identified, PermissionSubject {

CommonProxyConfig getProxyConfig();

boolean isAutoUploadReady();

}
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,4 @@ private class IdentityImpl implements Identity {
return WegCorePlayer.this.getUniqueId();
}
}

@Override
public boolean isAutoUploadReady() {
return autoUploadReady;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ public ClipboardAutoUploadRunnable(WegServer wegServer) {
@Override
public void run() {
for (WegPlayer wegPlayer : new ArrayList<>(wegServer.getPlayers())) {
if (wegPlayer.getConnection().getState() != WegServerConnection.State.USABLE
|| !wegPlayer.isAutoUploadReady()
) {
if (wegPlayer.getConnection().getState() != WegServerConnection.State.USABLE) {
continue;
}
if (wegPlayer.getProxyConfig().isClipboardAutoUploadEnabled()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import me.illgilp.worldeditglobalizer.common.messages.MessageHelper;
import me.illgilp.worldeditglobalizer.common.messages.translation.TranslationKey;
import me.illgilp.worldeditglobalizer.common.network.AbstractPacketHandler;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.AutoUploadReadyPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardDataPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.ClipboardRequestPacket;
import me.illgilp.worldeditglobalizer.common.network.protocol.packet.KeepAlivePacket;
Expand Down Expand Up @@ -67,9 +66,4 @@ public void handle(PermissionCheckRequestPacket packet) {
public void handle(ClipboardRequestPacket packet) {
WegScheduler.getInstance().getSyncExecutor().execute(player::uploadClipboard);
}

@Override
public void handle(AutoUploadReadyPacket packet) {
player.setAutoUploadReady(packet.isReady());
}
}

0 comments on commit 05c9f14

Please sign in to comment.