Jump to content

1.8 Armour Stands we should have


 Share

Recommended Posts

They are different types of armour stands on the server that we should somehow get

 

VdtzBGf.png                                   Armour stands! Now with actual arms that can hold weapons and items

 

l4CHCnS.png                                    Mini Armour stands! Just imagine having mini figures of your favorite players in your base or mini mayors at towns - also arms!

 

3dAia7v.pngAlso ones with swords aiming down which require a specific command so we may be unable to get them exact

 

Anyway armour stands are cool as fuck so we should get them as good as we can on the servers.

 

TLDR: Get these stands

Edited by treeninjainatree
  • Upvote 1
Link to comment
Share on other sites

A plugin or CH command could be written that would allow players to place custom armor stands so long as they have an existing armor stand in front of them or in their inventory. The current command to produce these custom stands may be OP only in vanilla minecraft, but nerd runs spigot and that means it isn't impossible to find a way - if there is an interest in doing so.

  • Upvote 7
Link to comment
Share on other sites

A plugin or CH command could be written that would allow players to place custom armor stands so long as they have an existing armor stand in front of them or in their inventory. The current command to produce these custom stands may be OP only in vanilla minecraft, but nerd runs spigot and that means it isn't impossible to find a way - if there is an interest in doing so.

:D 

Link to comment
Share on other sites

[23:26:23]  jchance: Dumbo52 I have pinged you https://nerd.nu/forums/topic/3159-18-armour-stands-we-should-have/#entry24783

[23:26:41]  jchance: in a very public fashion, therefore you must respond

[23:26:46]  jchance high fives

[23:26:50]  jchance: GO TEAM!

[23:27:53]  Dumbo52: I don't even think the Bukkit API supports armor stands yet, but I guess I'll figure out a way...

[23:30:39]  Dumbo52: jchance: My only criterion is that you must come up with a name for it first. I hate thinking up plugin names.

[23:30:49]  jchance: NerdStands

[23:30:58]  jchance: EasyStands

[23:31:09]  jchance: STANDMASTER9000

[23:31:20]  jchance: pls use Standmaster9000

[23:31:42]  Dumbo52: Ok, will do.

 

 

 

 

There you go-  Standmaster9000®  plugin coming Soon™.

  • Upvote 2
Link to comment
Share on other sites

So i was eating a bagel a few minutes ago and thinking about this, and decided I'd look up how people did the armor stands with arms like ninja posted those pics of, and i learned it's just nbt tags. Now I'm no master coder or anything, i don't know if there's a way using the bukkit api to summon entities with specific nbt data or not... but i know commandhelper has a simple command that lets you run another command as if an OP were running it.

 

so i wrote a super simple ch alias that anyone with a server running commandhelper can drop in and test.

*:'/chsummon' = >>>
    sudo('/summon ArmorStand ~ ~ ~ {ShowArms:1}')
<<<

that'll summon a plain armor stand with arms. modifying that nbt tag area can let you do all sorts of fun stuff.

http://minecraft.gamepedia.com/Armor_Stand#NBT_data

 

I also found this plugin that someone wrote that allows you to modify armor stands in all sorts of angles and positions in-game, but i haven't tested it. Maybe it could be of interest to anyone looking to write a plugin instead of implementing a ch command that checks for the presence of an armor stand nearby the player or in the player's inventory and then issues the summon command. http://www.spigotmc.org/resources/armor-stand-tools.2237/

 

I don't think there would be any security concerns with players being able to run a command that uses op perms just for a summon command, as long as the rest of the ch command were written well with the proper checks in place - but then I am not a tech and don't know the repercussions of such magical things in the hands of the ignorant or malicious.

 

I'd be interested in hearing from any techadmins who are going to pursue this, whether this seems like a viable option - and if not what the concerns would be.

Link to comment
Share on other sites

Depends on if you can lock in part of the command and have the player only define the arm placement. Still need a way of checking for a stand, though.
I think editing the preexisting stand in the world would be less likely to be accidentally abusable. I think. Identify block one block to the north of the player (or general cardinal direction player is facing depending on difficulty), if non-armorstand return error if armorstand check for relevant NBT, if present replace if not add.

