Hey guys,
after checking the sponge tutorial for Entity Spawning (Tutorial ) I got a few questions:
How to rotate the Entity (It’s upside-down)
Why so many abilities do not work - Not implemented yet? F.e.: AGE, INVISIBLE, ATTACK_DAMAGE, HEIGHT
Cheers
You can rotate an entity with setRotation
*
* @param position The position to set
* @return True if set, false if not
*/
boolean setPosition(Vector3d position);
/**
* Sets the location of this entity.
*
* @param location The location to set
* @return True if location was set successfully, false otherwise
*/
boolean setLocation(ServerLocation location);
/**
* Gets the rotation.
*
* <p>The format of the rotation is represented by:</p>
*
* <p>{@code x -> pitch}, {@code y -> yaw}, {@code z -> roll}</p>
*
KAISERslin:
Why so many abilities do not work - Not implemented yet? F.e.: AGE, INVISIBLE, ATTACK_DAMAGE, HEIGHT
Not all data is implemented yet, see the progress tracker:
opened 05:49AM - 24 Apr 15 UTC
closed 08:47PM - 18 Jun 21 UTC
system: data
help wanted
Given that Data API is rather large when it comes to the amount of data it is su… pposed to handle, this is a checklist of the data that is implemented.
If you'd like to implement one, please follow these guidelines by copy pasting this code block into your PR description and check mark as necessary:
----------
Implementation of `REPLACE_WITH_DATA_MANIPULATOR`.
- [x] Registration of field getters and setters
- [x] Accurately used the appropriate `AbstractData` implementation
Implementation of `REPLACE_WITH_IMMUTABLE_MANIPULATOR`
- [x] Accurately extended the appropriate `AbstractImmutableData` implementation
- [x] Accurately instantiating final instance fields with an `ImmutableValue` counter part for any value getters
- [x] If necessary, creating a new `ImmutableValue` for a value that should not be cached, or, using the existing caching utils.
Implementation of the `VALUE_PROCESSOR`(s):
- [x] Appropriately extended `AbstractSpongeValueProcessor`
- [x] Individual processors for each source type possible (one for `ItemStack`/`TileEntity`/`Entity` as necessary).
Registration:
- [x] Registered the `Key` correctly by `FIELD_NAME` in the `KeyRegistry`
- [x] Registered the `DataProcessor`s and `DataManipulatorBuilder` in `SpongeSerializationRegistry`
- [x] Registered the `ValueProcessor`s in the `SpongeSerializationRegistry`
You should create and include a test plugin in your pull request. Preferably, it should test all possible value related methods with your `DataManipulator`s and also test the serialization and deserialization of your `DataManipulator`s.
----------
The Checklist:
**TileData**
- [x] BannerData (@gabizou)
- [x] BeaconData (@Rain336)
- [x] BedData (@JBYoshi - replaced with `DyeableData`) - #1611
- [x] BrewingStandData (@Feeliiix)
- [x] CooldownData (@Rain336)
- [x] EndGatewayData (@kashike)
- [x] FurnaceData (@Feeliiix)
- [x] LockableData (@JBYoshi)
- [x] NoteData (@ZephireNZ)
- [x] SignData (@gabizou)
- [x] StructureData (@kashike)
**EntityData**
- [x] AbsorptionData (@kashike)
- [x] AchievementData (@ST-DDT / @windy1) - No longer relevant past 1.11
- [x] AffectsSpawningData (@kashike)
- [x] AgeableData (@Maxqia)
- [x] AgentData (@clienthax)
- [x] AggressiveData (@sanman00)
- [x] AngerableData (@sanman00)
- [x] AreaEffectCloudData (@gabizou)
- [x] ArmorStandData (@gabizou)
- [x] ArtData (@saladoc)
- [x] BodyPartRotationalData (@sanman00)
- [x] BreathingData
- [x] BreedableData (@oliverdunk)
- [x] CareerData
- [x] ChargedData (@clienthax)
- [x] CriticalHitData (@Rain336)
- [x] CustomNameVisibleData (@kashike)
- [x] DamageableData - Requires hooking into the CombatTracker (@Meronat) - #1643
- [ ] DamagingData - Requires hooking into attacking.
- [x] DespawnDelayData (@kashike)
- [x] DominantHandData (@ZephireNZ) - #712
- [x] ElderData (@ZephireNZ) - No longer existing
- [x] ExperienceHolderData (@lucdon)
- [x] ExpirableData (@gabizou)
- [x] ExplosiveRadiusData (@windy)
- [x] ExpOrbData (@clienthax)
- [x] EyeLocationData (@DDoS)
- [x] FallDistanceData (@ZephireNZ)
- [x] FallingBlockData (@clienthax)
- [x] FlammableData (@JBYoshi)
- [x] FlyingAbilityData (@hsyyid)
- [x] FlyingData (@hsyyid)
- [x] FoodData (@gabizou)
- [x] FuseData (@windy1)
- [x] GameModeData (@jamierocks)
- [x] GlowingData (@ZephireNZ)
- [x] GriefingData (@Cybermaxke)
- [x] HealingSourceData (@JBYoshi - replaced with `EnderDragon.getHealingCrystal()`)
- [x] HealthData
- [x] HealthScalingData (@gabizou)
- [x] HorseData (@Aaron1011)
- [x] IgniteableData (@hsyyid)
- [x] InvisibilityData (@hsyyid)
- [x] InvulnerabilityData (@JBYoshi)
- [x] JoinData (@gabizou)
- [x] KnockbackData (@sanman00)
- [ ] LeashData
- [x] MinecartBlockData (@ZephireNZ)
- [x] MovementSpeedData (@clienthax)
- [x] OcelotData (@sanman00)
- [x] ParrotData (@meronat)
- [x] PassengerData (@me4502)
- [x] PersistingData (@oliverdunk)
- [x] PigSaddleData (@clienthax)
- [x] PlayerCreatedData (@clienthax)
- [x] PlayingData (@clienthax)
- [x] RabbitData (@sanman00)
- [x] RespawnLocationData (@simon816)
- [x] ScreamingData (@Grinch)
- [x] ShatteringData (@clienthax)
- [x] ShearedData (@clienthax)
- [x] SittingData (@clienthax)
- [ ] SizeData (@hsyyid / @meronat) - https://github.com/SpongePowered/SpongeCommon/pull/1492
- [x] SkeletonData (@sanman00)
- [x] SkinData (@simon816)
- [ ] SleepingData (@sanman00) - https://github.com/SpongePowered/SpongeCommon/pull/1488
- [x] SlimeData (@Aaron1011)
- [x] SneakingData
- [x] SprintData (@kashike)
- [x] StatisticData (@ST-DDT / @windy1)
- [x] StuckArrowsData (@kashike)
- [x] TagData (@meronat) - https://github.com/SpongePowered/SpongeCommon/pull/1490
- [x] TameableData (@gabizou)
- [x] TargetLivingData (@Me4502)
- [x] TradeOfferData (@Rain336)
- [x] VehicleData (@hsyyid)
- [x] VelocityData (@gabizou)
- [x] VillagerZombieData (@Aaron1011)
**ItemData**
- [x] AuthorData (@lucdon)
- [x] BlockItemData (@kenzierocks)
- [x] BreakableData (@JBYoshi)
- [x] CoalData (@JBYoshi)
- [x] CookedFishData (@JBYoshi)
- [x] DurabilityData (@Rain336)
- [x] EnchantmentData (@gabizou)
- [x] FishData (@JBYoshi)
- [x] GenerationData (@JBYoshi)
- [x] GoldenAppleData (@Aaron1011)
- [x] HideData (@Rain336)
- [ ] InventoryItemData - Requires Inventory implementation
- [x] LoreData (@lucdon)
- [ ] MapItemData - Needs Map API in general
- [x] PagedData
- [x] PlaceableData (@JBYoshi)
- [x] SpawnableData (@Rain336)
- [x] SplashPotionData
- [x] StoredEnchantmentData (@Rain336)
**BlockData**
- [x] AttachedData (@lucdon)
- [x] AxisData (@lucdon)
- [x] BigMushroomData (@lucdon)
- [x] BrickData (@lucdon)
- [x] ComparatorData (@lucdon)
- [x] ConnectedDirectionData (@lucdon)
- [x] DecayableData (@lucdon)
- [x] DelayableData (@lucdon)
- [x] DirectionalData (@lucdon)
- [x] DirtData (@lucdon)
- [x] DisarmedData (@lucdon)
- [x] DisguisedBlockData (@lucdon)
- [x] DoublePlantData (@lucdon)
- [x] DropData (@lucdon)
- [x] ExtendedData (@lucdon)
- [x] FilledData (@Me4502)
- [x] FluidLevelData (@Me4502)
- [x] GrowthData (@lucdon)
- [x] HingeData (@lucdon)
- [x] InWallData (@lucdon)
- [x] LayeredData (@lucdon)
- [x] LogAxisData (@gabizou)
- [x] MoistureData (@Me4502)
- [x] OccupiedData (@lucdon)
- [x] OpenData (@lucdon)
- [x] PistonData (@lucdon)
- [x] PlantData (@lucdon)
- [x] PortionData (@lucdon)
- [x] PoweredData (@lucdon)
- [x] PrismarineData (@lucdon)
- [x] QuartzData (@lucdon)
- [x] RailDirectionData (@lucdon)
- [x] RedstonePoweredData (@lucdon)
- [x] SandData (@lucdon)
- [x] SandstoneData (@lucdon)
- [x] SeamlessData (@lucdon)
- [x] ShrubData (@lucdon)
- [x] SlabData (@lucdon)
- [x] SnowedData (@lucdon)
- [x] StairShapeData (@lucdon)
- [x] StoneData (@lucdon)
- [x] SuspendedData (@lucdon)
- [x] TreeData (@lucdon)
- [x] WallData (@lucdon)
- [x] WireAttachmentData (@JBYoshi) - https://github.com/SpongePowered/SpongeCommon/pull/1934
**Common Data**
- [x] ColoredData (@kenzierocks)
- [x] CommandData (@sanman00)
- [x] DisplayNameData
- [x] DyeableData (@Rain336)
- [x] FireworkEffectData (@ZephireNZ)
- [x] FireworkRocketData (@ZephireNZ)
- [x] MobSpawnerData (@ZephireNZ)
- [x] PotionEffectData (@gabizou)
- [x] RepresentedItemData
- [x] RepresentedPlayerData (@saladoc)
- [x] RotationalData (@Rain336)
- [x] SkullData
- [x] TargetedLocationData (@kashike)
- [x] WetData (@sanman00)
Updated as of January 30, 2018
1 Like
Thanks for your help.
setRotation
has no affect
mob.setRotation(new Vector3d(0, -0.5, 0)); (I tested some varieties)
extent.spawnEntity(mob, null);
The entity is only being rendered upside down due to a rendering quirk by Mojang. Any entity with the name Dinnerbone or grumm will be rendered upside down.
Really? You should change the name on the tutorial! It works now …
facepalm
Saladoc
September 16, 2015, 6:42pm
6
You’re right, that easteregg really adds confusion. The name will be changed.
@simon816
Is the DataProcessors list up-to-date? And is it possible to have some wishes to make it possible for me to continue?
Cheers
The list should be up to date.
There is a thread to request for data to be implemented, though I’m not sure if it’s still being looked at
So, as it has come to light that many developers are trying to write plugins for SpongeAPI, a lot of the Data API has yet to actually be implemented. As the issue list can be viewed for the checklist, of course, there are some priorities for implementation.
So now I ask, what data manipulators do YOU want to be implemented first? (this is more along the lines of prioritizing the implementation for what developers need first than just writing from the top of the list).
Priority List:
BlockSta…