diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/SimpleMappingProvider.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/SimpleMappingProvider.java index e15a920b..a5f1934c 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/SimpleMappingProvider.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/SimpleMappingProvider.java @@ -2,7 +2,9 @@ import com.google.common.collect.*; import dev.simplix.protocolize.api.item.component.StructuredComponentType; +import dev.simplix.protocolize.api.mapping.ProtocolIdMapping; import dev.simplix.protocolize.api.mapping.ProtocolMapping; +import dev.simplix.protocolize.api.mapping.ProtocolStringMapping; import dev.simplix.protocolize.api.packet.RegisteredPacket; import dev.simplix.protocolize.api.providers.MappingProvider; import dev.simplix.protocolize.data.ItemType; @@ -60,6 +62,25 @@ public Multimap mappings(Class type, int return out; } + @Override + public > T mapIdToEnum(int id, int protocolVersion, Class clazz) { + Multimap mappings = mappings(clazz, protocolVersion); + for (T type : mappings.keySet()) { + for (ProtocolMapping mapping : mappings.get(type)) { + if (mapping instanceof ProtocolIdMapping) { + if (((ProtocolIdMapping) mapping).id() == id) { + return type; + } + } else if (mapping instanceof ProtocolStringMapping) { + if(((ProtocolStringMapping) mapping).protocolId() == id){ + return type; + } + } + } + } + return null; + } + @Override public String debugInformation() { StringBuilder builder = new StringBuilder("Generated export of " + getClass().getName() + ":\n\n"); diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/inventory/Inventory.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/inventory/Inventory.java index d8f0d559..306df96a 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/inventory/Inventory.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/inventory/Inventory.java @@ -1,11 +1,8 @@ package dev.simplix.protocolize.api.inventory; -import dev.simplix.protocolize.api.ComponentConverter; -import dev.simplix.protocolize.api.Protocolize; import dev.simplix.protocolize.api.chat.ChatElement; import dev.simplix.protocolize.api.item.BaseItemStack; import dev.simplix.protocolize.api.item.ItemStack; -import dev.simplix.protocolize.api.providers.ComponentConverterProvider; import dev.simplix.protocolize.data.inventory.InventoryType; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Attribute.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Attribute.java new file mode 100644 index 00000000..cf61ac97 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Attribute.java @@ -0,0 +1,43 @@ +package dev.simplix.protocolize.api.item; + +import dev.simplix.protocolize.data.AttributeType; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.UUID; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Attribute { + + private AttributeType type; + private UUID uuid; + private String name; + private double value; + private Operation operation; + private EquipmentSlot slot; + + /* These may change in the future */ + public enum Operation { + ADD_VALUE, + ADD_MULTIPLIED_BASE, + ADD_MULTIPLIED_TOTAL + } + + /* These may change in the future */ + public enum EquipmentSlot { + ANY, + MAIN_HAND, + OFF_HAND, + HAND, + FEET, + LEGS, + CHEST, + HEAD, + ARMOR, + BODY; + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BannerLayer.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BannerLayer.java new file mode 100644 index 00000000..0af76240 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BannerLayer.java @@ -0,0 +1,16 @@ +package dev.simplix.protocolize.api.item; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BannerLayer { + private boolean direct; + private int patternType; + private String identifier; + private String translationKey; + private DyeColor color; +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Bee.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Bee.java new file mode 100644 index 00000000..f8bdedf6 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Bee.java @@ -0,0 +1,15 @@ +package dev.simplix.protocolize.api.item; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import net.querz.nbt.tag.CompoundTag; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Bee { + private CompoundTag entityData; + private int ticksInHive; + private int minTicksInHive; +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockPredicate.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockPredicate.java new file mode 100644 index 00000000..0cc557d6 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockPredicate.java @@ -0,0 +1,29 @@ +package dev.simplix.protocolize.api.item; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import net.querz.nbt.tag.CompoundTag; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BlockPredicate { + + private BlockSet blockSet; + private List properties; + private CompoundTag nbtData; + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class Property { + private String name; + private String exactValue; + private String minValue; + private String maxValue; + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockSet.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockSet.java new file mode 100644 index 00000000..e1492981 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/BlockSet.java @@ -0,0 +1,16 @@ +package dev.simplix.protocolize.api.item; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BlockSet { + private Integer type; + private String identifier; + private List blockIds; +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Book.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Book.java new file mode 100644 index 00000000..a77aa3fb --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Book.java @@ -0,0 +1,28 @@ +package dev.simplix.protocolize.api.item; + +import dev.simplix.protocolize.api.chat.ChatElement; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Book { + private String title; + private String filteredTitle; + private String author; + private int generation; + private List pages; + private boolean resolved; + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class Page { + private ChatElement content; + private ChatElement filteredContent; + } +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/DyeColor.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/DyeColor.java new file mode 100644 index 00000000..66e08362 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/DyeColor.java @@ -0,0 +1,20 @@ +package dev.simplix.protocolize.api.item; + +public enum DyeColor { + WHITE, + ORANGE, + MAGENTA, + LIGHT_BLUE, + YELLOW, + LIME, + PINK, + GRAY, + LIGHT_GRAY, + CYAN, + PURPLE, + BLUE, + BROWN, + GREEN, + RED, + BLACK; +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Firework.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Firework.java new file mode 100644 index 00000000..ddc8e4bf --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Firework.java @@ -0,0 +1,36 @@ +package dev.simplix.protocolize.api.item; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Firework { + + private int flightDuration; + private List explosions; + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class Meta { + private Shape shape; + private List colors; + private List fadeColors; + private boolean trail; + private boolean twinkle; + + public enum Shape { + SMALL_BALL, + LARGE_BALL, + STAR, + CREEPER, + BURST + } + + } +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/MobEffectInstance.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/MobEffectInstance.java new file mode 100644 index 00000000..4d56745b --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/MobEffectInstance.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item; + +import dev.simplix.protocolize.data.MobEffect; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class MobEffectInstance { + private MobEffect mobEffect; + private Details details; + + @Data + @AllArgsConstructor + public static class Details { + private int amplifier; + private int duration; + private boolean ambient, showParticles, showIcon; + private Details hiddenEffect; + } +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/SoundEvent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/SoundEvent.java new file mode 100644 index 00000000..19497b06 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/SoundEvent.java @@ -0,0 +1,16 @@ +package dev.simplix.protocolize.api.item; + + +import dev.simplix.protocolize.data.Sound; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SoundEvent { + private Sound sound; + private String identifier; + private Float fixedRange; +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Trim.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Trim.java new file mode 100644 index 00000000..25ab539f --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/Trim.java @@ -0,0 +1,41 @@ +package dev.simplix.protocolize.api.item; + +import dev.simplix.protocolize.api.chat.ChatElement; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Map; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Trim { + + private Integer materialType; + private TrimMaterial trimMaterial; + private Integer patternType; + private TrimPattern trimPattern; + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class TrimMaterial { + private String assetName; + private int ingredient; + private float itemModelIndex; + private Map overrides; + private ChatElement description; + } + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class TrimPattern { + private String assetName; + private int templateItem; + private ChatElement description; + private boolean decal; + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/AttributeModifiersComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/AttributeModifiersComponent.java new file mode 100644 index 00000000..07e8acd5 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/AttributeModifiersComponent.java @@ -0,0 +1,39 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Attribute; + +import java.util.List; + +public interface AttributeModifiersComponent extends StructuredComponent { + + List getAttributes(); + + void setAttributes(List attributes); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + void addAttribute(Attribute attribute); + + void removeAttribute(Attribute attribute); + + void removeAllAttributes(); + + static AttributeModifiersComponent create(List attributes) { + return Protocolize.getService(Factory.class).create(attributes); + } + + static AttributeModifiersComponent create(List attributes, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(attributes, showInTooltip); + } + + interface Factory { + + AttributeModifiersComponent create(List attributes); + AttributeModifiersComponent create(List attributes, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BannerPatternsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BannerPatternsComponent.java new file mode 100644 index 00000000..5c967b85 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BannerPatternsComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BannerLayer; + +import java.util.List; + +public interface BannerPatternsComponent extends StructuredComponent { + + List getLayers(); + + void setLayers(List layers); + + void addLayer(BannerLayer layer); + + void removeLayer(BannerLayer layer); + + void removeAllLayers(); + + static BannerPatternsComponent create(List layers) { + return Protocolize.getService(BannerPatternsComponent.Factory.class).create(layers); + } + + interface Factory { + + BannerPatternsComponent create(List layers); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BaseColorComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BaseColorComponent.java new file mode 100644 index 00000000..673cdd30 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BaseColorComponent.java @@ -0,0 +1,24 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.DyeColor; + +public interface BaseColorComponent extends StructuredComponent { + + DyeColor getColor(); + + void setColor(DyeColor color); + + static BaseColorComponent create(DyeColor color) { + return Protocolize.getService(Factory.class).create(color); + } + + + interface Factory { + + BaseColorComponent create(DyeColor color); + + } + + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BeesComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BeesComponent.java new file mode 100644 index 00000000..583d4413 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BeesComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Bee; + +import java.util.List; + +public interface BeesComponent extends StructuredComponent { + + List getBees(); + + void setBees(List bees); + + void addBee(Bee bee); + + void removeBee(Bee bee); + + void removeAllBees(); + + static BeesComponent create(List bees) { + return Protocolize.getService(Factory.class).create(bees); + } + + interface Factory { + + BeesComponent create(List bees); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockEntityDataComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockEntityDataComponent.java new file mode 100644 index 00000000..2c480811 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockEntityDataComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface BlockEntityDataComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static BlockEntityDataComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + BlockEntityDataComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockStateComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockStateComponent.java new file mode 100644 index 00000000..fa990162 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BlockStateComponent.java @@ -0,0 +1,29 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +import java.util.Map; + +public interface BlockStateComponent extends StructuredComponent { + + Map getProperties(); + + void setProperties(Map properties); + + void addProperty(String key, String value); + + void removeProperty(String key); + + void removeAllProperties(); + + static BlockStateComponent create(Map properties) { + return Protocolize.getService(Factory.class).create(properties); + } + + interface Factory { + + BlockStateComponent create(Map properties); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BucketEntityDataComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BucketEntityDataComponent.java new file mode 100644 index 00000000..7599c91d --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BucketEntityDataComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface BucketEntityDataComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static BucketEntityDataComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + BucketEntityDataComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BundleContentsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BundleContentsComponent.java new file mode 100644 index 00000000..02612ab0 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/BundleContentsComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BaseItemStack; + +import java.util.List; + +public interface BundleContentsComponent extends StructuredComponent { + + List getItems(); + + void setItems(List items); + + void addItem(BaseItemStack itemStack); + + void removeItem(BaseItemStack itemStack); + + void removeAllItems(); + + static BundleContentsComponent create(List items) { + return Protocolize.getService(Factory.class).create(items); + } + + interface Factory { + + BundleContentsComponent create(List items); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanBreakComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanBreakComponent.java new file mode 100644 index 00000000..47c59883 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanBreakComponent.java @@ -0,0 +1,28 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BlockPredicate; + +import java.util.List; + +public interface CanBreakComponent extends StructuredComponent { + + List getBlockPredicates(); + + void setBlockPredicates(List blockPredicates); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static CanBreakComponent create(List blockPredicates, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(blockPredicates, showInTooltip); + } + + interface Factory { + + CanBreakComponent create(List blockPredicates, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanPlaceOnComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanPlaceOnComponent.java new file mode 100644 index 00000000..8ef1b16b --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CanPlaceOnComponent.java @@ -0,0 +1,28 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BlockPredicate; + +import java.util.List; + +public interface CanPlaceOnComponent extends StructuredComponent { + + List getBlockPredicates(); + + void setBlockPredicates(List blockPredicates); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static CanPlaceOnComponent create(List blockPredicates, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(blockPredicates, showInTooltip); + } + + interface Factory { + + CanPlaceOnComponent create(List blockPredicates, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ChargedProjectilesComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ChargedProjectilesComponent.java new file mode 100644 index 00000000..7a1d68b5 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ChargedProjectilesComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BaseItemStack; + +import java.util.List; + +public interface ChargedProjectilesComponent extends StructuredComponent { + + List getItems(); + + void setItems(List items); + + void addItem(BaseItemStack itemStack); + + void removeItem(BaseItemStack itemStack); + + void removeAllItems(); + + static ChargedProjectilesComponent create(List items) { + return Protocolize.getService(Factory.class).create(items); + } + + interface Factory { + + ChargedProjectilesComponent create(List items); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerComponent.java new file mode 100644 index 00000000..9501cd42 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BaseItemStack; + +import java.util.List; + +public interface ContainerComponent extends StructuredComponent { + + List getItems(); + + void setItems(List items); + + void addItem(BaseItemStack itemStack); + + void removeItem(BaseItemStack itemStack); + + void removeAllItems(); + + static ContainerComponent create(List items) { + return Protocolize.getService(Factory.class).create(items); + } + + interface Factory { + + ContainerComponent create(List items); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerLootComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerLootComponent.java new file mode 100644 index 00000000..f9afdec5 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ContainerLootComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface ContainerLootComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static ContainerLootComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + ContainerLootComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CreativeSlotLockComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CreativeSlotLockComponent.java new file mode 100644 index 00000000..399edf49 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/CreativeSlotLockComponent.java @@ -0,0 +1,17 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface CreativeSlotLockComponent extends StructuredComponent { + + static CreativeSlotLockComponent create() { + return Protocolize.getService(Factory.class).create(); + } + + interface Factory { + + CreativeSlotLockComponent create(); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DebugStickStateComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DebugStickStateComponent.java new file mode 100644 index 00000000..6be4d5fc --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DebugStickStateComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface DebugStickStateComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static DebugStickStateComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + DebugStickStateComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DyedColorComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DyedColorComponent.java new file mode 100644 index 00000000..94b6217f --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/DyedColorComponent.java @@ -0,0 +1,32 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface DyedColorComponent extends StructuredComponent { + + int getColor(); + + void setColor(int color); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static DyedColorComponent create(int color) { + return Protocolize.getService(Factory.class).create(color); + } + + static DyedColorComponent create(int color, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(color, showInTooltip); + } + + interface Factory { + + DyedColorComponent create(int color); + + DyedColorComponent create(int color, boolean showInTooltip); + + } + + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentGlintComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentGlintComponent.java new file mode 100644 index 00000000..9414278b --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentGlintComponent.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface EnchantmentGlintComponent extends StructuredComponent { + + boolean isShowGlint(); + + void setShowGlint(boolean showGlint); + + static EnchantmentGlintComponent create(boolean showGlint) { + return Protocolize.getService(Factory.class).create(showGlint); + } + + interface Factory { + + EnchantmentGlintComponent create(boolean showGlint); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentsComponent.java index e2b6fee3..f8c81b89 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentsComponent.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EnchantmentsComponent.java @@ -1,35 +1,36 @@ package dev.simplix.protocolize.api.item.component; import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.data.Enchantment; import java.util.Map; public interface EnchantmentsComponent extends StructuredComponent { - Map getEnchantments(); + Map getEnchantments(); - void setEnchantments(Map enchantments); + void setEnchantments(Map enchantments); - void removeEnchantment(int id); + void removeEnchantment(Enchantment enchantment); - void addEnchantment(int id, int level); + void addEnchantment(Enchantment enchantment, int level); void setShowInTooltip(boolean show); void removeAllEnchantments(); - static EnchantmentsComponent create(Map enchantments) { + static EnchantmentsComponent create(Map enchantments) { return Protocolize.getService(Factory.class).create(enchantments); } - static EnchantmentsComponent create(Map enchantments, boolean showInTooltip) { + static EnchantmentsComponent create(Map enchantments, boolean showInTooltip) { return Protocolize.getService(Factory.class).create(enchantments, showInTooltip); } interface Factory { - EnchantmentsComponent create(Map enchantments); + EnchantmentsComponent create(Map enchantments); - EnchantmentsComponent create(Map enchantments, boolean showInTooltip); + EnchantmentsComponent create(Map enchantments, boolean showInTooltip); } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EntityDataComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EntityDataComponent.java new file mode 100644 index 00000000..49c044a0 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/EntityDataComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface EntityDataComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static EntityDataComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + EntityDataComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireResistantComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireResistantComponent.java new file mode 100644 index 00000000..841571d3 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireResistantComponent.java @@ -0,0 +1,17 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface FireResistantComponent extends StructuredComponent { + + static FireResistantComponent create() { + return Protocolize.getService(Factory.class).create(); + } + + interface Factory { + + FireResistantComponent create(); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworkExplosionComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworkExplosionComponent.java new file mode 100644 index 00000000..1597a55a --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworkExplosionComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Firework; + +public interface FireworkExplosionComponent extends StructuredComponent { + + Firework.Meta getExplosion(); + + void setExplosion(Firework.Meta explosion); + + static FireworkExplosionComponent create(Firework.Meta explosion) { + return Protocolize.getService(Factory.class).create(explosion); + } + + interface Factory { + + FireworkExplosionComponent create(Firework.Meta explosion); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworksComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworksComponent.java new file mode 100644 index 00000000..fb385cda --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FireworksComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Firework; + +public interface FireworksComponent extends StructuredComponent { + + Firework getFirework(); + + void setFirework(Firework firework); + + static FireworksComponent create(Firework firework) { + return Protocolize.getService(Factory.class).create(firework); + } + + interface Factory { + + FireworksComponent create(Firework firework); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FoodComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FoodComponent.java new file mode 100644 index 00000000..4463cdc5 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/FoodComponent.java @@ -0,0 +1,51 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BaseItemStack; +import dev.simplix.protocolize.api.item.MobEffectInstance; + +import java.util.Map; + +public interface FoodComponent extends StructuredComponent { + + int getNutrition(); + + void setNutrition(int nutrition); + + float getSaturation(); + + void setSaturation(float saturation); + + boolean isCanAlwaysEat(); + + void setCanAlwaysEat(boolean canAlwaysEat); + + float getSecondsToEat(); + + void setSecondsToEat(float secondsToEat); + + BaseItemStack getUsingConvertsTo(); + + void setUsingConvertsTo(BaseItemStack usingConvertsTo); + + Map getEffects(); + + void setEffects(Map effects); + + void addEffect(MobEffectInstance effect, float probability); + + void removeEffect(MobEffectInstance effect); + + void removeAllEffects(); + + static FoodComponent create(int nutrition, float saturation, boolean canAlwaysEat, float secondsToEat, BaseItemStack usingConvertsTo, Map effects) { + return Protocolize.getService(FoodComponent.Factory.class).create(nutrition, saturation, canAlwaysEat, secondsToEat, usingConvertsTo, effects); + } + + interface Factory { + + FoodComponent create(int nutrition, float saturation, boolean canAlwaysEat, float secondsToEat, BaseItemStack usingConvertsTo, Map effects); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/HideAdvancedTooltipComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/HideAdvancedTooltipComponent.java new file mode 100644 index 00000000..8250178a --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/HideAdvancedTooltipComponent.java @@ -0,0 +1,17 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface HideAdvancedTooltipComponent extends StructuredComponent { + + static HideAdvancedTooltipComponent create() { + return Protocolize.getService(Factory.class).create(); + } + + interface Factory { + + HideAdvancedTooltipComponent create(); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/InstrumentComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/InstrumentComponent.java new file mode 100644 index 00000000..376a4797 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/InstrumentComponent.java @@ -0,0 +1,40 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.SoundEvent; +import dev.simplix.protocolize.data.Instrument; + +public interface InstrumentComponent extends StructuredComponent { + + Instrument getInstrument(); + + void setInstrument(Instrument instrument); + + SoundEvent getSoundEvent(); + + void setSoundEvent(SoundEvent sound); + + float getDuration(); + + void setDuration(float duration); + + float getRange(); + + void setRange(float range); + + static InstrumentComponent create(Instrument instrument) { + return Protocolize.getService(Factory.class).create(instrument); + } + + static InstrumentComponent create(SoundEvent soundEvent, float duration, float range) { + return Protocolize.getService(Factory.class).create(soundEvent, duration, range); + } + + interface Factory { + + InstrumentComponent create(Instrument instrument); + InstrumentComponent create(SoundEvent soundEvent, float duration, float range); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/IntangibleProjectileComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/IntangibleProjectileComponent.java new file mode 100644 index 00000000..00adefb6 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/IntangibleProjectileComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface IntangibleProjectileComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static IntangibleProjectileComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + IntangibleProjectileComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/JukeboxPlayableComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/JukeboxPlayableComponent.java new file mode 100644 index 00000000..7a6176fb --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/JukeboxPlayableComponent.java @@ -0,0 +1,47 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.chat.ChatElement; +import dev.simplix.protocolize.api.item.SoundEvent; + +public interface JukeboxPlayableComponent extends StructuredComponent { + + String getIdentifier(); + + void setIdentifier(String identifier); + + Integer getSong(); + + void setSong(Integer song); + + SoundEvent getSoundEvent(); + + void setSoundEvent(SoundEvent soundEvent); + + ChatElement getDescription(); + + void setDescription(ChatElement description); + + float getDuration(); + + void setDuration(float duration); + + int getOutputStrength(); + + void setOutputStrength(int outputStrength); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static JukeboxPlayableComponent create(String identifier, Integer song, SoundEvent soundEvent, ChatElement description, float duration, int outputStrength, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(identifier, song, soundEvent, description, duration, outputStrength, showInTooltip); + } + + interface Factory { + + JukeboxPlayableComponent create(String identifier, Integer song, SoundEvent soundEvent, ChatElement description, float duration, int outputStrength, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LockComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LockComponent.java new file mode 100644 index 00000000..d6d0cadb --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LockComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.StringTag; + +public interface LockComponent extends StructuredComponent { + + StringTag getKey(); + + void setKey(StringTag key); + + static LockComponent create(StringTag key) { + return Protocolize.getService(Factory.class).create(key); + } + + interface Factory { + + LockComponent create(StringTag key); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LodestoneTrackerComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LodestoneTrackerComponent.java new file mode 100644 index 00000000..d5c144a7 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LodestoneTrackerComponent.java @@ -0,0 +1,35 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.BlockPosition; +import dev.simplix.protocolize.api.Protocolize; + +public interface LodestoneTrackerComponent extends StructuredComponent { + + String getDimension(); + + void setDimension(String dimension); + + BlockPosition getPosition(); + + void setPosition(BlockPosition position); + + boolean isTracked(); + + void setTracked(boolean tracked); + + static LodestoneTrackerComponent create(boolean tracked) { + return Protocolize.getService(Factory.class).create(tracked); + } + static LodestoneTrackerComponent create(String dimension, BlockPosition position, boolean tracked) { + return Protocolize.getService(Factory.class).create(dimension, position, tracked); + } + + interface Factory { + + LodestoneTrackerComponent create(boolean tracked); + + LodestoneTrackerComponent create(String dimension, BlockPosition position, boolean tracked); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LeatherColorComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapColorComponent.java similarity index 60% rename from protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LeatherColorComponent.java rename to protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapColorComponent.java index 9c810b1e..b6998b46 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/LeatherColorComponent.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapColorComponent.java @@ -2,21 +2,20 @@ import dev.simplix.protocolize.api.Protocolize; -public interface LeatherColorComponent extends StructuredComponent { +public interface MapColorComponent extends StructuredComponent { int getColor(); void setColor(int color); - static LeatherColorComponent create(int color) { + static MapColorComponent create(int color) { return Protocolize.getService(Factory.class).create(color); } interface Factory { - LeatherColorComponent create(int color); + MapColorComponent create(int color); } - } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapDecorationsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapDecorationsComponent.java new file mode 100644 index 00000000..0b3265ef --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapDecorationsComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface MapDecorationsComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static MapDecorationsComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + MapDecorationsComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapPostProcessingComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapPostProcessingComponent.java new file mode 100644 index 00000000..ae534539 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/MapPostProcessingComponent.java @@ -0,0 +1,28 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface MapPostProcessingComponent extends StructuredComponent { + + PostProcessingType getPostProcessingType(); + + void setPostProcessingType(PostProcessingType postProcessingType); + + static MapPostProcessingComponent create(PostProcessingType postProcessingType) { + return Protocolize.getService(Factory.class).create(postProcessingType); + } + + enum PostProcessingType { + LOCK, + SCALE + } + + + interface Factory { + + MapPostProcessingComponent create(PostProcessingType postProcessingType); + + } + + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/NoteBlockSoundComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/NoteBlockSoundComponent.java new file mode 100644 index 00000000..369987f3 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/NoteBlockSoundComponent.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface NoteBlockSoundComponent extends StructuredComponent { + + String getSound(); + + void setSound(String sound); + + static NoteBlockSoundComponent create(String sound) { + return Protocolize.getService(Factory.class).create(sound); + } + + interface Factory { + + NoteBlockSoundComponent create(String sound); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/OminousBottleAmplifierComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/OminousBottleAmplifierComponent.java new file mode 100644 index 00000000..26eda609 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/OminousBottleAmplifierComponent.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface OminousBottleAmplifierComponent extends StructuredComponent { + + int getAmplifier(); + + void setAmplifier(int amplifier); + + static OminousBottleAmplifierComponent create(int amplifier) { + return Protocolize.getService(Factory.class).create(amplifier); + } + + interface Factory { + + OminousBottleAmplifierComponent create(int amplifier); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotDecorationsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotDecorationsComponent.java new file mode 100644 index 00000000..2119f4f3 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotDecorationsComponent.java @@ -0,0 +1,24 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +import java.util.List; + +public interface PotDecorationsComponent extends StructuredComponent { + + List getDecorations(); + + void setDecorations(List decorations); + + static PotDecorationsComponent create(List decorations) { + return Protocolize.getService(Factory.class).create(decorations); + } + + interface Factory { + + PotDecorationsComponent create(List decorations); + + } + + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotionContentsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotionContentsComponent.java new file mode 100644 index 00000000..7f4e4b5f --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/PotionContentsComponent.java @@ -0,0 +1,57 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.MobEffectInstance; +import dev.simplix.protocolize.data.Potion; + +import java.util.List; + +public interface PotionContentsComponent extends StructuredComponent { + + Potion getPotion(); + + void setPotion(Potion potionId); + + Integer getCustomColor(); + + void setCustomColor(Integer customColor); + + List getCustomEffects(); + + void setCustomEffects(List effects); + + void addCustomEffect(MobEffectInstance effect); + + void removeCustomEffect(MobEffectInstance effect); + + void removeAllCustomEffects(); + + static PotionContentsComponent create(Potion potion) { + return Protocolize.getService(PotionContentsComponent.Factory.class).create(potion); + } + + static PotionContentsComponent create(Potion potion, int customColor) { + return Protocolize.getService(PotionContentsComponent.Factory.class).create(potion, customColor); + } + + static PotionContentsComponent create(Potion potion, int customColor, List customEffects) { + return Protocolize.getService(PotionContentsComponent.Factory.class).create(potion, customColor, customEffects); + } + + static PotionContentsComponent create(Potion potion, List customEffects) { + return Protocolize.getService(PotionContentsComponent.Factory.class).create(potion, customEffects); + } + + interface Factory { + + PotionContentsComponent create(Potion potion); + + PotionContentsComponent create(Potion potion, int customColor); + + PotionContentsComponent create(Potion potion, int customColor, List customEffects); + + PotionContentsComponent create(Potion potion, List customEffects); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/GameProfileComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ProfileComponent.java similarity index 70% rename from protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/GameProfileComponent.java rename to protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ProfileComponent.java index e2871cdb..fcd7944c 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/GameProfileComponent.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ProfileComponent.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.UUID; -public interface GameProfileComponent extends StructuredComponent { +public interface ProfileComponent extends StructuredComponent { @Nullable String getName(); @@ -23,13 +23,13 @@ public interface GameProfileComponent extends StructuredComponent { void setProperties(List properties); - static GameProfileComponent create(String name, UUID uniqueId, List properties) { + static ProfileComponent create(String name, UUID uniqueId, List properties) { return Protocolize.getService(Factory.class).create(name, uniqueId, properties); } interface Factory { - GameProfileComponent create(String name, UUID uniqueId, List properties); + ProfileComponent create(String name, UUID uniqueId, List properties); } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RarityComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RarityComponent.java new file mode 100644 index 00000000..d2bdab13 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RarityComponent.java @@ -0,0 +1,29 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface RarityComponent extends StructuredComponent { + + Rarity getRarity(); + + void setRarity(Rarity rarity); + + static RarityComponent create(Rarity rarity) { + return Protocolize.getService(Factory.class).create(rarity); + } + + enum Rarity { + COMMON, + UNCOMMON, + RARE, + EPIC + } + + interface Factory { + + RarityComponent create(Rarity rarity); + + } + + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RecipesComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RecipesComponent.java new file mode 100644 index 00000000..2920e343 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RecipesComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import net.querz.nbt.tag.CompoundTag; + +public interface RecipesComponent extends StructuredComponent { + + CompoundTag getData(); + + void setData(CompoundTag data); + + static RecipesComponent create(CompoundTag data) { + return Protocolize.getService(Factory.class).create(data); + } + + interface Factory { + + RecipesComponent create(CompoundTag data); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RepairCostComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RepairCostComponent.java new file mode 100644 index 00000000..d922ec87 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/RepairCostComponent.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface RepairCostComponent extends StructuredComponent { + + int getCost(); + + void setCost(int cost); + + static RepairCostComponent create(int cost) { + return Protocolize.getService(Factory.class).create(cost); + } + + interface Factory { + + RepairCostComponent create(int cost); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/StoredEnchantmentsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/StoredEnchantmentsComponent.java new file mode 100644 index 00000000..0395265c --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/StoredEnchantmentsComponent.java @@ -0,0 +1,38 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.data.Enchantment; + +import java.util.Map; + +public interface StoredEnchantmentsComponent extends StructuredComponent { + + Map getEnchantments(); + + void setEnchantments(Map enchantments); + + void removeEnchantment(Enchantment enchantment); + + void addEnchantment(Enchantment enchantment, int level); + + void setShowInTooltip(boolean show); + + void removeAllEnchantments(); + + static StoredEnchantmentsComponent create(Map enchantments) { + return Protocolize.getService(Factory.class).create(enchantments); + } + + static StoredEnchantmentsComponent create(Map enchantments, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(enchantments, showInTooltip); + } + + interface Factory { + + StoredEnchantmentsComponent create(Map enchantments); + + StoredEnchantmentsComponent create(Map enchantments, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/SuspiciousStewEffectsComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/SuspiciousStewEffectsComponent.java new file mode 100644 index 00000000..dfae6d56 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/SuspiciousStewEffectsComponent.java @@ -0,0 +1,30 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.data.MobEffect; + +import java.util.Map; + +public interface SuspiciousStewEffectsComponent extends StructuredComponent { + + Map getEffects(); + + void setEffects(Map effects); + + void addEffect(MobEffect effect, int duration); + + void removeEffect(MobEffect effect); + + void removeAllEffects(); + + static SuspiciousStewEffectsComponent create(Map effects) { + return Protocolize.getService(SuspiciousStewEffectsComponent.Factory.class).create(effects); + } + + interface Factory { + + SuspiciousStewEffectsComponent create(Map effects); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ToolComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ToolComponent.java new file mode 100644 index 00000000..70aeb825 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/ToolComponent.java @@ -0,0 +1,50 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.BlockSet; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +public interface ToolComponent extends StructuredComponent { + + List getRules(); + + void setRules(List rules); + + void addRule(Rule rule); + + void removeRule(Rule rule); + + void removeAllRules(); + + float getMiningSpeed(); + + void setMiningSpeed(float miningSpeed); + + int getDamagePerBlock(); + + void setDamagePerBlock(int damagePerBlock); + + static ToolComponent create(List rules, float miningSpeed, int damagePerBlock) { + return Protocolize.getService(Factory.class).create(rules, miningSpeed, damagePerBlock); + } + + @Data + @AllArgsConstructor + @NoArgsConstructor + class Rule { + BlockSet blockSet; + Float speed; + Boolean correctToolForDrops; + } + + interface Factory { + + ToolComponent create(List rules, float miningSpeed, int damagePerBlock); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/TrimComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/TrimComponent.java new file mode 100644 index 00000000..eb112ace --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/TrimComponent.java @@ -0,0 +1,26 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Trim; + +public interface TrimComponent extends StructuredComponent { + + Trim getTrim(); + + void setTrim(Trim trim); + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static TrimComponent create(Trim trim, boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(trim, showInTooltip); + } + + interface Factory { + + TrimComponent create(Trim trim, boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/UnbreakableComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/UnbreakableComponent.java new file mode 100644 index 00000000..d707ceed --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/UnbreakableComponent.java @@ -0,0 +1,21 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; + +public interface UnbreakableComponent extends StructuredComponent { + + boolean isShowInTooltip(); + + void setShowInTooltip(boolean showInTooltip); + + static UnbreakableComponent create(boolean showInTooltip) { + return Protocolize.getService(Factory.class).create(showInTooltip); + } + + interface Factory { + + UnbreakableComponent create(boolean showInTooltip); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WritableBookContentComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WritableBookContentComponent.java new file mode 100644 index 00000000..cf16b52c --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WritableBookContentComponent.java @@ -0,0 +1,40 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +public interface WritableBookContentComponent extends StructuredComponent { + + List getPages(); + + void setPages(List pages); + + void addPage(WriteablePage page); + + void removePage(WriteablePage page); + + void removeAllPages(); + + static WritableBookContentComponent create(List pages) { + return Protocolize.getService(Factory.class).create(pages); + } + + @Data + @AllArgsConstructor + @NoArgsConstructor + class WriteablePage { + String content; + String filteredContent; + } + + interface Factory { + + WritableBookContentComponent create(List pages); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WrittenBookContentComponent.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WrittenBookContentComponent.java new file mode 100644 index 00000000..f04e2623 --- /dev/null +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/item/component/WrittenBookContentComponent.java @@ -0,0 +1,22 @@ +package dev.simplix.protocolize.api.item.component; + +import dev.simplix.protocolize.api.Protocolize; +import dev.simplix.protocolize.api.item.Book; + +public interface WrittenBookContentComponent extends StructuredComponent { + + Book getBook(); + + void setBook(Book book); + + static WrittenBookContentComponent create(Book book) { + return Protocolize.getService(Factory.class).create(book); + } + + interface Factory { + + WrittenBookContentComponent create(Book book); + + } + +} diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/AbstractProtocolMapping.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/AbstractProtocolMapping.java index 79ef2d77..98047672 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/AbstractProtocolMapping.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/AbstractProtocolMapping.java @@ -26,8 +26,8 @@ public static ProtocolIdMapping rangedIdMapping(int start, int end, int id) { return new RangeProtocolIdMapping(start, end, id); } - public static ProtocolStringMapping rangedStringMapping(int start, int end, String id) { - return new RangeProtocolStringMapping(start, end, id); + public static ProtocolStringMapping rangedStringMapping(int start, int end, String id, int protocolId) { + return new RangeProtocolStringMapping(start, end, id, protocolId); } } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/ProtocolStringMapping.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/ProtocolStringMapping.java index e3a6a4a2..6f9758cb 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/ProtocolStringMapping.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/ProtocolStringMapping.java @@ -8,5 +8,6 @@ public interface ProtocolStringMapping extends ProtocolMapping { String id(); + int protocolId(); } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/RangeProtocolStringMapping.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/RangeProtocolStringMapping.java index 9bd96ac1..83758198 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/RangeProtocolStringMapping.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/mapping/RangeProtocolStringMapping.java @@ -14,14 +14,16 @@ public class RangeProtocolStringMapping extends AbstractProtocolMapping implements ProtocolStringMapping { private final String id; + private final int protocolId; - RangeProtocolStringMapping(int protocolVersionStart, int protocolVersionEnd, String id) { + RangeProtocolStringMapping(int protocolVersionStart, int protocolVersionEnd, String id, int protocolId) { super(protocolVersionStart, protocolVersionEnd); this.id = id; + this.protocolId = protocolId; } @Override public String toString() { - return "(" + protocolRangeStart() + "-" + protocolRangeEnd() + ": " + id + ")"; + return "(" + protocolRangeStart() + "-" + protocolRangeEnd() + ": " + id + ":" + protocolId + ")"; } } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/MappingProvider.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/MappingProvider.java index ddae527b..8497f77b 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/MappingProvider.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/MappingProvider.java @@ -52,6 +52,8 @@ public interface MappingProvider { */ Multimap mappings(Class type, int protocolVersion); + > T mapIdToEnum(int id, int protocolVersion, Class clazz); + /** * @return this returns information about this provider */ diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ModuleProvider.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ModuleProvider.java index 797cecd2..af57e3b9 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ModuleProvider.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ModuleProvider.java @@ -1,6 +1,5 @@ package dev.simplix.protocolize.api.providers; -import dev.simplix.protocolize.api.Protocolize; import dev.simplix.protocolize.api.module.ProtocolizeModule; import java.util.Collection; diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ProtocolRegistrationProvider.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ProtocolRegistrationProvider.java index 47d309b7..9674343b 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ProtocolRegistrationProvider.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/providers/ProtocolRegistrationProvider.java @@ -2,7 +2,6 @@ import dev.simplix.protocolize.api.PacketDirection; import dev.simplix.protocolize.api.Protocol; -import dev.simplix.protocolize.api.item.component.StructuredComponent; import dev.simplix.protocolize.api.item.component.StructuredComponentType; import dev.simplix.protocolize.api.mapping.ProtocolIdMapping; import dev.simplix.protocolize.api.packet.AbstractPacket; diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/DebugUtil.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/DebugUtil.java index 50a20808..20600821 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/DebugUtil.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/DebugUtil.java @@ -1,7 +1,6 @@ package dev.simplix.protocolize.api.util; import dev.simplix.protocolize.api.Protocolize; -import dev.simplix.protocolize.api.mapping.ProtocolMapping; import dev.simplix.protocolize.api.module.ProtocolizeModule; import dev.simplix.protocolize.api.providers.ModuleProvider; import io.netty.buffer.ByteBuf; @@ -54,7 +53,7 @@ public static void writeDump(ByteBuf buf, Throwable throwable) { outputStream.flush(); } catch (IOException e) { - log.error("Unable to write dump file " + file.getName(), e); + log.error("Unable to write dump file {}", file.getName(), e); } } diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ProtocolUtil.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ProtocolUtil.java index 856f34a5..b38568bd 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ProtocolUtil.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ProtocolUtil.java @@ -3,12 +3,9 @@ import com.google.common.base.Charsets; import com.google.common.base.Preconditions; import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufUtil; import io.netty.handler.codec.CorruptedFrameException; import io.netty.handler.codec.DecoderException; -import java.net.ProtocolException; -import java.nio.charset.StandardCharsets; import java.util.UUID; /** diff --git a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ReflectionUtil.java b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ReflectionUtil.java index 44f5382c..d52e40df 100644 --- a/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ReflectionUtil.java +++ b/protocolize-api/src/main/java/dev/simplix/protocolize/api/util/ReflectionUtil.java @@ -184,17 +184,17 @@ public static void valueSubclass( } public static void listFields(@NonNull Object object) { - log.info(object.getClass().getName() + " contains " + object + log.info("{} contains {} declared fields.", object.getClass().getName(), object .getClass() - .getDeclaredFields().length + " declared fields."); - log.info(object.getClass().getName() + " contains " + object + .getDeclaredFields().length); + log.info("{} contains {} declared classes.", object.getClass().getName(), object .getClass() - .getDeclaredClasses().length + " declared classes."); + .getDeclaredClasses().length); Field[] declaredFields = object.getClass().getDeclaredFields(); for (Field field : declaredFields) { field.setAccessible(true); try { - log.info(field.getName() + " -> " + field.get(object)); + log.info("{} -> {}", field.getName(), field.get(object)); } catch (IllegalArgumentException | IllegalAccessException exception) { log.error(EXCEPTION_OCCURRED, exception); } diff --git a/protocolize-api/src/test/java/dev/simplix/protocolize/api/tests/MappingTest.java b/protocolize-api/src/test/java/dev/simplix/protocolize/api/tests/MappingTest.java index 9677903e..0bdf9831 100644 --- a/protocolize-api/src/test/java/dev/simplix/protocolize/api/tests/MappingTest.java +++ b/protocolize-api/src/test/java/dev/simplix/protocolize/api/tests/MappingTest.java @@ -6,9 +6,7 @@ import dev.simplix.protocolize.api.mapping.ProtocolMapping; import dev.simplix.protocolize.api.packet.AbstractPacket; import dev.simplix.protocolize.api.packet.RegisteredPacket; -import dev.simplix.protocolize.api.providers.MappingProvider; import io.netty.buffer.ByteBuf; -import junit.framework.TestFailure; import org.junit.Test; import java.util.List; diff --git a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/ProtocolizePlugin.java b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/ProtocolizePlugin.java index 7825e410..40d6f89a 100644 --- a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/ProtocolizePlugin.java +++ b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/ProtocolizePlugin.java @@ -15,7 +15,6 @@ import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Plugin; -import net.md_5.bungee.protocol.BadPacketException; import java.util.ArrayList; import java.util.Arrays; diff --git a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordComponentConverterProvider.java b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordComponentConverterProvider.java index 8177beef..0a2ea998 100644 --- a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordComponentConverterProvider.java +++ b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordComponentConverterProvider.java @@ -1,22 +1,16 @@ package dev.simplix.protocolize.bungee.providers; -import com.google.gson.Gson; -import com.google.gson.JsonElement; import dev.simplix.protocolize.api.ComponentConverter; import dev.simplix.protocolize.api.providers.ComponentConverterProvider; import dev.simplix.protocolize.bungee.util.JoNbtToQuerzNbtMapper; import dev.simplix.protocolize.bungee.util.QuerzNbtToJoNbtMapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.chat.ComponentSerializer; import net.md_5.bungee.protocol.TagUtil; import net.querz.nbt.tag.Tag; -import se.llbit.nbt.SpecificTag; - -import java.lang.reflect.Field; /** * Date: 24.08.2021 diff --git a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordModuleProvider.java b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordModuleProvider.java index 64f00b77..70a21d15 100644 --- a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordModuleProvider.java +++ b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordModuleProvider.java @@ -25,7 +25,7 @@ public final class BungeeCordModuleProvider implements ModuleProvider { @Override public void registerModule(ProtocolizeModule module) { if (!supportedPlatform(module.supportedPlatforms())) { - log.warn("Won't register module " + module.getClass().getName() + ": Only supports " + Arrays.toString(module.supportedPlatforms())); + log.warn("Won't register module {}: Only supports {}", module.getClass().getName(), Arrays.toString(module.supportedPlatforms())); return; } modules.add(module); @@ -72,7 +72,7 @@ public void enableAll() { private void enableModule(ProtocolizeModule module) { module.registerMappings(Protocolize.mappingProvider()); module.registerPackets(Protocolize.protocolRegistration()); - log.info("Enabled module " + module.getClass().getName()); + log.info("Enabled module {}", module.getClass().getName()); } } diff --git a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordProtocolRegistrationProvider.java b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordProtocolRegistrationProvider.java index 2f8768ae..2ec44679 100644 --- a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordProtocolRegistrationProvider.java +++ b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/providers/BungeeCordProtocolRegistrationProvider.java @@ -4,7 +4,6 @@ import dev.simplix.protocolize.api.PacketDirection; import dev.simplix.protocolize.api.Protocol; import dev.simplix.protocolize.api.Protocolize; -import dev.simplix.protocolize.api.item.component.StructuredComponent; import dev.simplix.protocolize.api.item.component.StructuredComponentType; import dev.simplix.protocolize.api.mapping.ProtocolIdMapping; import dev.simplix.protocolize.api.packet.AbstractPacket; @@ -21,16 +20,13 @@ import net.bytebuddy.implementation.MethodDelegation; import net.bytebuddy.implementation.bind.annotation.RuntimeType; import net.bytebuddy.matcher.ElementMatchers; -import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.protocol.DefinedPacket; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.AbstractMap; import java.util.List; -import java.util.logging.Level; /** * Date: 20.08.2021 @@ -73,7 +69,7 @@ public BungeeCordProtocolRegistrationProvider(List s for (PacketRegistrationStrategy strategy : strategies) { if (strategy.compatible()) { this.strategy = strategy; - log.info("[Protocolize] Using " + strategy.getClass().getSimpleName()); + log.info("[Protocolize] Using {}", strategy.getClass().getSimpleName()); return; } } @@ -98,11 +94,11 @@ public void registerPacket(List mappings, Protocol protocol, mappingProvider.registerMapping(new RegisteredPacket(direction, packetClass), mapping); for (int i = mapping.protocolRangeStart(); i <= mapping.protocolRangeEnd(); i++) { strategy.registerPacket(protocols, i, mapping.id(), definedPacketClass); - log.debug("[Protocolize] Register packet " + definedPacketClass.getName() + " (0x" + Integer.toHexString(mapping.id()) + ") in direction " + direction.name() + " at protocol " + protocol.name() + " for version " + i); + log.debug("[Protocolize] Register packet {} (0x{}) in direction {} at protocol {} for version {}", definedPacketClass.getName(), Integer.toHexString(mapping.id()), direction.name(), protocol.name(), i); } } } catch (Exception e) { - log.warn("Exception while registering packet " + packetClass.getName(), e); + log.warn("Exception while registering packet {}", packetClass.getName(), e); } } diff --git a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/strategies/BungeeCordPacketRegistrationStrategy.java b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/strategies/BungeeCordPacketRegistrationStrategy.java index 55e55c23..d8658519 100644 --- a/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/strategies/BungeeCordPacketRegistrationStrategy.java +++ b/protocolize-bungeecord/src/main/java/dev/simplix/protocolize/bungee/strategies/BungeeCordPacketRegistrationStrategy.java @@ -5,7 +5,6 @@ import gnu.trove.map.TIntObjectMap; import gnu.trove.map.TObjectIntMap; import lombok.extern.slf4j.Slf4j; -import net.md_5.bungee.api.ProxyServer; import java.lang.reflect.Field; import java.util.function.Supplier; @@ -26,7 +25,7 @@ public final class BungeeCordPacketRegistrationStrategy implements PacketRegistr public void registerPacket(TIntObjectMap protocols, int protocolVersion, int packetId, Class clazz) throws IllegalAccessException { final Object protocolData = protocols.get(protocolVersion); if (protocolData == null) { - log.debug("[Protocolize | DEBUG] Protocol version " + protocolVersion + " is not supported on this version. Skipping registration for that specific version."); + log.debug("[Protocolize | DEBUG] Protocol version {} is not supported on this version. Skipping registration for that specific version.", protocolVersion); return; } ((TObjectIntMap>) protocolDataPacketMapField.get(protocolData)).put(clazz, packetId); diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/ProtocolizePlugin.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/ProtocolizePlugin.java index 0a4c189b..274e6be8 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/ProtocolizePlugin.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/ProtocolizePlugin.java @@ -98,7 +98,7 @@ private static String readVersion() { @Subscribe public void onInit(ProxyInitializeEvent event) throws ReflectiveOperationException { logger.info("======= PROTOCOLIZE ======="); - logger.info("Version " + version + " by " + description().getAuthors().toString().replace("[", "").replace("]", "")); + logger.info("Version {} by {}", version, description().getAuthors().toString().replace("[", "").replace("]", "")); if (version.endsWith(":unknown")) { logger.warn("WARNING: YOU ARE RUNNING AN UNOFFICIAL BUILD OF PROTOCOLIZE. DON'T REPORT ANY BUGS REGARDING THIS VERSION."); } @@ -118,8 +118,7 @@ public void onInit(ProxyInitializeEvent event) throws ReflectiveOperationExcepti Player player = protocolizePlayer.handle(); if (protocolizePlayer.protocolVersion() < ProtocolVersions.MINECRAFT_1_13) { logger.warn("=== WARNING ==="); - logger.warn("The player " + player.getUsername() + " is using " - + player.getProtocolVersion().getMostRecentSupportedVersion() + " which is not supported by protocolize by default."); + logger.warn("The player {} is using {} which is not supported by protocolize by default.", player.getUsername(), player.getProtocolVersion().getMostRecentSupportedVersion()); logger.warn("You may experience log spamming due to protocolize not finding appropriate mappings for the clients protocol version."); logger.warn("To fix this you have to install the legacy support module for velocity. More info at: https://simplixsoft.com/protocolize"); } diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/listener/PlayerListener.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/listener/PlayerListener.java index d98ea06f..3ab4dfcc 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/listener/PlayerListener.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/listener/PlayerListener.java @@ -103,15 +103,14 @@ private void initConnection(InboundConnection connection) throws ReflectiveOpera // Ah yes expecting an overridden channel initializer ChannelInitializer initializer = plugin.currentBackendChannelInitializer(); if (initializer.getClass() != ProtocolizeBackendChannelInitializer.class) { - log.error("It seems like there is an incompatible plugin installed. Velocity channel initializers are overridden by: " - + initializer.getClass().getName()); + log.error("It seems like there is an incompatible plugin installed. Velocity channel initializers are overridden by: {}", initializer.getClass().getName()); log.error("Protocolize is unable to work under this circumstances. Please contact the developers of the incompatible " + "plugin and suggest them to call the initChannel method of the ChannelInitializers before overriding them."); return; } else { // WTF?? - log.error("Pipeline is not initialized. This is a bug. Please report. Pipeline handlers = " + pipeline.toMap()); - log.error("Initializer: " + initializer.getClass().getName()); + log.error("Pipeline is not initialized. This is a bug. Please report. Pipeline handlers = {}", pipeline.toMap()); + log.error("Initializer: {}", initializer.getClass().getName()); } return; } diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java index d81183b2..b957799c 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java @@ -14,7 +14,7 @@ * * @author Exceptionflug */ -@Slf4j +@Slf4j(topic = "Protocolize") public class ProtocolizeBackendChannelInitializer extends BackendChannelInitializer { private final ChannelInitializer wrapped; @@ -25,12 +25,12 @@ public ProtocolizeBackendChannelInitializer(VelocityServer server, ChannelInitia this.wrapped = wrapped; if (wrapped != null) { - log.info("Respecting the previous registered BackendChannelInitializer: " + wrapped.getClass().getName()); + log.info("Respecting the previous registered BackendChannelInitializer: {}", wrapped.getClass().getName()); try { initMethod = wrapped.getClass().getDeclaredMethod("initChannel", Channel.class); initMethod.setAccessible(true); } catch (NoSuchMethodException e) { - log.error("Unsupported backend channel initializer: " + wrapped.getClass().getName(), e); + log.error("Unsupported backend channel initializer: {}", wrapped.getClass().getName(), e); } } } @@ -39,7 +39,7 @@ public ProtocolizeBackendChannelInitializer(VelocityServer server, ChannelInitia protected void initChannel(Channel ch) throws Exception { try { if (wrapped != null && initMethod != null) { - log.debug("Calling the underlying backend channel initializer: " + wrapped.getClass().getName()); + log.debug("Calling the underlying backend channel initializer: {}", wrapped.getClass().getName()); initMethod.invoke(wrapped, ch); } } catch (Exception e) { diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeDecoderChannelHandler.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeDecoderChannelHandler.java index 58c4e0a1..6821bf4b 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeDecoderChannelHandler.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeDecoderChannelHandler.java @@ -103,10 +103,10 @@ public void exceptionCaught(final ChannelHandlerContext ctx, final Throwable cau } if (ProtocolizePlugin.isExceptionCausedByProtocolize(cause) && !(cause instanceof CorruptedFrameException)) { log.error("=== EXCEPTION CAUGHT IN DECODER ==="); - log.error("Protocolize " + ProtocolizePlugin.version()); - log.error("Stream Direction: " + streamDirection.name()); - log.error("InboundConnection: " + inboundConnection + ", ServerConnection: " + serverConnection); - log.error("Protocol version: " + protocolVersion.getVersionsSupportedBy().toString().replace("[", "").replace("]", "")); + log.error("Protocolize {}", ProtocolizePlugin.version()); + log.error("Stream Direction: {}", streamDirection.name()); + log.error("InboundConnection: {}, ServerConnection: {}", inboundConnection, serverConnection); + log.error("Protocol version: {}", protocolVersion.getVersionsSupportedBy().toString().replace("[", "").replace("]", "")); cause.printStackTrace(); } else { super.exceptionCaught(ctx, cause); // We don't argue with foreign exceptions anymore. diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeServerChannelInitializer.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeServerChannelInitializer.java index 6be7610b..ef117525 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeServerChannelInitializer.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeServerChannelInitializer.java @@ -6,10 +6,8 @@ import dev.simplix.protocolize.api.Direction; import io.netty.channel.Channel; import io.netty.channel.ChannelInitializer; -import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** @@ -17,7 +15,7 @@ * * @author Exceptionflug */ -@Slf4j +@Slf4j(topic = "Protocolize") public class ProtocolizeServerChannelInitializer extends ServerChannelInitializer { private final ChannelInitializer wrapped; @@ -28,12 +26,12 @@ public ProtocolizeServerChannelInitializer(VelocityServer server, ChannelInitial this.wrapped = wrapped; if (wrapped != null) { - log.info("Respecting the previous registered ServerChannelInitializer: " + wrapped.getClass().getName()); + log.info("Respecting the previous registered ServerChannelInitializer: {}", wrapped.getClass().getName()); try { initMethod = this.wrapped.getClass().getDeclaredMethod("initChannel", Channel.class); initMethod.setAccessible(true); } catch (NoSuchMethodException e) { - log.error("Unsupported server channel initializer: " + this.wrapped.getClass().getName(), e); + log.error("Unsupported server channel initializer: {}", this.wrapped.getClass().getName(), e); } } } @@ -42,7 +40,7 @@ public ProtocolizeServerChannelInitializer(VelocityServer server, ChannelInitial protected void initChannel(Channel ch) { try { if (wrapped != null && initMethod != null) { - log.debug("Calling the underlying server channel initializer: " + wrapped.getClass().getName()); + log.debug("Calling the underlying server channel initializer: {}", wrapped.getClass().getName()); initMethod.invoke(wrapped, ch); } } catch (Exception e) { diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/accessors/InitialInboundConnectionPipelineAccessor.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/accessors/InitialInboundConnectionPipelineAccessor.java index c9aff59c..a3d2dbe0 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/accessors/InitialInboundConnectionPipelineAccessor.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/accessors/InitialInboundConnectionPipelineAccessor.java @@ -20,7 +20,7 @@ public ChannelPipeline get(InboundConnection connection) { try { return ((MinecraftConnection) MINECRAFT_CONNECTION_FIELD.get(connection)).getChannel().pipeline(); } catch (Exception e) { - log.error("Unable to get pipeline from " + connection + ": ", e); + log.error("Unable to get pipeline from {}: ", connection, e); return null; } } diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/packet/VelocityProtocolizePacket.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/packet/VelocityProtocolizePacket.java index 9b73468b..b2b311ea 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/packet/VelocityProtocolizePacket.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/packet/VelocityProtocolizePacket.java @@ -13,7 +13,6 @@ import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -import org.checkerframework.checker.units.qual.C; /** * Date: 22.08.2021 diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityModuleProvider.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityModuleProvider.java index f5b85a0f..804c6942 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityModuleProvider.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityModuleProvider.java @@ -25,7 +25,7 @@ public final class VelocityModuleProvider implements ModuleProvider { @Override public void registerModule(ProtocolizeModule module) { if (!supportedPlatform(module.supportedPlatforms())) { - log.warn("Won't register module " + module.getClass().getName() + ": Only supports " + Arrays.toString(module.supportedPlatforms())); + log.warn("Won't register module {}: Only supports {}", module.getClass().getName(), Arrays.toString(module.supportedPlatforms())); return; } modules.add(module); @@ -72,7 +72,7 @@ public void enableAll() { private void enableModule(ProtocolizeModule module) { module.registerMappings(Protocolize.mappingProvider()); module.registerPackets(Protocolize.protocolRegistration()); - log.info("Enabled module " + module.getClass().getName()); + log.info("Enabled module {}", module.getClass().getName()); } } diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityPacketListenerProvider.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityPacketListenerProvider.java index e5d96d0b..16af1d61 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityPacketListenerProvider.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityPacketListenerProvider.java @@ -75,7 +75,7 @@ public void registerListener(AbstractPacketListener listener) { try { ensureAlsoEncode((Class) listener.type()); } catch (Exception e) { - log.error("Unable to register additional suppliers for velocity packet " + listener.type().getName(), e); + log.error("Unable to register additional suppliers for velocity packet {}", listener.type().getName(), e); } } listeners.add(listener); @@ -164,7 +164,7 @@ public Map.Entry handleInboundPacket(MinecraftPacket p try { it.packetReceive(event); } catch (final Exception e) { - log.error("[Protocolize] Exception caught in listener while receiving packet " + apiPacket.getClass().getName(), e); + log.error("[Protocolize] Exception caught in listener while receiving packet {}", apiPacket.getClass().getName(), e); } }); if (event.cancelled()) @@ -227,7 +227,7 @@ public MinecraftPacket handleOutboundPacket(MinecraftPacket packet, InboundConne try { it.packetSend(event); } catch (final Exception e) { - log.error("[Protocolize] Exception caught in listener while sending packet " + apiPacket.getClass().getName(), e); + log.error("[Protocolize] Exception caught in listener while sending packet {}", apiPacket.getClass().getName(), e); } }); if (event.cancelled()) diff --git a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityProtocolRegistrationProvider.java b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityProtocolRegistrationProvider.java index becafffb..245465b3 100644 --- a/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityProtocolRegistrationProvider.java +++ b/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/providers/VelocityProtocolRegistrationProvider.java @@ -8,7 +8,6 @@ import dev.simplix.protocolize.api.PacketDirection; import dev.simplix.protocolize.api.Protocol; import dev.simplix.protocolize.api.Protocolize; -import dev.simplix.protocolize.api.item.component.StructuredComponent; import dev.simplix.protocolize.api.item.component.StructuredComponentType; import dev.simplix.protocolize.api.mapping.ProtocolIdMapping; import dev.simplix.protocolize.api.mapping.ProtocolMapping; @@ -109,13 +108,13 @@ public void registerPacket(List mappings, Protocol protocol, doRegisterPacket(registry, velocityPacket, velocityMappings.toArray(new StateRegistry.PacketMapping[0])); } catch (InvocationTargetException e) { if (e.getCause() != null && e.getCause().getMessage() != null && e.getCause().getMessage().contains("already registered")) { - log.debug(e.getCause().getMessage() + ". Skipping..."); + log.debug("{}. Skipping...", e.getCause().getMessage()); } else { throw e; } } } catch (Exception exception) { - log.error("Exception while registering packet " + packetClass.getName(), exception); + log.error("Exception while registering packet {}", packetClass.getName(), exception); } } @@ -157,7 +156,7 @@ public int packetId(Object packet, Protocol protocol, PacketDirection direction, if (protocolIdMapping != null) { return protocolIdMapping.id(); } else { - log.debug("Unable to obtain id for " + direction.name() + " " + packetClass.getName() + " at protocol " + protocolVersion); + log.debug("Unable to obtain id for {} {} at protocol {}", direction.name(), packetClass.getName(), protocolVersion); } } else if (packet instanceof MinecraftPacket) { ProtocolUtils.Direction velocityDirection = velocityDirection(direction); @@ -179,12 +178,12 @@ public int packetId(Object packet, Protocol protocol, PacketDirection direction, public Object createPacket(Class clazz, Protocol protocol, PacketDirection direction, int protocolVersion) { ProtocolUtils.Direction velocityDirection = velocityDirection(direction); if (velocityDirection == null) { - log.debug("Unable to construct wrapper instance for " + clazz.getName() + ": Unknown packet direction to velocity: " + direction.name()); + log.debug("Unable to construct wrapper instance for {}: Unknown packet direction to velocity: {}", clazz.getName(), direction.name()); return null; } StateRegistry stateRegistry = velocityProtocol(protocol); if (stateRegistry == null) { - log.debug("Unable to construct wrapper instance for " + clazz.getName() + ": Unknown protocol: " + protocol.name()); + log.debug("Unable to construct wrapper instance for {}: Unknown protocol: {}", clazz.getName(), protocol.name()); return null; } StateRegistry.PacketRegistry.ProtocolRegistry registry = stateRegistry.getProtocolRegistry(velocityDirection, @@ -193,7 +192,7 @@ public Object createPacket(Class clazz, Protocol proto if (protocolIdMapping != null) { return registry.createPacket(protocolIdMapping.id()); } - log.debug("No protocol id mapping for " + clazz.getName() + " at version " + protocolVersion + " was found."); + log.debug("No protocol id mapping for {} at version {} was found.", clazz.getName(), protocolVersion); return null; }