Commit Graph

82 Commits

Author SHA1 Message Date
= 3217c0a732
Only set player attack speed when in warzone 2018-11-28 15:57:53 -08:00
= 2e6466fab2
Fix NPE and reset attack speed when necessary 2018-11-27 21:33:00 -08:00
= 98afe494c1
Add option to disable combat cooldown 2018-11-27 20:01:13 -08:00
Connor Monahan 6b90371fce Drop Spoutcraft support
Spout has been dead for 5 years
2018-11-19 20:00:18 -06:00
Connor Monahan 4e83ffada1 Fix some deprecated stuff 2018-11-19 00:43:50 -06:00
= 0babe82368
Fix a lot of errors in updating to 1.13 2018-10-31 17:10:51 -07:00
Connor Monahan b7cf69666c Fix #437, add team config 'borderdrop' to permit item drop near walls 2017-07-20 16:15:35 -04:00
Connor Monahan b7138d65bd Fix #201, prevent opening zone edge chests if not playing
Roundabout fix but it solves the issue with smuggling items without requiring an additional setting
2017-07-20 15:51:38 -04:00
Connor Monahan 00ec38c739 Remove broken maven repos, bug fixes
* Fix stack trace when players click with no block selected
* Fix zone reset error caused by earlier commit
2017-07-19 18:15:38 -04:00
Connor Monahan 66445eb61d Replace deprecated Bukkit functions 2017-07-18 14:33:44 -04:00
Connor Monahan c1ad45e555 Fix #833, fix #832 2016-06-06 18:16:00 -04:00
cmastudios df1e5a56df Fix respawn after game end with realdeaths
Closes #793

Please note this is not a simple fix and applies it through a large
series of changes that may need to be noted in case of further troubles
in the future.

To accomplish this correctly, if a player is a really dead fighter, his
state and position will not be updated in a number of places. This is
all handled by the respawn hook for really dead fighters, which by the
way I rewrote because yolo. It makes a (potentially incorrect)
assumption that there is no reason a zone should hold a previous player
state when they join, so it is deleted for safety purposes. If not, and
the player leaves the zone, they may lose items. This may fix other
related inventory reset issues.
2014-06-12 20:59:01 -05:00
cmastudios 14054454af Prevent emptying buckets on important blocks
Closes #775
2014-04-23 21:45:23 -05:00
cmastudios 181fb64c50 break Statement referenced the wrong loop
At least I think. Any comments @taoneill ?

Closes #773
2014-04-20 14:56:45 -05:00
cmastudios 8bf6d6047d Literally none of those new features worked
I better test before commit next time :)
2014-02-26 19:02:32 -06:00
cmastudios 4106dd887f Autojoin zone on connect
Closes #698. #733.

@taoneill please test.
2014-02-22 01:17:20 -06:00
taoneill 0e481bb5d5 Changed all gate signs to be wall signs instead of sign posts.
- Also, now highlighting active warzones with a redstone torch on its warhub gate
2014-02-01 17:08:46 -05:00
taoneill b17e38cfd2 Closes #746. OnEntityCombust event handler was firing for non-fire events and cancelling regular damage events for players within spawn.
- This fixes players being able to profit from spawn damage protection even if they already left the spawn once
2014-01-26 17:20:56 -05:00
taoneill 7ee243e20d Prevent players from leaving spawn while zone is resetting.
- Closes #738
2014-01-12 22:16:36 -05:00
Connor Monahan a92b2ea4ae Magic wool block appears when hat clicked 2014-01-07 20:18:32 -06:00
Connor Monahan b011d3a46f New active sign, gets random warzone with players 2014-01-07 17:59:08 -06:00
Connor Monahan bc07a60b51 Only randomly teleport to zones that are enabled 2014-01-07 17:51:49 -06:00
cmastudios 0af348f2cb Merge branch 'master' into nimitz-v2
Conflicts:
	war/src/main/java/com/tommytony/war/Warzone.java
2013-12-24 20:40:35 -06:00
grinning c16bc6ca5f Maybe closes gh-517
returns the code after the leaving of the zone. Not sure if it works.
Don't think it returns under all cases

Conflicts:
	war/src/main/java/com/tommytony/war/Warzone.java
