Jump to content

totemo

Tech Admins
  • Posts

    795
  • Joined

  • Last visited

Everything posted by totemo

  1. The main things would be just team name, chat prefix and suffix if that's a concept, and team colour. And membership of course. A custom TeamMembershipEvent would probably be helpful when a player is assigned to a different team.
  2. Is it really necessary to have a separate server for each team? Are they really separate servers or is it something like Multiverse Portals? How do you plan on synchronising team membership state between the servers? What about shared global chat? Does the code for all that already exist? I've been looking at what the Bukkit API provides for managing teams and scores - the Scoreboard API. There are pros and cons. On the plus side, the underlying vanilla Minecraft code manages team membership persistence. On the minus side, scoreboards in the sidebar refuse to display if more than 15 players have scores set for a particular objective. I need to push on with the players-as-mobs plugin so I am going to be building a team abstraction today that allows team membership information to be taken from the Scoreboard API (I need to efficiently map from Player to team for event handlers, might end up just being metadata). That will allow me to do testing without having an updated CutePVP plugin and I can manage teams with the /scoreboard command. And if another team management mechanism gets written I can just swap out that abstraction. The way I now understand the Scoreboard API it's unsuited for actually tracking scores (kills, deaths, flag captures) in events of this size because when you add the complete information for all players, you suddenly can't show the scoreboard. Instead I think it's more like a broadcast billboard that we can put up on vanilla clients. Every few minutes, fill in a scoreboard with a subset of the total score information (at most 15 entries), show that to the players for 30 seconds or so, and then clear it off their screens. Probably implement a command to let players opt out of that. It's a nicety, but something I'd like to work on once I've got the main features of the plugin in a completed state. It's also possible to abuse the Scoreboard mechanism to show total scores; you create an OfflinePlayer called Red and another called Blue, and then you can add objectives and set the score values to be the total for the whole team.
  3. Alright. I couldn't be quite sure who was breeding the pigs. All I could tell for sure was that you and kmankris101 had both been harvesting a lot of carrots there, and that the breeding was still going on. Please read my remarks here: https://nerd.nu/forum/index.php?/topic/306-kmankris101-totemo/#entry2231 and confirm below that you have read them. Also, tell me if there is anyone else that we need to talk to about this.
  4. Ah yes. I showed up at they farm yesterday looking at some crop grief and my framerate slowed to a crawl. In all there were over 1200 pigs by my count. At that time we weren't quite sure who was breeding so many pigs. When you and slicace bred over 500 more later in the day I was able to confirm your identities. The number of animals you had there was completely excessive and unnecessary. Artificial intelligence code in Minecraft contributes significantly to server lag and it is in the best interests of all players not to have more animals than they need. We don't have a specific written rule to cover the lag-inducing nature of this farm, but be aware that for the last few revisions PvE has been running a plugin to limit the number of farm animals. The reason you were both banned was because I wanted to make sure that you received the warning, which could not be guaranteed with in-game mail. Before I unban you I need you to confirm that you have read the above, and tell me if there any other people connected with this build that need to be informed. I will link this comment for slicace's appeal.
  5. The reason you haven't been unbanned is that you haven't fulfilled the requirements set out in the original appeal.
  6. Or instead of setting infinite health, set "invulnerableticks" to some huge number. That's the number of ticks that the creature won't take damage after spawning. I forgot to mention that I also added a ZombieVillager predefined type (self-explanatory) and just now I added "baby" (true/false) and "agelocked" (true/false - if true, never grow up) attributes. The baby and agelocked attributes apply to animals and villagers only. The Bukkit API is somewhat inconsistent in this regard, since it is also possible to make a baby zombie villager, but not using the same Bukkit API (Ageable). I added another predefined type: BabyZombieVillager. Unlike animals and villagers, it is not possible (and yes I am using the phrase "not possible" in the conventional programming jargon sense to mean "not fun to do") to prevent this creature from growing up, since it is actually a variation on Zombie. I added red and blue clad variations to the example configuration:
  7. As of yesterday, I have added support for arbitrary RGB (red, green, blue in the range 0 to 255 inclusive) leather colours. The example configuration has RedSkeleton and BlueSkeleton to demonstrate this. The SpecialVillager type in the configuration is also configured to wear a red leather chestplate, but Bukkit, or more probably the underlying vanilla Minecraft code ignores this. I also added pre-defined types for villager professions: Blacksmith, Butcher, Farmer, Librarian, Priest. For example: /doppel spawn here priest The only other thing I can think of that might be missing at the moment is the ability to request the baby form of mobs, e.g. baby zombies. I'll add that soon. Denevien filled me in on the context of the desire for armoured villagers. The only other way I can think of doing it would be to make passive armoured skeletons or zombies. To make a hostile mob passive, in Bukkit terms, requires the cancellation of the specific EntityTargetEvent raised when the hostile targets a player. I could add this to Doppelganger, but I'm disinclined to because it adds extra complexity (managing a list of passive creatures, dealing with restarts) and opportunities to go wrong that aren't needed otherwise. I'd be more inclined to put the functionality in a separate plugin that maintains a list of box shaped regions where the event is cancelled. That would be simple. But perhaps an even simpler approach in the first instance would be to ask LadyCailin if she would do a CommandHelper script to cancel the target_player event (http://wiki.sk89q.com/wiki/CommandHelper/Staged/Event_API) in a box with hard-wired coordinates that you specify, since it would avoid all of the effort associated with making a full-blown configurable plugin.
  8. As discussed in mumble, for the next week or two your exams/studies should be your top priority and we'll put this appeal on the backburner until that's done. When that's done I will be requiring that you justify many mining edits in great detail. Since this appeal is probably the subject of a lot of uninformed speculation, here are the edits that led to your ban.
  9. Since you mentioned it, let's start with this edit: What were the circumstances of you finding it? Did you help build the rail tunnel or was this a separate mine? Approximately when did you first discover it?
  10. In the last week you have mined about 2,500 stone in the service of Pico's rail effort. None of the suspect mining edits were in any way related to that. Please go ahead and post all of the evidence that relates to the diamonds and emeralds that you mined in the last 24 hours. In the mean time I will be sanitising my screenshots of coordinates that might help you to fabricate evidence in your defence. I'll advise you that in the case of at least one rail tunnel the edits by the player who made it are still in the logs. He is not one of your alts and he has told me that he does not know who you are.
  11. I just logged in and saw the updated theme. Absolutely love it. Thank you so much, Weazol.
  12. Since Deaygo has stated that he and slide23 are working on CutePVP, I'm leaving that to them. The first thing I'm doing is the mob disguise feature as a plugin layering on top of probably DisguiseCraft, since MobDisguise doesn't appear to have been maintained. It will have a simple API, basically just requiring CutePVP to tell it what team a player is in.
  13. As long as there is a named placeable item involved. It doesn't have to be a pumpkin. Some of the example recipes involve placing an actual skull as the head to summon the beast.
  14. Thank you for your sincere appeal. Your ban dates back to February and the ban duration has expired. To be unbanned, simply read the rules (http://nerd.nu/rules) and reply below, quoting the rule you violated. I do remember your ban. I used it to train a couple of moderators on xray investigation. Here's a couple of screenshots of what moderators see when we think someone is xraying. I should add: those are the actual mines that resulted in your ban.
  15. Per discussion with tompreuss this morning, I've added the ability to set the default name of a creature in the configuration. If the creature is spawned without a name specified (either by command, or because the creature is escorting another creature), then it will take its default name if set. So if, for example, you want buzzie71 to spawn whenever thrawn21 appears, configure a creature type for both and set the buzzie71 creature as an 'escort' of thrawn21, with minimum number of escorts set to 1. Beware though, I'm not currently checking for (direct or indirect) mutual-recursion of creatures and their escorts, so if buzzie71 is thrawn21's escort and vice-versa, the plugin will spawn a thrawn21, then a buzzie71 as an escort, then another thrawn21 to escort buzzie71, and so on until the server collapses in a screaming heap. If you do need escorts to be spawned, either way, you can safely achieve the effect with an extra level of indirection (confirmed by testing): creatures: buzzie71_creature: defaultname: buzzie71 spawn: Skeleton thrawn21_creature defaultname: thrawn21 spawn: Skeleton buzzie71: spawn: buzzie71_creature escorts: min: 1 summon: - weight: 1.0 spawn: thrawn21_creature thrawn21: spawn: thrawn21_creature escorts: min: 1 summon: - weight: 1.0 spawn: buzzie71_creature In the example configuration, for creature type Notch, I set a default name of Notch, so to spawn a creature with Notch's head by command, you can now just write: /doppel spawn here Notch instead of: /doppel spawn here Notch Notch If a name is specified, or the default name applied, the creature gets a name tag and wears the corresponding player's head. If a mask has been set, the creature will wear that player's head instead. (The name tag stays the same.) To allow for a use case where you want escorts to have name tags, but keep whatever head gear was specified as the helmet setting, I added a "keephelmet" attribute of creatures too. If keephelmet is true, then the creature will wear whatever helmet was configured, irrespective of the name, defaultname, or mask. In the example configuration, I set default names for both types of Villain's escorts, and set keephelmet to true so that they would still wear melons on their heads:
  16. I removed the code in Watson to rejoin lines split at the server. It hasn't been relevant for longer than Watson has been out and causes problems in situations like this where Watson doesn't recognise the format of a new server message and erroneously joins it to the previous line - but only if the previous line could have been split. The change should also fix a problem with admin chat messages, which I wasn't made aware of until today.
  17. Awesome! Do you think you could do a version with the old background images? (Unless you already did that in the file you uploaded - I don't have an instance of these forums to look. Invision or whatever their name is ended my 5 day trial after 2 days. Bastards.)
  18. Upon further investigation, I think I've found the problem. Working on it. :)
  19. Hmmm. Yeah, it's not really ready for prime-time. The quote text boxes are probably the worst part of it - the colours are unreadable. I'm sure it would be a quick fix for someone with a good amount of CSS experience. Do we know of anyone?
  20. Interesting ideas. I was actually thinking more along the lines of mobs being teams, effectively. So humans vs skeletons vs zombies vs cave spiders, with each group having distinct natural advantages. Yeah, I don't know how I would go about making spiders climb, but I could certainly boost the jump height. And I see that the MobDisguise plugin has an API, so this shouldn't be too hard. Your mention of day and night makes me wonder whether different effects could be applied at different times of day, for example to make skeletons and zombies buffer at night. Or maybe each team gets transformed into a randomly selected mob (same mob for the whole team) at night and turn back into players during the day. The mapping between team and mob type could change over time so if a particular mob is advantageous the advantage evens out over time. I was thinking about doing magic wands, but I see that there are a bunch of plugins out there that do them already. I'm looking into this: http://dev.bukkit.org/bukkit-mods/magicspells/ which allows spells to be learned from books. The books could be found around the map and dropped by mobs. Players could spawn with a basic spellbook that teaches them a starter spell and explains what is going on.
  21. CutePVP makes wool of one of the three opposing team colours do damage only (IIRC). The other, non-aligned wool colours are inert for all teams. I was thinking of allowing the wool colours to have configurable potion buffs: Where wool is associated with a particular team, the configuration specifies potion IDs for self team and other teams. Other colours of wool apply potion buffs equally to all teams.
  22. I assume you've seen this by now. See you on the 2nd.
×
×
  • Create New...