fix types not all though
This commit is contained in:
parent
c1e0fcb717
commit
49d8b3d066
10 changed files with 94 additions and 25 deletions
|
@ -5,7 +5,16 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
|
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/EntityMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/BlockDisplayMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/BlockDisplayMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/ItemDisplayMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/ItemDisplayMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/TextDisplayMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/display/TextDisplayMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/types/DisplayMeta.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/types/DisplayMeta.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/test-plugin/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/build.gradle" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestDisplayCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestDisplayCommand.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/resources/plugin.yml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
@ -211,7 +220,7 @@
|
||||||
<workItem from="1705534524814" duration="15424000" />
|
<workItem from="1705534524814" duration="15424000" />
|
||||||
<workItem from="1705578156456" duration="78000" />
|
<workItem from="1705578156456" duration="78000" />
|
||||||
<workItem from="1705636302508" duration="7111000" />
|
<workItem from="1705636302508" duration="7111000" />
|
||||||
<workItem from="1705951390204" duration="2550000" />
|
<workItem from="1705951390204" duration="3936000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
@ -226,6 +235,15 @@
|
||||||
<line>6787</line>
|
<line>6787</line>
|
||||||
<option name="timeStamp" value="1" />
|
<option name="timeStamp" value="1" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" type="java-method">
|
||||||
|
<url>file://$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/meta/types/DisplayMeta.java</url>
|
||||||
|
<line>153</line>
|
||||||
|
<properties class="me.tofaa.entitylib.meta.types.DisplayMeta" method="setShadowRadius">
|
||||||
|
<option name="EMULATED" value="true" />
|
||||||
|
<option name="WATCH_EXIT" value="false" />
|
||||||
|
</properties>
|
||||||
|
<option name="timeStamp" value="2" />
|
||||||
|
</line-breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -152,13 +152,6 @@ public class EntityMeta implements EntityMetadataProvider {
|
||||||
return metadata.createPacket();
|
return metadata.createPacket();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected static void isVersion(ServerVersion version) {
|
|
||||||
if (!EntityLib.getPacketEvents().getServerManager().getVersion().is(VersionComparison.EQUALS, version)) {
|
|
||||||
throw new InvalidVersionException("This method is only available for " + version.name() + " and above.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static void isVersionOlder(ServerVersion version) {
|
protected static void isVersionOlder(ServerVersion version) {
|
||||||
if (!EntityLib.getPacketEvents().getServerManager().getVersion().is(VersionComparison.OLDER_THAN, version)) {
|
if (!EntityLib.getPacketEvents().getServerManager().getVersion().is(VersionComparison.OLDER_THAN, version)) {
|
||||||
throw new InvalidVersionException("This method is only available for versions older than " + version.name() + ".");
|
throw new InvalidVersionException("This method is only available for versions older than " + version.name() + ".");
|
||||||
|
@ -171,6 +164,14 @@ public class EntityMeta implements EntityMetadataProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static boolean isVersion(ServerVersion version, VersionComparison comparison) {
|
||||||
|
return EntityLib.getPacketEvents().getServerManager().getVersion().is(comparison, version);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static boolean isVersion(ServerVersion version) {
|
||||||
|
return EntityLib.getPacketEvents().getServerManager().getVersion().is(VersionComparison.EQUALS, version);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Annoying java 8 not letting me do OFFSET + amount in the method call so this is a workaround
|
* Annoying java 8 not letting me do OFFSET + amount in the method call so this is a workaround
|
||||||
* @param value the value to offset
|
* @param value the value to offset
|
||||||
|
|
|
@ -7,7 +7,7 @@ import me.tofaa.entitylib.meta.types.DisplayMeta;
|
||||||
public class BlockDisplayMeta extends DisplayMeta {
|
public class BlockDisplayMeta extends DisplayMeta {
|
||||||
|
|
||||||
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
||||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
public static final byte MAX_OFFSET = offset(OFFSET, 1);
|
||||||
|
|
||||||
public BlockDisplayMeta(int entityId, Metadata metadata) {
|
public BlockDisplayMeta(int entityId, Metadata metadata) {
|
||||||
super(entityId, metadata);
|
super(entityId, metadata);
|
||||||
|
|
|
@ -8,7 +8,7 @@ import me.tofaa.entitylib.meta.types.DisplayMeta;
|
||||||
public class ItemDisplayMeta extends DisplayMeta {
|
public class ItemDisplayMeta extends DisplayMeta {
|
||||||
|
|
||||||
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
||||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
public static final byte MAX_OFFSET = offset(OFFSET, 1);
|
||||||
|
|
||||||
public ItemDisplayMeta(int entityId, Metadata metadata) {
|
public ItemDisplayMeta(int entityId, Metadata metadata) {
|
||||||
super(entityId, metadata);
|
super(entityId, metadata);
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.kyori.adventure.text.Component;
|
||||||
public class TextDisplayMeta extends DisplayMeta {
|
public class TextDisplayMeta extends DisplayMeta {
|
||||||
|
|
||||||
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
public static final byte OFFSET = DisplayMeta.MAX_OFFSET;
|
||||||
public static final byte MAX_OFFSET = OFFSET + 5;
|
public static final byte MAX_OFFSET = offset(OFFSET, 5);
|
||||||
|
|
||||||
private static final byte SHADOW = 1;
|
private static final byte SHADOW = 1;
|
||||||
private static final byte SEE_THROUGH = 2;
|
private static final byte SEE_THROUGH = 2;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package me.tofaa.entitylib.meta.types;
|
package me.tofaa.entitylib.meta.types;
|
||||||
|
|
||||||
import com.github.retrooper.packetevents.manager.server.ServerVersion;
|
import com.github.retrooper.packetevents.manager.server.ServerVersion;
|
||||||
|
import com.github.retrooper.packetevents.manager.server.VersionComparison;
|
||||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||||
import com.github.retrooper.packetevents.util.Quaternion4f;
|
import com.github.retrooper.packetevents.util.Quaternion4f;
|
||||||
import com.github.retrooper.packetevents.util.Vector3f;
|
import com.github.retrooper.packetevents.util.Vector3f;
|
||||||
|
@ -10,7 +11,15 @@ import me.tofaa.entitylib.meta.Metadata;
|
||||||
public class DisplayMeta extends EntityMeta {
|
public class DisplayMeta extends EntityMeta {
|
||||||
|
|
||||||
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
|
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
|
||||||
public static final byte MAX_OFFSET = OFFSET + 15;
|
public static final byte MAX_OFFSET;
|
||||||
|
static {
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.NEWER_THAN_OR_EQUALS)) {
|
||||||
|
MAX_OFFSET = OFFSET + 15;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
MAX_OFFSET = OFFSET + 14;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public DisplayMeta(int entityId, Metadata metadata) {
|
public DisplayMeta(int entityId, Metadata metadata) {
|
||||||
super(entityId, metadata);
|
super(entityId, metadata);
|
||||||
|
@ -42,43 +51,83 @@ public class DisplayMeta extends EntityMeta {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vector3f getTranslation() {
|
public Vector3f getTranslation() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 3), Vector3f.zero());
|
byte offset = offset(OFFSET, 3);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 2);
|
||||||
|
}
|
||||||
|
return super.metadata.getIndex(offset, Vector3f.zero());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTranslation(Vector3f value) {
|
public void setTranslation(Vector3f value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 3), EntityDataTypes.VECTOR3F, value);
|
byte offset = offset(OFFSET, 3);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 2);
|
||||||
|
}
|
||||||
|
super.metadata.setIndex(offset, EntityDataTypes.VECTOR3F, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vector3f getScale() {
|
public Vector3f getScale() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 4), new Vector3f(1.0f, 1.0f, 1.0f));
|
byte offset = offset(OFFSET, 4);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 3);
|
||||||
|
}
|
||||||
|
return super.metadata.getIndex(offset, new Vector3f(1.0f, 1.0f, 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setScale(Vector3f value) {
|
public void setScale(Vector3f value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 4), EntityDataTypes.VECTOR3F, value);
|
byte offset = offset(OFFSET, 4);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 3);
|
||||||
|
}
|
||||||
|
super.metadata.setIndex(offset, EntityDataTypes.VECTOR3F, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Quaternion4f getLeftRotation() {
|
public Quaternion4f getLeftRotation() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 5), new Quaternion4f(0.0f, 0.0f, 0.0f, 1.0f));
|
byte offset = offset(OFFSET, 5);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 4);
|
||||||
|
}
|
||||||
|
return super.metadata.getIndex(offset, new Quaternion4f(0.0f, 0.0f, 0.0f, 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLeftRotation(Quaternion4f value) {
|
public void setLeftRotation(Quaternion4f value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 5), EntityDataTypes.QUATERNION, value);
|
byte offset = offset(OFFSET, 5);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 4);
|
||||||
|
}
|
||||||
|
super.metadata.setIndex(offset, EntityDataTypes.QUATERNION, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Quaternion4f getRightRotation() {
|
public Quaternion4f getRightRotation() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 6), new Quaternion4f(0.0f, 0.0f, 0.0f, 1.0f));
|
byte offset = offset(OFFSET, 6);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 5);
|
||||||
|
}
|
||||||
|
return super.metadata.getIndex(offset, new Quaternion4f(0.0f, 0.0f, 0.0f, 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRightRotation(Quaternion4f value) {
|
public void setRightRotation(Quaternion4f value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 6), EntityDataTypes.QUATERNION, value);
|
byte offset = offset(OFFSET, 6);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 5);
|
||||||
|
}
|
||||||
|
super.metadata.setIndex(offset, EntityDataTypes.QUATERNION, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BillboardConstraints getBillboardConstraints() {
|
public BillboardConstraints getBillboardConstraints() {
|
||||||
return BillboardConstraints.VALUES[super.metadata.getIndex(offset(OFFSET, 7), (byte) 0)];
|
byte offset = offset(OFFSET, 7);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 6);
|
||||||
|
}
|
||||||
|
return BillboardConstraints.VALUES[super.metadata.getIndex(offset, (byte) 0)];
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBillboardConstraints(BillboardConstraints value) {
|
public void setBillboardConstraints(BillboardConstraints value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 7), EntityDataTypes.BYTE, (byte) value.ordinal());
|
byte offset = offset(OFFSET, 7);
|
||||||
|
if (isVersion(ServerVersion.V_1_20_2, VersionComparison.OLDER_THAN)) {
|
||||||
|
offset = offset(OFFSET, 6);
|
||||||
|
}
|
||||||
|
super.metadata.setIndex(offset, EntityDataTypes.BYTE, (byte) value.ordinal());
|
||||||
}
|
}
|
||||||
|
|
||||||
//(blockLight << 4 | skyLight << 20)
|
//(blockLight << 4 | skyLight << 20)
|
||||||
|
|
|
@ -32,6 +32,6 @@ dependencies {
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
runServer {
|
runServer {
|
||||||
minecraftVersion("1.20.4")
|
minecraftVersion("1.19.4")
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -40,7 +40,7 @@ public class TestCommand implements CommandExecutor {
|
||||||
passenger.addViewer(player.getUniqueId());
|
passenger.addViewer(player.getUniqueId());
|
||||||
base.spawn(location);
|
base.spawn(location);
|
||||||
passenger.spawn(pass);
|
passenger.spawn(pass);
|
||||||
base.addPassenger(passenger);
|
base.addPassenger(player.getEntityId());
|
||||||
player.sendMessage("Spawned");
|
player.sendMessage("Spawned");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -66,6 +66,7 @@ public class TestDisplayCommand implements CommandExecutor, TabCompleter {
|
||||||
meta.setHasGlowingEffect(true);
|
meta.setHasGlowingEffect(true);
|
||||||
meta.setText(Component.text("Hello World!"));
|
meta.setText(Component.text("Hello World!"));
|
||||||
meta.setBillboardConstraints(DisplayMeta.BillboardConstraints.CENTER);
|
meta.setBillboardConstraints(DisplayMeta.BillboardConstraints.CENTER);
|
||||||
|
meta.setTranslation(new Vector3f(4.0f, 0.0f, 0.0f));
|
||||||
meta.setScale(new Vector3f(2, 2, 2));
|
meta.setScale(new Vector3f(2, 2, 2));
|
||||||
e.addViewer(player.getUniqueId());
|
e.addViewer(player.getUniqueId());
|
||||||
e.spawn(fromPlayer(player));
|
e.spawn(fromPlayer(player));
|
||||||
|
|
|
@ -3,7 +3,7 @@ version: 1.0.0
|
||||||
depend:
|
depend:
|
||||||
- packetevents
|
- packetevents
|
||||||
main: me.tofaa.entitylib.EntityLibPlugin
|
main: me.tofaa.entitylib.EntityLibPlugin
|
||||||
api-version: 1.20
|
api-version: "1.19"
|
||||||
commands:
|
commands:
|
||||||
testapi:
|
testapi:
|
||||||
description: Test PEEntityMeta API
|
description: Test PEEntityMeta API
|
||||||
|
|
Loading…
Reference in a new issue