2013-12-24 20:31:40 -06:00
cmastudios 228ec2299b Prevent block duplication
Closes #722, closes #723. War prevents thieves from messing with their inventory and anyone from messing with their block head.
2013-12-24 17:11:29 -06:00
cmastudios 034b51ae03 Prevent using chests while capturing flag
Stops duplication of wool.
2013-12-07 20:49:25 -06:00
cmastudios 346fd25955 Prevent joining zone during reset 2013-12-07 19:23:12 -06:00
cmastudios 21f91a00fc Configuration setting to allow ender chests 2013-12-07 00:48:03 -06:00
cmastudios 0f35c4dc4c I have sinned a great sin.
Forgot to switch IntelliJ to use tabs.
2013-11-19 15:53:30 -06:00
cmastudios 66158ae44b Toggleable team chat. Closes gh-317.
Sorry @grinning, I tried to cherry pick your stuff but it did not work _at all_.
2013-11-19 15:47:01 -06:00
cmastudios ceeea15794 Subroutines for join/leave zone boilerplate & thief removal
Warzone now contains a few new methods to make adding and removing players from the zone easier. This was made in response to every join mechanism having to rewrite the same ~25 lines of code to handle adding players to a team. This was also done to replace the even more bulky code used to return stolen structures.

This also removes a few unused jobs as I am trying to transition away from them, as they don't really help if they are not being used for async tasks, batches, or timers.

A better way of managing teleports at the end of a game or when leaving normally has been added.
2013-11-01 18:05:02 -05:00
cmastudios 13a6f8ba79 Warzone teleport signs 2013-10-27 17:23:43 -05:00
cmastudios 5913f73fcb Internationalized player interface, Russian locale
Most player-interfaced features such as event responders, signs, and
some player commands now have their messages stored externally in a
resource bundle. This allows for easy localization of the plugin by
copying the main messages.properties file and translating all the
messages into the language of choice.

Also thanks to @AlexMerser21 for the partial russian localization of the
plugin. This means that War servers can now show messages in the russian
language simply by starting the minecraft server with the flag
-Duser.language=ru.
2013-09-29 00:42:35 -05:00
cmastudios 39b0ead3bd Using more bukkit interfaces rather than IDs
Item/damage/anything ID's have now become deprecated in bukkit presumedly
in preparation for any sort of official server modding API. This switches
war from using IDs in most cases to bukkit-provided classes such as
ItemStack.
2013-09-27 18:11:09 -05:00
cmastudios 2bddae16a2 Restore saturation and tweak some soup pvp actions 2013-09-10 19:14:39 -05:00
Nicholasntp d94b7b3e78 Soup PvP Added
Soup PvP is now a part of warzone config.
Refer to Issue 651.
2013-09-10 19:12:02 -05:00
cmastudios 17aef5e162 Add base for configurable KS rewards. Fixes gh-506
Killstreak rewards can be configured in the set.war.killstreak section of
war.yml. Rewards will only be applied to players if the team/warzone has
KILLSTREAK set to true.

The configuration section will get populated on generation of war.yml, or
may be manually added to older configurations.

Currently the system supports messaging the entire warzone and just the
attacker. It only supports rewards of items and health at the moment; more
are expected to arrive.

This commit also moves XPKILLMETER into the team-specific section of the
config.
2013-09-10 17:51:02 -05:00
cmastudios c66120c4fa Fixes gh-611, gh-612 - Add kill count system and kill meters with XP.
The killstreak counter shows a message if the player has more than 5
kills. I have also added an example reward system with points, but did not
enable it yet (needs discussion).

Through the warzone option xpkillmeter the XP level will get updated with
your current kill streak amount. This gets reset every time you die and
is added to every time you kill a player. If this option is enabled,
players cannot gain XP in the warzone.
2013-09-10 17:50:40 -05:00
cmastudios b367cc53ad Add ability to bypass warzone lobby. Fixes gh-669
If a zone has the property autojoin & autoassign set to true, then
players will be directly assigned to a team when they go through the
Warhub portal for the zone and brought back to the Warhub when they
leave the zone.
2013-09-07 18:10:23 -05:00
cmastudios 890e78fd5d TeamKind cleanup, warning fixes, closes gh-631
TeamKind has been changed to store colors in a DyeColor object instead
of using a byte value store. This improves readability and makes the
code future-proof.

All listeners are now unregistered when the plugin gets unloaded. This
removes the need for listeners to check if War is loaded and prevents
duplicate registration. I would prefer if the ability to unload and load
the War plugin was completely removed, however, as there are plugins out
there such as PlugMan that are dedicated to cleanly reloading plugins.

The main purpose of this was to clean up all issues and problems
reported by the eclipse java IDE. 0 warnings are shown by the IDE now.
2013-09-04 23:27:27 -05:00
cmastudios 5a571e7329 Add support for multiple spawn points. Closes gh-628.
/setteam <color> now will add an additional spawn point if the team already
exists.