Edited by Pyr0mrcow
Link to comment
Share on other sites

So i was eating a bagel a few minutes ago and thinking about this, and decided I'd look up how people did the armor stands with arms like ninja posted those pics of, and i learned it's just nbt tags. Now I'm no master coder or anything, i don't know if there's a way using the bukkit api to summon entities with specific nbt data or not... but i know commandhelper has a simple command that lets you run another command as if an OP were running it.

 

so i wrote a super simple ch alias that anyone with a server running commandhelper can drop in and test.

*:'/chsummon' = >>>
    sudo('/summon ArmorStand ~ ~ ~ {ShowArms:1}')
<<<

that'll summon a plain armor stand with arms. modifying that nbt tag area can let you do all sorts of fun stuff.

http://minecraft.gamepedia.com/Armor_Stand#NBT_data

 

I also found this plugin that someone wrote that allows you to modify armor stands in all sorts of angles and positions in-game, but i haven't tested it. Maybe it could be of interest to anyone looking to write a plugin instead of implementing a ch command that checks for the presence of an armor stand nearby the player or in the player's inventory and then issues the summon command. http://www.spigotmc.org/resources/armor-stand-tools.2237/

 

I don't think there would be any security concerns with players being able to run a command that uses op perms just for a summon command, as long as the rest of the ch command were written well with the proper checks in place - but then I am not a tech and don't know the repercussions of such magical things in the hands of the ignorant or malicious.

 

I'd be interested in hearing from any techadmins who are going to pursue this, whether this seems like a viable option - and if not what the concerns would be.

Yeah I tried to get MrLoud to do this and thats what led me to make this post because /summon doesnt work for anyone not OP and so I thought that the Tech admins may make a plugin of some sort to get around it 

Link to comment
Share on other sites

What i wrote above might sound simple - and it is in principle - but implementation is another thing. Trying to take into consideration all the ways that players may accidentally or intentionally abuse it, how it might break or cause problems, etc. means a lot of careful thought has to go into anything like this if non-staff have access to it.

 

I don't think a fully-featured armor stand configuration suite should be a high priority for the techadmins compared with some of the other projects that they were working on when i was last privy to admin meeting discussions (website, improved techadmin collaboration tools, automatic rollback plugins for grief, etc.) But I do think someone with CH experience could make at least a basic interface for players or mods to have access to these three different armor stand configurations:

 

* normal with arms

* short with arms

* short with no arms

 

/stand

/stand small

/stand smallnoarms

 

Maybe a bukkit plugin is better. I don't know - I'm not a plugin dev. I just know it is possible using commandhelper for the basic functionality. The real tricky part is preventing accidents and abuse if regular players have access to this.

 

CH lacks the ability to edit NBT data in entities directly, but vanilla minecraft may have a command for that which CH could sudo() like the summon command. I would worry about people using it to edit others' armor stands though. I also don't know what would happen to any items the armor stand is holding or wearing if you remove its arms directly. I think the best/simplest thing is to just have a command that lets you place the custom stands, rather than edit existing ones.

 

Placement should be logged somehow. CH does not integrate with logblock, PRISM, Coreprotect, etc., so probably the simplest thing would be to log placement details to the console for admins to check in the case of armor stand spam via the command - and possibly an in-game notification to mods on C if they are already getting them for regular armor stand placements or item frames.

 

I think if it were my server, I would let it be something that can be modreq'd. Roll out a quick and easy CH alias that all mods have access to. Maybe work on the plugin in spare time when other projects are not urgent or high priority, but if you want a quick fix with little fuss, make it a modreq'able affair. Yeah it means more work for staff to fill the reqs, but i doubt it would be as frequent as flowing water reqs.

 

Maybe writing a plugin is easier for dumbo or another tech than I imagine it to be compared to writing a couple of aliases for mods to use. But this is something that could be written in CH using the sudo() workaround in a fairly short period of time. Just need to toss on the other two forms, a check for staff perms, a message to the console.

 

