@@ -74,8 +74,6 @@ public class Entity
7474 public bool IsOutOfWater => ! IsInWater ;
7575 public int PotionColor { get ; set ; }
7676 public int Variant { get ; set ; }
77- public int EatingHaystack { get ; set ; }
78-
7977 public long Age { get ; set ; }
8078 public double Scale { get ; set ; } = 1.0 ;
8179 public virtual double Height { get ; set ; } = 1 ;
@@ -115,44 +113,143 @@ public Entity(int entityTypeId, Level level) : this((EntityType) entityTypeId, l
115113 public enum MetadataFlags
116114 {
117115 EntityFlags = 0 ,
116+ StructuralInt = 1 ,
118117 Variant = 2 ,
119118 Color = 3 ,
120- HideNameTag = 3 ,
121119 NameTag = 4 ,
122120 Owner = 5 ,
121+ Target = 6 ,
123122 AvailableAir = 7 ,
124123 PotionColor = 8 ,
124+ Unknown = 9 ,
125+ Unknown2 = 10 ,
126+ Hurt = 11 ,
127+ HurtDirection = 12 ,
128+ RowTimeLeft = 13 ,
129+ RowTimeRight = 14 ,
125130 ExperienceValue = 15 ,
126- EatingHaystack = 16 ,
127- FireworksType = 16 ,
128- MaybeAge = 24 ,
131+ TileRuntimeId = 16 ,
132+ Offset = 17 ,
133+ CustomDisplay = 18 ,
134+ Swell = 19 ,
135+ OldSwel = 20 ,
136+ SwellDirection = 21 ,
137+ ChargeAmount = 22 ,
138+ CarryBlockRumtimeId = 23 ,
139+ EntityAge = 24 ,
140+ UsingItem = 25 ,
129141 PlayerFlags = 26 ,
142+ PlayerIndex = 27 ,
130143 BedPosition = 28 ,
131- Scale = 38 , //todo still exist?
144+ XPower = 29 ,
145+ YPower = 30 ,
146+ ZPower = 31 ,
147+ AuxPower = 32 ,
148+ FishX = 33 ,
149+ FishY = 34 ,
150+ FishAngle = 35 ,
151+ AuxValueData = 36 ,
152+ LeashHolder = 37 ,
153+ Scale = 38 ,
154+ HasNpc = 39 ,
155+ NpcData = 40 ,
156+ Actions = 41 ,
132157 MaxAir = 42 ,
133158 Markings = 43 ,
134- CollisionBoxWidth = 53 , //todo still exist?
135- CollisionBoxHeight = 54 , //todo still exist?
136-
159+ ContainerType = 44 ,
160+ ContainerSize = 45 ,
161+ ContainerStrenght = 46 ,
162+ BlockTarget = 47 ,
163+ InvulnerableTicks = 48 ,
164+ TargetA = 49 ,
165+ TargetB = 50 ,
166+ TargetC = 51 ,
167+ AerialAttack = 52 ,
168+ CollisionBoxWidth = 53 ,
169+ CollisionBoxHeight = 54 ,
137170 DataFuseLength = 55 ,
138-
139171 RiderSeatPosition = 56 ,
140172 RiderRotationLocked = 57 ,
141173 RiderMaxRotation = 58 ,
142174 RiderMinRotation = 59 ,
175+ RiderRotationOffset = 60 ,
176+ DataRadius = 61 ,
177+ DataWaiting = 62 ,
178+ DataParticle = 63 ,
179+ PeekId = 64 ,
180+ AttachFace = 65 ,
181+ Attached = 66 ,
182+ AttachPos = 67 ,
183+ TradeTarget = 68 ,
184+ Career = 69 ,
185+ HasCommandBlock = 70 ,
186+ CommandName = 71 ,
187+ LastCommandOutput = 72 ,
188+ TrackCommandOutput = 73 ,
189+ Unknown5 = 74 ,
190+ Strenght = 75 ,
191+ MaxStrenght = 76 ,
192+ DataCastingColor = 77 ,
193+ DataLifetimeTicks = 78 ,
194+ PoseIndex = 79 ,
195+ DataTickOffset = 80 ,
143196 AlwaysShowNameTag = 81 ,
144-
145- EntityFlags2 = 91 , // same treatment as 0 flags, perhaps
146-
147- ButtonText = 99 ,
197+ Color2Index = 82 ,
198+ AuthorName = 83 ,
199+ Score = 84 ,
200+ BalloonAnchor = 86 ,
201+ BubbleTime = 87 ,
202+ Agent = 88 ,
203+ SittingAmount = 89 ,
204+ SittingAmountPrevious = 90 ,
205+ EatingCounter = 91 ,
206+ Unknown6 = 92 ,
207+ LayingAmount = 93 ,
208+ LayingAmountPrevious = 94 ,
209+ DataDuration = 95 ,
210+ DataSpawnTime = 96 ,
211+ DataChangeRate = 97 ,
212+ DataChangeOnPickup = 98 ,
213+ DataPickupCount = 99 ,
214+ InteractTect = 100 ,
215+ TradeTier = 101 ,
216+ MaxTradeTier = 102 ,
217+ TradeExperience = 103 ,
218+ SkinIn = 104 ,
219+ SpawningFrames = 105 ,
220+ CommandBockTickDelay = 106 ,
221+ CommandBlockOnFirstTick = 107 ,
222+ AmbientSoundInterval = 108 ,
223+ AmbientSoundIntervalRange = 109 ,
224+ AmbientSoundEventName = 110 ,
225+ FallDamageMultiplier = 111 ,
226+ NameRawText = 112 ,
227+ CanRideTarget = 113 ,
228+ LowCuredDiscount = 114 ,
229+ HighCuredDiscount = 115 ,
230+ NearbyCuredDiscount = 116 ,
231+ NearbyCuredDiscountTime = 117 ,
232+ Hitbox = 118 ,
233+ IsBuoyant = 119 ,
234+ FreezingEffectStrenght = 120 ,
235+ BuoyancyData = 121 ,
236+ GoatHornCount = 122 ,
237+ BaseRuntimeId = 123 ,
238+ MovementSoundDistanceOffset = 124 ,
239+ HeartbeatSoundDistanceOffset = 125 ,
240+ HeartbeatSoundEvent = 126 ,
241+ LastDeathPosition = 127 ,
242+ LastDeathDimension = 128 ,
243+ HasDied = 129 ,
244+ CollisionBox = 130 ,
245+ VisibleMobEffects = 131 ,
246+ Count = 132 ,
148247 }
149248
150249 public virtual MetadataDictionary GetMetadata ( )
151250 {
152251 MetadataDictionary metadata = new MetadataDictionary ( ) ;
153252 metadata [ ( int ) MetadataFlags . EntityFlags ] = new MetadataLong ( GetDataValue ( ) ) ;
154- metadata [ 1 ] = new MetadataInt ( 1 ) ;
155- metadata [ ( int ) MetadataFlags . HideNameTag ] = new MetadataByte ( ! HideNameTag ) ;
156253 metadata [ ( int ) MetadataFlags . NameTag ] = new MetadataString ( NameTag ?? string . Empty ) ;
157254 metadata [ ( int ) MetadataFlags . AvailableAir ] = new MetadataShort ( HealthManager . Air ) ;
158255 metadata [ ( int ) MetadataFlags . PotionColor ] = new MetadataInt ( PotionColor ) ;
@@ -302,7 +399,6 @@ private static string FlagsToString(long input)
302399 public bool IsBaby { get ; set ; }
303400 public bool IsConverting { get ; set ; }
304401 public bool IsCritical { get ; set ; }
305- public bool IsShowName => ! HideNameTag ;
306402 public bool IsAlwaysShowName { get ; set ; }
307403 public bool IsNoAi => NoAi ;
308404 public bool HaveAi => ! NoAi ;
@@ -453,7 +549,6 @@ public enum DataFlags
453549 Timer2 = 116 ,
454550 Timer3 = 117 ,
455551 BodyRotationBlocked = 118 ,
456- Count = 119
457552 }
458553
459554 protected virtual BitArray GetFlags ( )
@@ -473,7 +568,7 @@ protected virtual BitArray GetFlags()
473568 bits [ ( int ) DataFlags . Baby ] = IsBaby ;
474569 bits [ ( int ) DataFlags . Converting ] = IsConverting ;
475570 bits [ ( int ) DataFlags . Critcal ] = IsCritical ;
476- bits [ ( int ) DataFlags . ShowName ] = IsShowName ;
571+ bits [ ( int ) DataFlags . ShowName ] = ! HideNameTag ;
477572 bits [ ( int ) DataFlags . AlwaysShowName ] = IsAlwaysShowName ;
478573 bits [ ( int ) DataFlags . NoAi ] = IsNoAi ;
479574 bits [ ( int ) DataFlags . Silent ] = IsSilent ;
0 commit comments