Merge branch 'master' into argument-map

This commit is contained in:
LeoDog896 2021-04-08 13:01:50 -04:00 committed by GitHub
commit 45cc41c99e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 81 additions and 143 deletions

View File

@ -1,6 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=fd591a34af7385730970399f473afabdb8b28d57fd97d6625c388d090039d6fd
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -139,8 +139,7 @@ public class EnumGenerator implements CodeGenerator {
// constructor
MethodSpec.Builder constructorBuilder = MethodSpec.constructorBuilder();
for (int i = 0; i < parameters.length; i++) {
ParameterSpec param = parameters[i];
for (ParameterSpec param : parameters) {
constructorBuilder.addParameter(param);
// property assignment

View File

@ -1,7 +1,6 @@
package net.minestom.codegen.enchantment;
import net.minestom.codegen.BasicEnumGenerator;
import net.minestom.codegen.stats.StatsEnumGenerator;
import net.minestom.server.registry.ResourceGatherer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -1,7 +1,6 @@
package net.minestom.codegen.fluids;
import net.minestom.codegen.BasicEnumGenerator;
import net.minestom.codegen.stats.StatsEnumGenerator;
import net.minestom.server.registry.ResourceGatherer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -1,7 +1,6 @@
package net.minestom.codegen.potions;
import net.minestom.codegen.BasicEnumGenerator;
import net.minestom.codegen.stats.StatsEnumGenerator;
import net.minestom.server.registry.ResourceGatherer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -12,7 +12,6 @@ import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.util.stream.Collectors;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL20.*;
public final class OpenGLRendering {

View File

@ -7,8 +7,6 @@ import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class PaletteGenerator {

View File

@ -14,7 +14,6 @@ import org.lwjgl.system.MemoryStack;
import java.nio.ByteBuffer;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.glfw.GLFW.glfwTerminate;
import static org.lwjgl.opengl.GL11.*;
public abstract class GLFWCapableBuffer {

View File

@ -167,7 +167,7 @@ public class MapColorRenderer implements Runnable {
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, screenQuadIndices);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
};
}
glUseProgram(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);

View File

@ -7,7 +7,6 @@ import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.utils.PacketUtils;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.Set;
/**

View File

@ -1,7 +1,6 @@
package net.minestom.server.advancements;
import net.kyori.adventure.text.Component;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.item.ItemStack;
import net.minestom.server.item.Material;

View File

@ -2,13 +2,10 @@ package net.minestom.server.adventure;
import it.unimi.dsi.fastutil.objects.Object2IntArrayMap;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import net.kyori.adventure.audience.MessageType;
import net.kyori.adventure.bossbar.BossBar;
import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.sound.SoundStop;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.minestom.server.entity.Entity;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.play.EntitySoundEffectPacket;

View File

@ -4,9 +4,7 @@ import it.unimi.dsi.fastutil.chars.Char2ObjectMap;
import it.unimi.dsi.fastutil.chars.Char2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import net.kyori.adventure.text.ComponentBuilder;
import net.kyori.adventure.text.format.*;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import net.minestom.server.color.Color;
import net.minestom.server.color.DyeColor;
import net.minestom.server.utils.validate.Check;

View File

@ -1,6 +1,5 @@
package net.minestom.server.chat;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import net.kyori.adventure.text.Component;

View File

@ -1,6 +1,5 @@
package net.minestom.server.color;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.util.RGBLike;
import net.minestom.server.chat.ChatColor;
import org.apache.commons.lang3.Validate;

View File

@ -2,7 +2,6 @@ package net.minestom.server.command;
import net.minestom.server.command.builder.CommandContext;
import net.kyori.adventure.audience.Audience;
import net.minestom.server.command.builder.Arguments;
import net.minestom.server.permission.Permission;
import org.jetbrains.annotations.NotNull;

View File

@ -2,7 +2,6 @@ package net.minestom.server.command.builder.arguments.minecraft;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.Style;
import net.kyori.adventure.text.format.TextDecoration;
import net.minestom.server.command.builder.NodeMaker;
import net.minestom.server.command.builder.arguments.Argument;
import net.minestom.server.command.builder.exception.ArgumentSyntaxException;

View File

@ -22,10 +22,10 @@ public interface CommandCondition {
* but will instead be the raw command string given by the sender.
* You should in this case warn the sender (eg by sending a message) if the condition is unsuccessful.
*
* @param source the sender of the command
* @param sender the sender of the command
* @param commandString the raw command string,
* null if this is an access request
* @return true if the sender has the right to use the command, false otherwise
*/
boolean canUse(@NotNull CommandSender source, @Nullable String commandString);
boolean canUse(@NotNull CommandSender sender, @Nullable String commandString);
}

View File

@ -1538,10 +1538,7 @@ public class Entity implements Viewable, EventHandler, DataContainer, Permission
}
private UpdateOption getSynchronizationCooldown() {
if (this.customSynchronizationCooldown != null) {
return this.customSynchronizationCooldown;
}
return SYNCHRONIZATION_COOLDOWN;
return Objects.requireNonNullElse(this.customSynchronizationCooldown, SYNCHRONIZATION_COOLDOWN);
}
public enum Pose {

View File

@ -1,15 +1,14 @@
package net.minestom.server.entity;
import net.kyori.adventure.text.Component;
import net.minestom.server.adventure.AdventureSerializer;
import net.minestom.server.MinecraftServer;
import net.minestom.server.adventure.AdventureSerializer;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.item.ItemStack;
import net.minestom.server.network.packet.server.play.EntityMetaDataPacket;
import net.minestom.server.utils.BlockPosition;
import net.minestom.server.utils.Direction;
import net.minestom.server.utils.Position;
import net.minestom.server.utils.Vector;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
@ -21,8 +20,8 @@ import org.jglrxavpok.hephaistos.nbt.NBT;
import org.jglrxavpok.hephaistos.nbt.NBTEnd;
import org.jglrxavpok.hephaistos.nbt.NBTException;
import java.util.*;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Consumer;
import java.util.function.Function;
@ -61,14 +60,14 @@ public class Metadata {
writer.writeSizedString(value.toString());
}
},
reader -> {
boolean present = reader.readBoolean();
if(present) {
return reader.readJsonMessage(Integer.MAX_VALUE);
} else {
return null;
}
});
reader -> {
boolean present = reader.readBoolean();
if (present) {
return reader.readJsonMessage(Integer.MAX_VALUE);
} else {
return null;
}
});
}
public static Value<Component> Chat(@NotNull Component value) {
@ -84,7 +83,7 @@ public class Metadata {
}
}, reader -> {
boolean present = reader.readBoolean();
if(present) {
if (present) {
return reader.readComponent(Integer.MAX_VALUE);
}
return null;
@ -120,7 +119,7 @@ public class Metadata {
}
}, reader -> {
boolean present = reader.readBoolean();
if(present) {
if (present) {
return reader.readBlockPosition();
} else {
return null;
@ -141,7 +140,7 @@ public class Metadata {
}
}, reader -> {
boolean present = reader.readBoolean();
if(present) {
if (present) {
return reader.readUuid();
} else {
return null;
@ -155,7 +154,7 @@ public class Metadata {
writer.writeVarInt(present ? value : 0);
}, reader -> {
boolean present = reader.readBoolean();
if(present) {
if (present) {
return reader.readVarInt();
} else {
return null;
@ -164,9 +163,8 @@ public class Metadata {
}
public static Value<NBT> NBT(@NotNull NBT nbt) {
return new Value<>(TYPE_NBT, nbt, writer -> {
writer.writeNBT("", nbt);
}, reader -> {
return new Value<>(TYPE_NBT, nbt, writer ->
writer.writeNBT("", nbt), reader -> {
try {
return reader.readTag();
} catch (IOException | NBTException e) {
@ -183,7 +181,7 @@ public class Metadata {
writer.writeVarInt(villagerType);
writer.writeVarInt(villagerProfession);
writer.writeVarInt(level);
}, reader -> new int[] {
}, reader -> new int[]{
reader.readVarInt(),
reader.readVarInt(),
reader.readVarInt()
@ -196,7 +194,7 @@ public class Metadata {
writer.writeVarInt(present ? value + 1 : 0);
}, reader -> {
boolean present = reader.readBoolean();
if(present) {
if (present) {
return reader.readVarInt();
} else {
return null;
@ -331,7 +329,7 @@ public class Metadata {
}
private static <T> Value<T> getCorrespondingNewEmptyValue(int type) {
switch(type) {
switch (type) {
case TYPE_BYTE:
return (Value<T>) Byte((byte) 0);
case TYPE_VARINT:
@ -351,7 +349,7 @@ public class Metadata {
case TYPE_ROTATION:
return (Value<T>) Rotation(new Vector());
case TYPE_POSITION:
return (Value<T>) Position(new BlockPosition(0,0,0));
return (Value<T>) Position(new BlockPosition(0, 0, 0));
case TYPE_OPTPOSITION:
return (Value<T>) OptPosition(null);
case TYPE_DIRECTION:
@ -365,7 +363,7 @@ public class Metadata {
case TYPE_PARTICLE:
throw new UnsupportedOperationException();
case TYPE_VILLAGERDATA:
return (Value<T>) VillagerData(0,0,0);
return (Value<T>) VillagerData(0, 0, 0);
case TYPE_OPTVARINT:
return (Value<T>) OptVarInt(null);
case TYPE_POSE:

View File

@ -59,8 +59,8 @@ import net.minestom.server.recipe.RecipeManager;
import net.minestom.server.resourcepack.ResourcePack;
import net.minestom.server.scoreboard.BelowNameTag;
import net.minestom.server.scoreboard.Team;
import net.minestom.server.sound.SoundEvent;
import net.minestom.server.sound.SoundCategory;
import net.minestom.server.sound.SoundEvent;
import net.minestom.server.stat.PlayerStatistic;
import net.minestom.server.utils.*;
import net.minestom.server.utils.callback.OptionalCallback;
@ -2715,8 +2715,6 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
private byte displayedSkinParts;
private MainHand mainHand;
private boolean firstRefresh = true;
/**
* The player game language.
*
@ -2792,8 +2790,6 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
metadata.setIndex((byte) 16, Metadata.Byte(displayedSkinParts));
this.firstRefresh = false;
// Client changed his view distance in the settings
if (viewDistanceChanged) {
refreshVisibleChunks();

View File

@ -1,11 +1,7 @@
package net.minestom.server.entity.damage;
import com.google.gson.stream.JsonReader;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.chat.RichMessage;
import net.minestom.server.data.Data;
import net.minestom.server.data.DataContainer;
import net.minestom.server.entity.Entity;

View File

@ -2,7 +2,6 @@ package net.minestom.server.entity.hologram;
import net.kyori.adventure.text.Component;
import net.minestom.server.Viewable;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.entity.Player;
import net.minestom.server.entity.type.decoration.EntityArmorStand;

View File

@ -23,7 +23,7 @@ public class MooshroomMeta extends CowMeta {
public enum Variant {
RED,
BROWN;
BROWN
}
}

View File

@ -1,7 +1,6 @@
package net.minestom.server.entity.metadata.minecart;
import net.kyori.adventure.text.Component;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;

View File

@ -2,7 +2,6 @@ package net.minestom.server.entity.type.animal;
import net.minestom.server.entity.EntityCreature;
import net.minestom.server.entity.EntityType;
import net.minestom.server.entity.Metadata;
import net.minestom.server.instance.Instance;
import net.minestom.server.utils.Position;
import org.jetbrains.annotations.NotNull;

View File

@ -13,7 +13,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.stream.Stream;
@ -52,7 +51,7 @@ public interface EventHandler extends IExtensionObserver {
if(extensionSource != null) {
MinecraftServer.getExtensionManager().getExtension(extensionSource).observe(this);
getExtensionCallbacks(extensionSource).add(eventCallback);
};
}
Collection<EventCallback> callbacks = getEventCallbacks(eventClass);
return callbacks.add(eventCallback);
@ -71,7 +70,7 @@ public interface EventHandler extends IExtensionObserver {
String extensionSource = MinestomRootClassLoader.findExtensionObjectOwner(eventCallback);
if(extensionSource != null) {
getExtensionCallbacks(extensionSource).remove(eventCallback);
};
}
return callbacks.remove(eventCallback);
}

View File

@ -1,6 +1,5 @@
package net.minestom.server.event.player;
import com.google.gson.stream.JsonReader;
import net.kyori.adventure.text.Component;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.entity.Player;

View File

@ -42,7 +42,7 @@ public class StairsPlacementRule extends BlockPlacementRule {
OUTER_LEFT,
OUTER_RIGHT,
INNER_LEFT,
INNER_RIGHT;
INNER_RIGHT
}
private enum Facing {

View File

@ -10,8 +10,6 @@ import net.minestom.server.utils.clone.PublicCloneable;
import net.minestom.server.utils.validate.Check;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import static net.minestom.server.instance.Chunk.CHUNK_SECTION_COUNT;
import static net.minestom.server.instance.Chunk.CHUNK_SECTION_SIZE;

View File

@ -397,7 +397,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
final int clickSlot = isInWindow ? slot : PlayerInventoryUtils.convertSlot(slot, offset);
final ItemStack clicked = isInWindow ? getItemStack(slot) : playerInventory.getItemStack(clickSlot);
final InventoryClickResult clickResult = clickProcessor.leftClick(this, player, slot, clicked, cursor);
final InventoryClickResult clickResult = clickProcessor.leftClick(isInWindow ? this : null, player, slot, clicked, cursor);
if (clickResult.doRefresh()) {
updateFromClick(clickResult, player);
@ -411,7 +411,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
setCursorPlayerItem(player, clickResult.getCursor());
if (!clickResult.isCancel())
callClickEvent(player, this, slot, ClickType.LEFT_CLICK, clicked, cursor);
callClickEvent(player, isInWindow ? this : null, slot, ClickType.LEFT_CLICK, clicked, cursor);
return !clickResult.isCancel();
}
@ -424,7 +424,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
final int clickSlot = isInWindow ? slot : PlayerInventoryUtils.convertSlot(slot, offset);
final ItemStack clicked = isInWindow ? getItemStack(slot) : playerInventory.getItemStack(clickSlot);
final InventoryClickResult clickResult = clickProcessor.rightClick(this, player, slot, clicked, cursor);
final InventoryClickResult clickResult = clickProcessor.rightClick(isInWindow ? this : null, player, slot, clicked, cursor);
if (clickResult.doRefresh()) {
updateFromClick(clickResult, player);
@ -438,7 +438,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
setCursorPlayerItem(player, clickResult.getCursor());
if (!clickResult.isCancel())
callClickEvent(player, this, slot, ClickType.RIGHT_CLICK, clicked, cursor);
callClickEvent(player, isInWindow ? this : null, slot, ClickType.RIGHT_CLICK, clicked, cursor);
return !clickResult.isCancel();
}
@ -470,7 +470,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
}
}));
} else {
clickResult = clickProcessor.shiftClick(this, player, slot, clicked, cursor,
clickResult = clickProcessor.shiftClick(null, player, slot, clicked, cursor,
// Window loop
new InventoryClickLoopHandler(0, getSize(), 1,
i -> i,
@ -508,7 +508,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
final ItemStack clicked = isInWindow ? getItemStack(slot) : playerInventory.getItemStack(clickSlot);
final ItemStack heldItem = playerInventory.getItemStack(key);
final InventoryClickResult clickResult = clickProcessor.changeHeld(this, player, slot, key, clicked, heldItem);
final InventoryClickResult clickResult = clickProcessor.changeHeld(isInWindow ? this : null, player, slot, key, clicked, heldItem);
if (clickResult.doRefresh()) {
updateFromClick(clickResult, player);
@ -522,7 +522,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
playerInventory.setItemStack(key, clickResult.getCursor());
if (!clickResult.isCancel())
callClickEvent(player, this, slot, ClickType.CHANGE_HELD, clicked, getCursorItem(player));
callClickEvent(player, isInWindow ? this : null, slot, ClickType.CHANGE_HELD, clicked, getCursorItem(player));
// Weird synchronization issue when omitted
updateFromClick(clickResult, player);
@ -546,7 +546,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
ItemStack.getAirItem() : (isInWindow ? getItemStack(slot) : playerInventory.getItemStack(clickSlot));
final ItemStack cursor = getCursorItem(player);
final InventoryClickResult clickResult = clickProcessor.drop(this, player,
final InventoryClickResult clickResult = clickProcessor.drop(isInWindow ? this : null, player,
mode, slot, button, clicked, cursor);
if (clickResult.doRefresh()) {
@ -577,7 +577,7 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
ItemStack.getAirItem();
final ItemStack cursor = getCursorItem(player);
final InventoryClickResult clickResult = clickProcessor.dragging(this, player,
final InventoryClickResult clickResult = clickProcessor.dragging(isInWindow ? this : null, player,
slot, button,
clicked, cursor,
@ -609,8 +609,9 @@ public class Inventory implements InventoryModifier, InventoryClickHandler, View
public boolean doubleClick(@NotNull Player player, int slot) {
final PlayerInventory playerInventory = player.getInventory();
final ItemStack cursor = getCursorItem(player);
final boolean isInWindow = isClickInWindow(slot);
final InventoryClickResult clickResult = clickProcessor.doubleClick(this, player, slot, cursor,
final InventoryClickResult clickResult = clickProcessor.doubleClick(isInWindow ? this : null, player, slot, cursor,
// Start by looping through the opened inventory
new InventoryClickLoopHandler(0, getSize(), 1,
i -> i,

View File

@ -1,12 +1,8 @@
package net.minestom.server.item;
import com.google.gson.JsonNull;
import com.google.gson.stream.JsonReader;
import net.kyori.adventure.text.Component;
import net.minestom.server.chat.JsonMessage;
import java.util.stream.Stream;
public class ItemDisplay {
private Component displayName;

View File

@ -1,6 +1,5 @@
package net.minestom.server.item.firework;
import net.kyori.adventure.text.format.TextColor;
import net.minestom.server.chat.ChatColor;
import net.minestom.server.color.Color;
import org.jetbrains.annotations.NotNull;

View File

@ -1,10 +1,8 @@
package net.minestom.server.item.metadata;
import net.kyori.adventure.text.format.TextColor;
import net.minestom.server.MinecraftServer;
import net.minestom.server.chat.ChatColor;
import net.minestom.server.color.Color;
import net.minestom.server.color.DyeColor;
import net.minestom.server.utils.clone.CloneUtils;
import net.minestom.server.utils.clone.PublicCloneable;
import org.jetbrains.annotations.NotNull;

View File

@ -1,6 +1,5 @@
package net.minestom.server.item.metadata;
import net.kyori.adventure.text.format.TextColor;
import net.minestom.server.chat.ChatColor;
import net.minestom.server.color.Color;
import net.minestom.server.potion.CustomPotionEffect;

View File

@ -1,7 +1,6 @@
package net.minestom.server.listener;
import net.minestom.server.entity.Player;
import net.minestom.server.event.item.ArmorEquipEvent;
import net.minestom.server.event.player.PlayerItemAnimationEvent;
import net.minestom.server.event.player.PlayerPreEatEvent;
import net.minestom.server.event.player.PlayerUseItemEvent;

View File

@ -2,12 +2,10 @@ package net.minestom.server.network;
import io.netty.channel.Channel;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.audience.ForwardingAudience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minestom.server.MinecraftServer;
import net.minestom.server.adventure.audience.Audiences;
import net.minestom.server.adventure.audience.PacketGroupingAudience;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.entity.Player;
import net.minestom.server.entity.fakeplayer.FakePlayer;

View File

@ -6,8 +6,6 @@ import net.minestom.server.utils.binary.Readable;
import net.minestom.server.utils.binary.Writeable;
import org.jetbrains.annotations.NotNull;
import java.nio.CharBuffer;
/**
* Represents a packet which can be sent to a player using {@link PlayerConnection#sendPacket(ServerPacket)}.
*/

View File

@ -2,8 +2,6 @@ package net.minestom.server.network.packet.server.play;
import net.kyori.adventure.text.Component;
import net.minestom.server.advancements.FrameType;
import net.minestom.server.chat.ColoredText;
import net.minestom.server.chat.JsonMessage;
import net.minestom.server.item.ItemStack;
import net.minestom.server.network.packet.server.ComponentHoldingServerPacket;
import net.minestom.server.network.packet.server.ServerPacket;

View File

@ -37,7 +37,7 @@ public class BlockEntityDataPacket implements ServerPacket {
@Override
public void read(@NotNull BinaryReader reader) {
blockPosition = reader.readBlockPosition();;
blockPosition = reader.readBlockPosition();
action = reader.readByte();
try {
NBT tag = reader.readTag();

View File

@ -24,7 +24,6 @@ import net.minestom.server.utils.chunk.ChunkUtils;
import net.minestom.server.world.biomes.Biome;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jglrxavpok.hephaistos.nbt.NBT;
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
import org.jglrxavpok.hephaistos.nbt.NBTException;

View File

@ -8,8 +8,6 @@ import net.minestom.server.utils.binary.Readable;
import net.minestom.server.utils.binary.Writeable;
import org.jetbrains.annotations.NotNull;
import java.util.function.Consumer;
public class DeclareCommandsPacket implements ServerPacket {
public Node[] nodes = new Node[0];

View File

@ -43,7 +43,7 @@ public class EntityMetaDataPacket implements ServerPacket {
break;
}
entries.add(new Metadata.Entry<Object>(reader));
entries.add(new Metadata.Entry<>(reader));
}
}

View File

@ -4,7 +4,6 @@ import net.kyori.adventure.sound.Sound;
import net.minestom.server.adventure.AdventurePacketConvertor;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
import net.minestom.server.sound.SoundCategory;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;

View File

@ -17,7 +17,8 @@ public class MultiBlockChangePacket implements ServerPacket {
public boolean suppressLightUpdates = true;
public BlockChange[] blockChanges = new BlockChange[0];
public MultiBlockChangePacket() {}
public MultiBlockChangePacket() {
}
@Override
public void write(@NotNull BinaryWriter writer) {
@ -27,7 +28,7 @@ public class MultiBlockChangePacket implements ServerPacket {
final int length = blockChanges.length;
writer.writeVarInt(length);
for (final BlockChange blockChange : blockChanges) {
writer.writeVarLong(blockChange.newBlockId << 12 | getLocalBlockPosAsShort(blockChange.positionX, blockChange.positionY, blockChange.positionZ));
writer.writeVarLong((long) blockChange.newBlockId << 12 | getLocalBlockPosAsShort(blockChange.positionX, blockChange.positionY, blockChange.positionZ));
}
} else {
writer.writeVarInt(0);

View File

@ -4,7 +4,6 @@ import net.kyori.adventure.sound.Sound.Source;
import net.minestom.server.adventure.AdventurePacketConvertor;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
import net.minestom.server.sound.SoundCategory;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;

View File

@ -3,7 +3,6 @@ package net.minestom.server.network.packet.server.play;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
import net.minestom.server.utils.BlockPosition;
import net.minestom.server.utils.Position;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;

View File

@ -6,8 +6,6 @@ import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;
import java.util.function.Consumer;
public class ParticlePacket implements ServerPacket {
public int particleId;

View File

@ -7,8 +7,6 @@ import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
public class PluginMessagePacket implements ServerPacket {
public String channel = "none";

View File

@ -2,7 +2,6 @@ package net.minestom.server.network.packet.server.play;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
import net.minestom.server.utils.BlockPosition;
import net.minestom.server.utils.Position;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;

View File

@ -10,7 +10,6 @@ import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import net.minestom.server.utils.validate.Check;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Collections;

View File

@ -11,7 +11,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

View File

@ -1,7 +1,6 @@
package net.minestom.server.resourcepack;
import net.minestom.server.entity.Player;
import net.minestom.server.utils.validate.Check;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

View File

@ -1,7 +1,5 @@
package net.minestom.server.scoreboard;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.audience.ForwardingAudience;
import net.kyori.adventure.text.Component;
import net.minestom.server.Viewable;
import net.minestom.server.adventure.audience.PacketGroupingAudience;

View File

@ -1,8 +1,6 @@
package net.minestom.server.scoreboard;
import com.google.common.collect.MapMaker;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.audience.ForwardingAudience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minestom.server.MinecraftServer;

View File

@ -1,6 +1,5 @@
package net.minestom.server.sound;
import net.kyori.adventure.sound.Sound;
import org.jetbrains.annotations.NotNull;
import static net.kyori.adventure.sound.Sound.*;

View File

@ -20,7 +20,7 @@ public class Position implements PublicCloneable<Position> {
this.x = x;
this.y = y;
this.z = z;
this.yaw = yaw;
this.yaw = fixYaw(yaw);
this.pitch = pitch;
}
@ -356,7 +356,24 @@ public class Position implements PublicCloneable<Position> {
* @param yaw the new yaw
*/
public void setYaw(float yaw) {
this.yaw = yaw;
this.yaw = fixYaw(yaw);
}
/**
* Fixes a yaw value that is not between -180.0F and 180.0F
* So for example -1355.0F becomes 85.0F and 225.0F becomes -135.0F
*
* @param yaw The possible "wrong" yaw
* @return a fixed yaw
*/
private float fixYaw(float yaw) {
yaw = yaw % 360;
if(yaw < -180.0F) {
yaw += 360.0F;
} else if(yaw > 180.0F) {
yaw -= 360.0F;
}
return yaw;
}
/**

View File

@ -1,6 +1,5 @@
package net.minestom.server.utils.location;
import net.minestom.server.entity.Entity;
import net.minestom.server.utils.BlockPosition;
import net.minestom.server.utils.Position;
import org.jetbrains.annotations.Nullable;

View File

@ -1,6 +1,5 @@
package net.minestom.server.utils.location;
import net.minestom.server.entity.Entity;
import net.minestom.server.utils.Position;
import net.minestom.server.utils.Vector;
import org.jetbrains.annotations.Nullable;

View File

@ -2,6 +2,8 @@ package net.minestom.server.utils.time;
import org.jetbrains.annotations.NotNull;
import java.util.Objects;
public class UpdateOption {
private final long value;
@ -20,4 +22,17 @@ public class UpdateOption {
public TimeUnit getTimeUnit() {
return timeUnit;
}
@Override
public int hashCode() {
return Objects.hash(value, timeUnit);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
UpdateOption updateOption = (UpdateOption) o;
return Objects.equals(value, updateOption.value) && Objects.equals(timeUnit, updateOption.timeUnit);
}
}

View File

@ -6,7 +6,6 @@ import net.minestom.server.command.builder.CommandContext;
import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.command.builder.arguments.minecraft.ArgumentEntity;
import net.minestom.server.entity.Entity;
import net.minestom.server.instance.Instance;
import net.minestom.server.utils.entity.EntityFinder;
import java.util.List;

View File

@ -5,7 +5,6 @@ import net.minestom.server.MinecraftServer;
import net.minestom.server.command.CommandSender;
import net.minestom.server.command.builder.Command;
import net.minestom.server.command.builder.CommandContext;
import net.minestom.server.command.builder.arguments.Argument;
import net.minestom.server.command.builder.arguments.ArgumentString;
import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.command.builder.exception.ArgumentSyntaxException;

View File

@ -4,7 +4,6 @@ import net.minestom.server.command.CommandSender;
import net.minestom.server.command.builder.Command;
import net.minestom.server.command.builder.CommandContext;
import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.command.builder.arguments.minecraft.ArgumentEntity;
import net.minestom.server.command.builder.arguments.minecraft.registry.ArgumentEntityType;
import net.minestom.server.command.builder.arguments.relative.ArgumentRelativeVec3;
import net.minestom.server.command.builder.condition.Conditions;

View File

@ -1,20 +1,9 @@
package improveextensions.unloadextensiononstop;
import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.type.monster.EntityZombie;
import net.minestom.server.event.EventCallback;
import net.minestom.server.event.GlobalEventHandler;
import net.minestom.server.event.entity.EntityTickEvent;
import net.minestom.server.event.instance.InstanceTickEvent;
import net.minestom.server.extensions.Extension;
import net.minestom.server.extras.selfmodification.MinestomRootClassLoader;
import net.minestom.server.instance.Instance;
import net.minestom.server.utils.Position;
import net.minestom.server.utils.time.TimeUnit;
import org.junit.jupiter.api.Assertions;
import org.opentest4j.AssertionFailedError;
import java.util.concurrent.atomic.AtomicBoolean;
public class UnloadExtensionOnStop extends Extension {

View File

@ -1,8 +1,6 @@
package testextension;
import net.minestom.server.Bootstrap;
import org.spongepowered.asm.launch.MixinBootstrap;
import org.spongepowered.asm.mixin.Mixins;
// To launch with VM arguments:
// -Dminestom.extension.indevfolder.classes=build/classes/java/test/ -Dminestom.extension.indevfolder.resources=build/resources/test/

View File

@ -1,13 +1,9 @@
package testextension.mixins;
import net.minestom.server.data.Data;
import net.minestom.server.instance.InstanceContainer;
import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.block.CustomBlock;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(InstanceContainer.class)