---

 

I realized while writing this that I spent more time writing it than i would have just writing the darned ch script if it's for moderator usage, so i stopped and went and wrote it.

*:'/armorstand' [$] = >>>
    _assertperm('restricted')
    if ($ == '') {
        msg(color(DARK_GREEN).'usage: /armorstand <type>')
        msg(color(DARK_GREEN).'types: arms, small, smallarms')
        die()
    }
    if ($ == 'arms') {
        sudo('/summon ArmorStand ~ ~ ~ {ShowArms:1,Rotation:['.pfacing()[0].'f]}')
    }
    if ($ == 'small') {
        sudo('/summon ArmorStand ~ ~ ~ {Small:1,Rotation:['.pfacing()[0].'f]}')
    }
    if ($ == 'smallarms') {
        sudo('/summon ArmorStand ~ ~ ~ {Small:1,ShowArms:1,Rotation:['.pfacing()[0].'f]}')
    }
    console(player().' summoned armor stand at x:'.ploc()[0].', y:'.ploc()[1].', z:'.ploc()[2].', world:'.ploc()[3])
<<<

forgive my derpy ploc() array referencing... I'm a bit rusty and tired, and can't remember how to pull out a sequence of values from an array and don't feel like looking it up.

 

done some minimal testing, only problem I noticed is that it doesn't align to grid like manually placed armor stands. it creates an armor stand exactly where the player issuing the command is standing in the direction they are facing (yaw, not pitch. Not sure what nbt tag matches pitch on these). recommend adding this to nerdch and letting mods handle reqs for these three custom armor stand placement dealios.

 

---

 

edit: actually now i think about it this sort of setup might be a pain if the modreqing player has placed a lot of armor stands :/

might be possible to do something with pcursor() and entity_loc()

 

edit2: preliminary tests with pcursor() worked ok, except if you have more than one armor stand in a small area, like one adjacent to the one you are aimed at - in which case entities_in_radius() tries to get both of them and i don't know how to figure out which is which in the resulting list. Setting radius to 1 returns no results, but setting it to 2 checks too large of an area - and it only accepts full integers not floats.

Edited by Mumberthrax
  • Upvote 1
Link to comment
Share on other sites

What i wrote above might sound simple - and it is in principle - but implementation is another thing. Trying to take into consideration all the ways that players may accidentally or intentionally abuse it, how it might break or cause problems, etc. means a lot of careful thought has to go into anything like this if non-staff have access to it.

 

I don't think a fully-featured armor stand configuration suite should be a high priority for the techadmins compared with some of the other projects that they were working on when i was last privy to admin meeting discussions (website, improved techadmin collaboration tools, automatic rollback plugins for grief, etc.) But I do think someone with CH experience could make at least a basic interface for players or mods to have access to these three different armor stand configurations:

 

* normal with arms

* short with arms

* short with no arms

 

/stand

/stand small

/stand smallnoarms

 

Maybe a bukkit plugin is better. I don't know - I'm not a plugin dev. I just know it is possible using commandhelper for the basic functionality. The real tricky part is preventing accidents and abuse if regular players have access to this.

 

CH lacks the ability to edit NBT data in entities directly, but vanilla minecraft may have a command for that which CH could sudo() like the summon command. I would worry about people using it to edit others' armor stands though. I also don't know what would happen to any items the armor stand is holding or wearing if you remove its arms directly. I think the best/simplest thing is to just have a command that lets you place the custom stands, rather than edit existing ones.

 

Placement should be logged somehow. CH does not integrate with logblock, PRISM, Coreprotect, etc., so probably the simplest thing would be to log placement details to the console for admins to check in the case of armor stand spam via the command - and possibly an in-game notification to mods on C if they are already getting them for regular armor stand placements or item frames.

 

