update code generators, add axolotl (needs some more detail)

This commit is contained in:
Matt Worzala 2021-06-07 01:24:39 -04:00
parent 8ed49906fa
commit d5987f91b5
No known key found for this signature in database
GPG Key ID: 439DBBE092854841
4 changed files with 94 additions and 6 deletions

View File

@ -38,6 +38,7 @@ public final class EntityTypeGenerator extends MinestomCodeGenerator {
put("Cow", "net.minestom.server.entity.metadata.animal");
put("Donkey", "net.minestom.server.entity.metadata.animal");
put("Fox", "net.minestom.server.entity.metadata.animal");
put("Goat", "net.minestom.server.entity.metadata.animal");
put("Hoglin", "net.minestom.server.entity.metadata.animal");
put("Horse", "net.minestom.server.entity.metadata.animal");
put("Llama", "net.minestom.server.entity.metadata.animal");
@ -144,11 +145,13 @@ public final class EntityTypeGenerator extends MinestomCodeGenerator {
put("FallingBlock", "net.minestom.server.entity.metadata.other");
put("FireworkRocket", "net.minestom.server.entity.metadata.other");
put("FishingHook", "net.minestom.server.entity.metadata.other");
put("GlowItemFrame", "net.minestom.server.entity.metadata.other");
put("ItemFrame", "net.minestom.server.entity.metadata.other");
put("LeashKnot", "net.minestom.server.entity.metadata.other");
put("LightningBolt", "net.minestom.server.entity.metadata.other");
put("LlamaSpit", "net.minestom.server.entity.metadata.other");
put("MagmaCube", "net.minestom.server.entity.metadata.other");
put("Marker", "net.minestom.server.entity.metadata.other");
put("Painting", "net.minestom.server.entity.metadata.other");
put("PrimedTnt", "net.minestom.server.entity.metadata.other");
put("ShulkerBullet", "net.minestom.server.entity.metadata.other");
@ -161,7 +164,9 @@ public final class EntityTypeGenerator extends MinestomCodeGenerator {
put("WanderingTrader", "net.minestom.server.entity.metadata.villager");
// Water
// put("WaterAnimalMeta", "net.minestom.server.entity.metadata.water")
put("Axolotl", "net.minestom.server.entity.metadata.water");
put("Squid", "net.minestom.server.entity.metadata.water");
put("GlowSquid", "net.minestom.server.entity.metadata.water");
put("Dolphin", "net.minestom.server.entity.metadata.water");
// Water - Fish
// put("AbstractFish", "net.minestom.server.entity.metadata.water.fish");

View File

@ -6,7 +6,27 @@ import net.kyori.adventure.key.Keyed;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.entity.metadata.PlayerMeta;
import net.minestom.server.entity.metadata.ambient.BatMeta;
import net.minestom.server.entity.metadata.animal.*;
import net.minestom.server.entity.metadata.animal.BeeMeta;
import net.minestom.server.entity.metadata.animal.ChickenMeta;
import net.minestom.server.entity.metadata.animal.CowMeta;
import net.minestom.server.entity.metadata.animal.DonkeyMeta;
import net.minestom.server.entity.metadata.animal.FoxMeta;
import net.minestom.server.entity.metadata.animal.GoatMeta;
import net.minestom.server.entity.metadata.animal.HoglinMeta;
import net.minestom.server.entity.metadata.animal.HorseMeta;
import net.minestom.server.entity.metadata.animal.LlamaMeta;
import net.minestom.server.entity.metadata.animal.MooshroomMeta;
import net.minestom.server.entity.metadata.animal.MuleMeta;
import net.minestom.server.entity.metadata.animal.OcelotMeta;
import net.minestom.server.entity.metadata.animal.PandaMeta;
import net.minestom.server.entity.metadata.animal.PigMeta;
import net.minestom.server.entity.metadata.animal.PolarBearMeta;
import net.minestom.server.entity.metadata.animal.RabbitMeta;
import net.minestom.server.entity.metadata.animal.SheepMeta;
import net.minestom.server.entity.metadata.animal.SkeletonHorseMeta;
import net.minestom.server.entity.metadata.animal.StriderMeta;
import net.minestom.server.entity.metadata.animal.TurtleMeta;
import net.minestom.server.entity.metadata.animal.ZombieHorseMeta;
import net.minestom.server.entity.metadata.animal.tameable.CatMeta;
import net.minestom.server.entity.metadata.animal.tameable.ParrotMeta;
import net.minestom.server.entity.metadata.animal.tameable.WolfMeta;
@ -63,9 +83,33 @@ import net.minestom.server.entity.metadata.monster.zombie.HuskMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombieMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombieVillagerMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombifiedPiglinMeta;
import net.minestom.server.entity.metadata.other.*;
import net.minestom.server.entity.metadata.other.AreaEffectCloudMeta;
import net.minestom.server.entity.metadata.other.ArmorStandMeta;
import net.minestom.server.entity.metadata.other.BoatMeta;
import net.minestom.server.entity.metadata.other.DragonFireballMeta;
import net.minestom.server.entity.metadata.other.EndCrystalMeta;
import net.minestom.server.entity.metadata.other.EnderDragonMeta;
import net.minestom.server.entity.metadata.other.EvokerFangsMeta;
import net.minestom.server.entity.metadata.other.ExperienceOrbMeta;
import net.minestom.server.entity.metadata.other.FallingBlockMeta;
import net.minestom.server.entity.metadata.other.FireworkRocketMeta;
import net.minestom.server.entity.metadata.other.FishingHookMeta;
import net.minestom.server.entity.metadata.other.GlowItemFrameMeta;
import net.minestom.server.entity.metadata.other.ItemFrameMeta;
import net.minestom.server.entity.metadata.other.LeashKnotMeta;
import net.minestom.server.entity.metadata.other.LightningBoltMeta;
import net.minestom.server.entity.metadata.other.LlamaSpitMeta;
import net.minestom.server.entity.metadata.other.MagmaCubeMeta;
import net.minestom.server.entity.metadata.other.MarkerMeta;
import net.minestom.server.entity.metadata.other.PaintingMeta;
import net.minestom.server.entity.metadata.other.PrimedTntMeta;
import net.minestom.server.entity.metadata.other.ShulkerBulletMeta;
import net.minestom.server.entity.metadata.other.SlimeMeta;
import net.minestom.server.entity.metadata.other.TraderLlamaMeta;
import net.minestom.server.entity.metadata.other.WitherSkullMeta;
import net.minestom.server.entity.metadata.villager.VillagerMeta;
import net.minestom.server.entity.metadata.villager.WanderingTraderMeta;
import net.minestom.server.entity.metadata.water.AxolotlMeta;
import net.minestom.server.entity.metadata.water.DolphinMeta;
import net.minestom.server.entity.metadata.water.GlowSquidMeta;
import net.minestom.server.entity.metadata.water.SquidMeta;
@ -88,7 +132,7 @@ public enum EntityType implements Keyed {
ARROW(NamespaceID.from("minecraft:arrow"), 0.5, 0.5, ArrowMeta::new, EntitySpawnType.BASE),
AXOLOTL(NamespaceID.from("minecraft:axolotl"), 0.75, 0.42, EntityMeta::new, EntitySpawnType.LIVING),
AXOLOTL(NamespaceID.from("minecraft:axolotl"), 0.75, 0.42, AxolotlMeta::new, EntitySpawnType.LIVING),
BAT(NamespaceID.from("minecraft:bat"), 0.5, 0.9, BatMeta::new, EntitySpawnType.LIVING),
@ -146,7 +190,7 @@ public enum EntityType implements Keyed {
GIANT(NamespaceID.from("minecraft:giant"), 3.6, 12.0, GiantMeta::new, EntitySpawnType.LIVING),
GLOW_ITEM_FRAME(NamespaceID.from("minecraft:glow_item_frame"), 0.5, 0.5, GlowFrameMeta::new, EntitySpawnType.BASE),
GLOW_ITEM_FRAME(NamespaceID.from("minecraft:glow_item_frame"), 0.5, 0.5, GlowItemFrameMeta::new, EntitySpawnType.BASE),
GLOW_SQUID(NamespaceID.from("minecraft:glow_squid"), 0.8, 0.8, GlowSquidMeta::new, EntitySpawnType.LIVING),

View File

@ -4,11 +4,11 @@ import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class GlowFrameMeta extends ItemFrameMeta {
public class GlowItemFrameMeta extends ItemFrameMeta {
public static final byte OFFSET = ItemFrameMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 0;
public GlowFrameMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
public GlowItemFrameMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -0,0 +1,39 @@
package net.minestom.server.entity.metadata.water;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class AxolotlMeta extends WaterAnimalMeta {
public static final byte OFFSET = WaterAnimalMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 3;
public AxolotlMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
//todo variant enum
public int getVariant() {
return metadata.getIndex(OFFSET, 0);
}
public void setVariant(int variant) {
metadata.setIndex(variant, Metadata.VarInt(variant));
}
public boolean isPlayingDead() {
return metadata.getIndex(OFFSET + 1, false);
}
public void setPlayingDead(boolean playingDead) {
metadata.setIndex(OFFSET + 1, Metadata.Boolean(playingDead));
}
public boolean isFromBucket() {
return metadata.getIndex(OFFSET + 2, false);
}
public void setFromBucket(boolean fromBucket) {
metadata.setIndex(OFFSET + 2, Metadata.Boolean(fromBucket));
}
}