When a player joins a team in a warzone, they will be sent to any one of
their teams spawn points, picked at random.

This change required major modifications to the underlying teams subsystem
in order to support multiple spawn points for the team.
2013-08-08 23:27:09 -05:00
cmastudios 200ae92e0f Remove "Can't re-enter spawn" task.
This test task is incompatible with additions to War regarding teams.

This method of preventing players of receiving spawn protection is
currently extremely buggy and there has to be a better way to fix the issue
at hand.

@taoneill please email me if there is any serious reason this task is
needed, otherwise it just deteoriates from the War experience. Numerous
times I have played War, I have been bumped out of a warzone even due to
this. There seems to be no need for it. I can revert this commit if needed.

One possible solution could be disabling all protections for anyone who
returns to their spawn, such as like how loadout switching is prevented
after leaving spawn. Another solution could be preventing multiple teams
from taking a flag while another flag is on the run.

Please leave your ideas in the comments or email me.
2013-08-08 23:19:00 -05:00
cmastudios bf3795ded1 Minecraft 1.6 compatibility.
Update health references to use double-precision floating point numbers instead
of integers due to minecraft spec change. Update Java to 1.6. Update bukkit
version.
2013-07-26 22:22:27 -10:00
cmastudios fb375002de Fixes gh-239. Add joinmidbattle zonecfg option.
With this option set to false, new players cannot join the zone if the
zone already has enough players on all teams necessary to play.
2013-07-13 17:00:56 -05:00
cmastudios a5cd846b2a Fixes gh-533
Prevents players from teleporting or moving out of a warzone in play.
2013-05-18 16:49:53 -05:00
cmastudios 423654d21e Fix incompabilities with per-world inventories.
War saved a player's state before they were teleported into the warzone.
This causes issues if the lobby is in another world and the server is
using plugins to manage per-world inventories. Essentially, the player is
getting their inventory from world A saved, teleported to warzone in world
B, their state being restored in B, then teleported to A. Per-world
inventory plugins save and restore inventories on every
cross-world-teleport. This causes blank inventories when a player joins a
warzone and the player gets the items from the zone when they leave.

This issue is easily fixed by teleporting players to the warzone's world
before saving their state. This is merely a standardization of state
save/restore order.
2013-05-18 16:47:21 -05:00
taoneill 856d697d79 Merge pull request #587 from cmastudios/fix-colored-armor
Fix loadout issues + permission-restricted loadouts, thanks @cmastudios!!!
2013-05-04 10:02:49 -07:00
cmastudios d724f5a382 Closes gh-617, gh-609, gh-514, gh-319, tag gh-589. Add support for
permission specific loadouts.

Loadouts can be defined with a permission which can limit who can access
the loadout, in mostly the same manner as I did in the zone-permissions
commits. The permission can be used to only allow say VIP and above to get
a certain loadout (for donation benefits) or to allow the server's lower
ranks a class only (to allow lower ranks to survive faced with the server's
experienced players).

This is controlled by an additional argument to /zonecfg.
Example: /zonecfg loadout:vip:server.ranks.VIP - allow only VIP players
access to the vip loadout.
To remove the permission, re-make the loadout without the permission
parameter.
Example: /zonecfg loadout:vip - remove the permission requirement for the
vip loadout.

To allow a lower rank access to a loadout only, you can use your permission
manager's feature of negating a permission (if supported by the plugin).
Example: /pex group recruit add server.loadout.noob, /pex group builder add
-server.loadout.noob - allow only recruits to have access to a loadout
which requires the permission "server.loadout.noob" (with PermissionsEX).
2013-03-22 22:33:38 -05:00
cmastudios ce72ba36fa Add permission based access to warzones
Adds a team default permission configuration option. Default is
war.player. It is modifiable at the zone level and the team level. In
autoassign zones where there is a mix of teams that some players have
access to and some that they don't, the player will only ever be placed
in a team he can access. You can't /join a team you don't have
permission to join.
2013-03-21 17:15:45 -05:00
cmastudios 8dac3f4ea9 Fixes gh-608 - loadout "first" will be given on join and each battle after
When a player joins a warzone for the first time, they will be given a
loadout called "first" instead of the default loadout. After they have died
once, they will receive the default loadout. Players will also be assigned
the "first" loadout every battle if they are on the default loadout when
the battle ends.

I do not know how servers will deal with players who might constantly leave
and rejoin the zone in order to get the loadout back. This could be fixed
with a war change if it becomes necessary (maybe remember the player until
the battle ends). But, as always, if a server does not want to have a
"first" loadout in a warzone, they do not have to create one.
2013-03-07 18:13:39 -06:00