Handles #1549


  • Started
  • Enhancement
Open
  • dwboygamerofficial created this issue May 20, 2018

    Handles, as you propably already know was Cyberman head companion of 11th Doctor in his final story The Time Of The Doctor. I believe, that Handles might be excellent addition to TARDIS plugin as well.

     

    How it could be done:

    Handles could be custom player head, so it would not require recource pack. There is however no need for any real Minecraft account to have Handles skin, because it is possible to add custom heads/skins using this website: https://mineskin.org/

    Once custom head is generated, it gives you data you can use with ProtocolLib plugin to add custom head.

     

    Handles could be very rare drop from Cyberman (from TARDISWeepingAngels plugin)

     

    You could place Handles either on ground (will drop itself once mined) or just keep it in the hotbar. If one of these conditions is true, handles will hear you. If player has multiple Handleses, only one of them will be used.

     

    What would it do:

    There could exist different voice commands Handles would obey. Here are some idead of those voice commands. Just write commands in the chat and Handles will responce (I also made several alternative versions of commands).There should also prefix for commands so that it would be easier to detect regular chatting from voice commands. More about prefix later

    - call my TARDIS here/TARDIS call/call TARDIS/TARDIS here

    - takeoff TARDIS/takeoff my TARDIS/takeoff/TARDIS land

    - land TARDIS/land my TARDIS/land/TARDIS land

    - hide TARDIS/TARDIS hide/hide/hide my TARDIS

    - rebuild TARDIS/TARDIS rebuild/rebuild/rebuild my TARDIS

    - beam me up/tp TARDIS/teleport TARDIS/tp to TARDIS/teleport to TARDIS/teleport to the TARDIS/tp to the TARDIS

    - travel to save [save]/save [save] (If inside the TARDIS, it will set destination, if outside, TARDIS will travel give destination remotely)

    - travel to player [player]/player [player] (If inside the TARDIS, it will set destination, if outside, TARDIS will travel give destination remotely)

    - travel to area [area]/area [area] (If inside the TARDIS, it will set destination, if outside, TARDIS will travel give destination remotely)

    - travel [anything]/ travel to [anything (Handles will give you help about how to give voice commands about traveling)

    - scan/scanner

    - how do I craft [insert item here]/how to craft [insert item here]/craft [insert item here]/how to [insert item here] how [insert item here]

    - lock/lock TARDIS/lock the TARDIS/lock my TARDIS

    - unlock/unlock TARDIS/unlock the TARDIS/unlock my TARDIS

    - remind me to [insert thing to remind here] (Handles would simply ask when)

    - say [something] (Handles will say what you asked it to say)

    - who am I/what is my name/my name (Handles would tell you your name)

    - what is the time/clock/time (Handles will tell you ingame time)

    If command is invalid, Handles will say "Sorry, that is not available command"

     

    Before voice command itself, there would be prefix. By default it would be "Hey Handles" (not case-sensitive). This could, however be changed in the config to be something else.

     

    In order not to make Handles too op, there should be certain radius where Handles can hear you. By default it could be 30 blocks. However, if player crafts and wear communicator device, players own Handles will be able to hear player even if they are in separated dimensions. Also, if companion uses Telepathic circuit, he will be able to give voice commands for the Handles, but only if Handles is placed on the ground by its owner (and within radius)

     

    Communicator:

    I already explained how it works. It could be crafted like this:

    Communicator would be wearable item:

    Permissions:

    tardis.handles.obtain (allows player to obtain Handles as a loot)

    tardis.handles.use (allows player to actually use Handles)

    tardis.handles.communicator (allows player to use communicator)

    tardis.handles.admin (allows player to speak for his Handles even from separate dimensions even if player doesnt have communicator)

    tardis.handles.tp (allows player to use Handles to teleport inside his TARDIS via command)

    tardis.handles.remote (allows player to remotely make TARDIS travel for given destination via Handles)

    tardis.handles.scan (allows player to use TARDIS scan even outside of the TARDIS)

    If player has tardis.handles.admin he can use all of the feature of the Handles even if he doesnt have separated permissions to use them

    How handles might look like (ignore armorstand):

     

    Overall, Handles could be alternative way of controlling the TARDIS. There could also be way of making custom commands via configuration files. Here is btw skin my Handles uses (do whatever you want with it). 

  • dwboygamerofficial added a tag Enhancement May 20, 2018
  • dwboygamerofficial edited description May 20, 2018
  • eccentric_devotion posted a comment May 23, 2018

    I quite like this idea, but feel it needs something more, perhaps combining with this suggestion:  In-Game Programming / logic gates

     

    Also I don't think you actually need the alternative commands, just the prefix and a keyword, so if the player types:

    "Hey Handles blah blah hide blah" or

    "Hey Handles hide blah blah blah" or

    "Hey Handles blah blah blah hide"

    It knows to hide the TARDIS.

     

    You don't need ProtocolLib either.

     

    Also think Handles should only be able to be placed inside the TARDIS on a pedestal (a single fence or cobblestone wall) and must be carried in the inventory when out and about.

  • dwboygamerofficial posted a comment May 23, 2018

    Oh I didnt know you dont need ProtocolLib for that. Anyway, using just keyword and prefix is good idea, and so is Handles pedestal. On my server I like to keep my Handles (Yes, some of the ideas mentioned in this already exist on my server) on armorstand, so that I can take him and put him back in place when ever I like without having to rename him back to "Handles" all the time.

     

     

  • eccentric_devotion posted a comment May 23, 2018

    I should be able to get the plugin to rename Handles after he has been placed, but maybe just using an armour stand for the pedestal would be simpler...

  • eccentric_devotion posted a comment May 24, 2018

    Handles model

    Custom block model, not final texture


    Edited May 24, 2018
  • dwboygamerofficial posted a comment May 24, 2018

    Well that looks great! I love it! Which block are you going to give that custom model btw.?

  • eccentric_devotion posted a comment May 24, 2018

    At the moment it uses light grey glazed terracotta, which works quite well because it is directional (and I really don't like the default glazed textures).

    It does have an issue though, in that if it isn't placed on a pedestal the bounding box makes the block it is placed on transparent. Might have to use something like the end rod, but that doesn't rotate when placed in different directions. Will have to experiment a bit more...

     

  • eccentric_devotion posted a comment May 25, 2018

    New texture, and some interactivity, plus solved the transparent block issue :)

  • dwboygamerofficial posted a comment May 27, 2018

    looks great :)

  • dwboygamerofficial posted a comment May 27, 2018

    Little side question (I know this has nothing to do with Handles): In TARDISWeepingAngels plugin you are able to build Weeping Angel from blocks, but I dont remember how (I couldnt find any pictures about it). Could you tell me?

  • dwboygamerofficial posted a comment May 27, 2018

    thanks :)

  • eccentric_devotion added a tag Started May 28, 2018
  • eccentric_devotion posted a comment May 31, 2018

    ~3000 lines of code added so far...

  • dwboygamerofficial posted a comment May 31, 2018

    sounds good. What do you think, ho many more lines of code it will take until it is finished?

  • eccentric_devotion posted a comment Jun 1, 2018

    If TARDISWeepingAngels is not installed on the server,  how do you get Handles?

  • dwboygamerofficial posted a comment Jun 1, 2018

    Maybe via crafting? Maybe it should be crafted with skeleton skull surrounded with iron ingots? Somethingt like that?

  • dwboygamerofficial posted a comment Jun 1, 2018

    Oh yeah, one more thing I forgot to mention. Long time ago I suggested adding gramophoned for the TARDIS plugin. If those ever get added, you could say "Hey Handles, play [music]" to play specific music used by the gramophone via Handles.


    Edited Jun 1, 2018
  • eccentric_devotion posted a comment Jun 2, 2018

    There is a build ready for testing on the Jenkins server...

    1. /tardisrecipe handles/tardisgive [player] handles 1
    2. /tardisrecipe communicator/tardisgive [player] communicator 1
    3. Handles can only be placed inside the TARDIS
    4. Outside the TARDIS you can only communicate with Handles if he is in your inventory (so no need for a radius config option), or you have a communicator (and Handles is placed in the TARDIS)
    5. Keywords for chat processing are: "takeoff", "land", "scan", "lock", "unlock", "remind", "say", "name", "time", "travel" - travel can be to "home", "save" [name], "player" [name], "area" [name], "biome" [name] - normal tardis permissions apply
    6. Config options:

      allow:
          handles: true #whether Handles is enabled on the server (requires restart)
      ...
      handles:
          prefix: Hey Handles #the key word to trigger Handles chat processing
          reminders:
              enabled: true #whether reminders are enabled
              schedule: 1200 #number of ticks between reminder checks (1200 = 1 minute)
    7. Reminders need to have the number of minutes (until the reminder) as the last part of the handles request e.g. hey handles remind me to [do something] in 5 (reminder times will not be 100% accurate, because the plugin only checks for reminders every minute - can be changed in the config)
    8. Clicking on a placed handles plays a Handles voice snippet (TARDIS-SoundResourcePack / BMV have been updated)
    9. TARDIS-MCP resource pack has been updated with the Handles model and textures - the Handles block is GRAY_GLAZED_TERRACOTTA, but this will change once 1.13 comes out (to a BIRCH_BUTTON)
    10. Clicking on Handles while sneaking opens the Handles Programming GUI (this is a WIP, you can create program disks, but the code on them isn't actually processed yet, disks can be renamed with a /handles disk [name] command). More on this later, but it should extend Handles' functionality a bit with events and more actions and will work with Advanced Console Disks
    11. Permissions are:

      tardis.handles:
          description: Allow players to use the Handles companion.
          children:
              tardis.handles.use: true
              tardis.handles.communicator: true
              tardis.handles.program: true
          default: op

    There may be changes, so I'd recommend running on a test server for now...


    Edited Jul 13, 2018
  • dwboygamerofficial posted a comment Jun 3, 2018

    Looking good!

  • xXGATTXx posted a comment Mar 11, 2019

    Hey, is it a problem if i ask you to update the wiki on the plugin to have the handles programming tutorial. hope not. ps this is addressed to eccentricnz

     

     

    EDIT: The travel player command doesn't work with underscores


    Edited Mar 12, 2019

To post a comment, please login or register a new account.