Use dyecolor and byte, remove old method
This commit is contained in:
parent
e181b979a0
commit
7298de0bb7
3 changed files with 42 additions and 5 deletions
|
@ -1,10 +1,12 @@
|
||||||
package me.tofaa.entitylib.meta.mobs.golem;
|
package me.tofaa.entitylib.meta.mobs.golem;
|
||||||
|
|
||||||
|
import com.github.retrooper.packetevents.protocol.color.DyeColor;
|
||||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||||
import com.github.retrooper.packetevents.protocol.world.Direction;
|
import com.github.retrooper.packetevents.protocol.world.Direction;
|
||||||
import com.github.retrooper.packetevents.util.Vector3i;
|
import com.github.retrooper.packetevents.util.Vector3i;
|
||||||
import me.tofaa.entitylib.meta.Metadata;
|
import me.tofaa.entitylib.meta.Metadata;
|
||||||
import me.tofaa.entitylib.meta.types.MobMeta;
|
import me.tofaa.entitylib.meta.types.MobMeta;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@ -13,6 +15,8 @@ public class ShulkerMeta extends MobMeta {
|
||||||
public static final byte OFFSET = MobMeta.MAX_OFFSET;
|
public static final byte OFFSET = MobMeta.MAX_OFFSET;
|
||||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
public static final byte MAX_OFFSET = OFFSET + 1;
|
||||||
|
|
||||||
|
private static final DyeColor[] DYE_COLORS = DyeColor.values();
|
||||||
|
|
||||||
|
|
||||||
public ShulkerMeta(int entityId, Metadata metadata) {
|
public ShulkerMeta(int entityId, Metadata metadata) {
|
||||||
super(entityId, metadata);
|
super(entityId, metadata);
|
||||||
|
@ -35,20 +39,27 @@ public class ShulkerMeta extends MobMeta {
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte getShieldHeight() {
|
public byte getShieldHeight() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 2), (byte) 0);
|
return super.metadata.getIndex(offset(OFFSET, 1), (byte) 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setShieldHeight(byte value) {
|
public void setShieldHeight(byte value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.BYTE, value);
|
super.metadata.setIndex(offset(OFFSET, 1), EntityDataTypes.BYTE, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte getColor() {
|
public byte getColor() {
|
||||||
return super.metadata.getIndex(offset(OFFSET, 3), (byte) 10);
|
return super.metadata.getIndex(offset(OFFSET, 2), (byte) 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DyeColor getColorEnum() {
|
||||||
|
return DYE_COLORS[getColor()];
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setColor(byte value) {
|
public void setColor(byte value) {
|
||||||
super.metadata.setIndex(offset(OFFSET, 3), EntityDataTypes.BYTE, value);
|
super.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.BYTE, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setColor(DyeColor color) {
|
||||||
|
setColor((byte)color.ordinal());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,8 @@ abstract class ELVersionTask : DefaultTask() {
|
||||||
* This file is generated by the auto-version task. Modifying it will have no effect.
|
* This file is generated by the auto-version task. Modifying it will have no effect.
|
||||||
*/
|
*/
|
||||||
package $packageName;
|
package $packageName;
|
||||||
|
|
||||||
|
import java.text.DateFormat;
|
||||||
import com.github.retrooper.packetevents.util.PEVersion;
|
import com.github.retrooper.packetevents.util.PEVersion;
|
||||||
|
|
||||||
public final class ELVersions {
|
public final class ELVersions {
|
||||||
|
@ -52,6 +53,29 @@ abstract class ELVersionTask : DefaultTask() {
|
||||||
private ELVersions() {
|
private ELVersions() {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class Version {
|
||||||
|
|
||||||
|
private final long timestamp;
|
||||||
|
|
||||||
|
public Version(long timestamp) {
|
||||||
|
this.timestamp = timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getTimestamp() {
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimestampFormatted() {
|
||||||
|
return DateFormat.getDateTimeInstance().format(new java.util.Date(timestamp));
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isOlderThan(Version version) {
|
||||||
|
return this.timestamp < version.timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
""".trimIndent())
|
""".trimIndent())
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,11 +9,13 @@ import org.bukkit.command.CommandMap;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
|
||||||
public class TestEntityLibPlugin extends JavaPlugin {
|
public class TestEntityLibPlugin extends JavaPlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
|
DateFormat.getDateTimeInstance().format(new java.util.Date(timestamp));
|
||||||
|
|
||||||
SpigotEntityLibPlatform platform = new SpigotEntityLibPlatform(this);
|
SpigotEntityLibPlatform platform = new SpigotEntityLibPlatform(this);
|
||||||
APIConfig settings = new APIConfig(PacketEvents.getAPI())
|
APIConfig settings = new APIConfig(PacketEvents.getAPI())
|
||||||
|
|
Loading…
Reference in a new issue