Allow creative pick block

This commit is contained in:
LOOHP 2020-08-13 02:37:19 +08:00
parent 93f84e7861
commit 59b68a6bf8
2 changed files with 10 additions and 5 deletions

View File

@ -7,8 +7,10 @@ import java.net.InetAddress;
import java.net.Socket; import java.net.Socket;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -56,6 +58,7 @@ import com.loohp.limbo.Server.Packets.PacketStatusOutPong;
import com.loohp.limbo.Server.Packets.PacketStatusOutResponse; import com.loohp.limbo.Server.Packets.PacketStatusOutResponse;
import com.loohp.limbo.Utils.CustomStringUtils; import com.loohp.limbo.Utils.CustomStringUtils;
import com.loohp.limbo.Utils.DataTypeIO; import com.loohp.limbo.Utils.DataTypeIO;
import com.loohp.limbo.Utils.GameMode;
import com.loohp.limbo.Utils.MojangAPIUtils; import com.loohp.limbo.Utils.MojangAPIUtils;
import com.loohp.limbo.Utils.MojangAPIUtils.SkinResponse; import com.loohp.limbo.Utils.MojangAPIUtils.SkinResponse;
import com.loohp.limbo.Utils.NamespacedKey; import com.loohp.limbo.Utils.NamespacedKey;
@ -317,12 +320,14 @@ public class ClientConnection extends Thread {
PacketPlayOutShowPlayerSkins show = new PacketPlayOutShowPlayerSkins(player.getEntityId()); PacketPlayOutShowPlayerSkins show = new PacketPlayOutShowPlayerSkins(player.getEntityId());
sendPacket(show); sendPacket(show);
PacketPlayOutPlayerAbilities abilities; Set<PlayerAbilityFlags> flags = new HashSet<>();
if (p.isAllowFlight()) { if (p.isAllowFlight()) {
abilities = new PacketPlayOutPlayerAbilities(0.05F, 0.1F, PlayerAbilityFlags.ALLOW_FLYING); flags.add(PlayerAbilityFlags.FLY);
} else {
abilities = new PacketPlayOutPlayerAbilities(0.05F, 0.1F);
} }
if (player.getGamemode().equals(GameMode.CREATIVE)) {
flags.add(PlayerAbilityFlags.CREATIVE);
}
PacketPlayOutPlayerAbilities abilities = new PacketPlayOutPlayerAbilities(0.05F, 0.1F, flags.toArray(new PlayerAbilityFlags[flags.size()]));
sendPacket(abilities); sendPacket(abilities);
String str = client_socket.getInetAddress().getHostName() + ":" + client_socket.getPort() + "|" + player.getName(); String str = client_socket.getInetAddress().getHostName() + ":" + client_socket.getPort() + "|" + player.getName();

View File

@ -10,7 +10,7 @@ public class PacketPlayOutPlayerAbilities extends PacketOut {
INVULNERABLE(0x01), INVULNERABLE(0x01),
FLY(0x02), FLY(0x02),
ALLOW_FLYING(0x04), ALLOW_FLYING(0x04),
INSTANT_BREAK(0x08); CREATIVE(0x08);
int bitvalue; int bitvalue;