Skip to content

Commit

Permalink
Merge pull request #247 from proferabg/master
Browse files Browse the repository at this point in the history
Add missing components and clean up logging format
  • Loading branch information
Exceptionflug authored Jul 7, 2024
2 parents 4417b91 + 540f7c3 commit 06c128f
Show file tree
Hide file tree
Showing 85 changed files with 1,612 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -60,6 +62,25 @@ public <O, T extends ProtocolMapping> Multimap<O, T> mappings(Class<O> type, int
return out;
}

@Override
public <T extends Enum<T>> T mapIdToEnum(int id, int protocolVersion, Class<T> clazz) {
Multimap<T, ProtocolMapping> 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");
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
}

}
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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<Property> properties;
private CompoundTag nbtData;

@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Property {
private String name;
private String exactValue;
private String minValue;
private String maxValue;
}

}
Original file line number Diff line number Diff line change
@@ -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<Integer> blockIds;
}
Original file line number Diff line number Diff line change
@@ -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<Page> pages;
private boolean resolved;

@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Page {
private ChatElement<?> content;
private ChatElement<?> filteredContent;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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<Meta> explosions;

@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Meta {
private Shape shape;
private List<Integer> colors;
private List<Integer> fadeColors;
private boolean trail;
private boolean twinkle;

public enum Shape {
SMALL_BALL,
LARGE_BALL,
STAR,
CREEPER,
BURST
}

}
}
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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<Integer, String> overrides;
private ChatElement<?> description;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
public static class TrimPattern {
private String assetName;
private int templateItem;
private ChatElement<?> description;
private boolean decal;
}

}
Original file line number Diff line number Diff line change
@@ -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<Attribute> getAttributes();

void setAttributes(List<Attribute> attributes);

boolean isShowInTooltip();

void setShowInTooltip(boolean showInTooltip);

void addAttribute(Attribute attribute);

void removeAttribute(Attribute attribute);

void removeAllAttributes();

static AttributeModifiersComponent create(List<Attribute> attributes) {
return Protocolize.getService(Factory.class).create(attributes);
}

static AttributeModifiersComponent create(List<Attribute> attributes, boolean showInTooltip) {
return Protocolize.getService(Factory.class).create(attributes, showInTooltip);
}

interface Factory {

AttributeModifiersComponent create(List<Attribute> attributes);
AttributeModifiersComponent create(List<Attribute> attributes, boolean showInTooltip);

}

}
Loading

0 comments on commit 06c128f

Please sign in to comment.