I think if it were my server, I would let it be something that can be modreq'd. Roll out a quick and easy CH alias that all mods have access to. Maybe work on the plugin in spare time when other projects are not urgent or high priority, but if you want a quick fix with little fuss, make it a modreq'able affair. Yeah it means more work for staff to fill the reqs, but i doubt it would be as frequent as flowing water reqs.

 

Maybe writing a plugin is easier for dumbo or another tech than I imagine it to be compared to writing a couple of aliases for mods to use. But this is something that could be written in CH using the sudo() workaround in a fairly short period of time. Just need to toss on the other two forms, a check for staff perms, a message to the console.

 

---

 

I realized while writing this that I spent more time writing it than i would have just writing the darned ch script if it's for moderator usage, so i stopped and went and wrote it.

*:'/armorstand' [$] = >>>
    _assertperm('restricted')
    if ($ == '') {
        msg(color(DARK_GREEN).'usage: /armorstand <type>')
        msg(color(DARK_GREEN).'types: arms, small, smallarms')
        die()
    }
    if ($ == 'arms') {
        sudo('/summon ArmorStand ~ ~ ~ {ShowArms:1,Rotation:['.pfacing()[0].'f]}')
    }
    if ($ == 'small') {
        sudo('/summon ArmorStand ~ ~ ~ {Small:1,Rotation:['.pfacing()[0].'f]}')
    }
    if ($ == 'smallarms') {
        sudo('/summon ArmorStand ~ ~ ~ {Small:1,ShowArms:1,Rotation:['.pfacing()[0].'f]}')
    }
    console(player().' summoned armor stand at x:'.ploc()[0].', y:'.ploc()[1].', z:'.ploc()[2].', world:'.ploc()[3])
<<<

forgive my derpy ploc() array referencing... I'm a bit rusty and tired, and can't remember how to pull out a sequence of values from an array and don't feel like looking it up.

 

done some minimal testing, only problem I noticed is that it doesn't align to grid like manually placed armor stands. it creates an armor stand exactly where the player issuing the command is standing in the direction they are facing (yaw, not pitch. Not sure what nbt tag matches pitch on these). recommend adding this to nerdch and letting mods handle reqs for these three custom armor stand placement dealios.

 

---

 

edit: actually now i think about it this sort of setup might be a pain if the modreqing player has placed a lot of armor stands :/

might be possible to do something with pcursor() and entity_loc()

Thats sort of why I said at the start of this post we may just use the large with arms, the small and the small with arms not having people have specifically set up ones in different directions

Link to comment
Share on other sites

Would it be possible to set this up with powertools? If it's possible for names of items to be checked, treat armor stands with the name "Armed", "Small", and "Small Armed" as special cases. Upon attempted placement, deny placement, consume item, create specified stand type at targeted block facing player. Then, a person could just rename the stand and place whatever version they want.
Relies on having a way for powertools to check item names though.

Link to comment
Share on other sites

This seems to have mostly turned into a discussion about the technical details of how this will be implemented, which I'm happy to share with you.

 

The main reason I'm hesitant to use CH to write this is that the /summon command doesn't go through any of the checks that manually placing armor stands does. Most notably, it's not caught by WorldGuard, so I could spam armor stands all over spawn or any other protected area if I felt like it.

 

I think the best way of going about this is to treat it similarly to the /painting command: the next armor stand you place will have the properties you specified previously (in fact, it might be worth moving the /painting command into this plugin). That avoids the problem of having to check that a stand is actually yours (in your region) if the command were to modify the armor stand you're looking at. I was wrong about the Bukkit API not supporting armor stands -- it fully supports them, including all of the fun features represented by armor stands' NBT data, so this will be easiest done with a Bukkit plugin. I imagine it might be a little difficult for some users to figure out, so allowing the use of some presets might also be nice.

 

Look forward to this by the end of the week or so.

  • Upvote 4
Link to comment
Share on other sites

Ooh...if I read that right, we'll be able to modify parts of the NBT tags? Looking forward to it a lot more if that's the case :D

 

I don't know about allowing this specifically on PvE, but Creative might benefit from use of the invisibility tag. The floating items bring out a few extra uses.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...