Giter Club home page Giter Club logo

parkour's People

Contributors

a5h73y avatar dependabot[bot] avatar elikill58 avatar frankheijden avatar funpineapple avatar gnacik avatar horgeon avatar jdoggen avatar leomelonseeds avatar nadwey avatar peda1996 avatar steve4744 avatar szumielxd avatar uroulon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

parkour's Issues

course stats displays incorrect minimum level

If a course has been assigned a level, the "/pa stats " command incorrectly displays
"Required level: 0".
If maxDeaths has also been set then the stats command displays the value of maxDeaths as the required level for the course.

problems with "SneakToInteractItems: false"

Using the latest commit 2d46f7f, I've found the following issues when
"SneakToInteractItems: false" is set in the config:

  1. buttons don't work
  2. setting "AdminPlaceBreakBlocks: true" and with op or Parkour.Admin perm, I can break blocks but can't place blocks
  3. setting "PreventOpeningCraftingInventory: false" doesn't allow me to open inventory items like chests

Conversely when
"SneakToInteractItems: true" is set in the config, everything I've tested works as expected.

DefaultPrize is rewarded in addition to the economy payout, even with prize set to false.

Compiled as of bc5ff34

The DefaultPrize in the main config is rewarding on parkour course completion in addition to economy payout defined. Would it be possible to only reward in-game currency for the course?

  Prize:
    Enabled: true
  DefaultPrize:
    Material: DIAMOND
    Amount: 1
    XP: 0
Price:
  Kit: 0
  spawn:
    Finish: 25

Setting the following only disables the economy payout, not the diamond reward.

  Prize:
    Enabled: false

Linked lobbies aren't being used - default lobby set is overriding.

Compiled as of d3cbb66

On exit when playing in courses with a linked lobby, it is taking players to the default lobby location instead of the set linked one.

Edit: It seems custom lounges don't work whatsoever outright. Removing the default lounge location, it just spams that no lounge has been setup despite a custom one existing and being linked to a course. With a default location set in addition to a custom location set / linked, it always uses the default location.

Lobby:
  Set: true
  World: world
  X: -6287.321349023397
  Y: 125.0
  Z: 2116.5467648669683
  Pitch: 2.9999778
  Yaw: -90.3022
  parkour:
    World: world
    X: -11380.5
    Y: 107.0
    Z: 10961.5
    Pitch: -0.15001002
    Yaw: -90.08281
Courses:
- spawn
- parkour1
- parkour2
- parkour3
- parkour4
- parkour5
- parkour6
- parkour7
- parkour8
- parkour9
- parkour10
- parkour11
- parkour12
- parkour13
- parkour14
- parkour15
- parkour16
- parkour17
- parkour18
- parkour19
- parkour20
- parkour21
- parkour22
- parkour23
- parkour24
- parkour25
spawn:
  Creator: player
  Views: 1258
  Completed: 59
  XP: 0
  Points: 0
  World: world
  '0':
    X: -6293.703158744823
    Y: 126.0
    Z: 2115.380310594939
    Yaw: 109.047844
    Pitch: 6.449876
  Finished: true
parkour1:
  Creator: player
  Views: 3
  Completed: 0
  XP: 0
  Points: 0
  World: world
  '0':
    X: -11428.5
    Y: 151.5
    Z: 10900.5
    Yaw: -90.68261
    Pitch: 1.0499918
  LinkedLobby: parkour
parkour2:
  Creator: player
  Views: 0
  Completed: 0
  XP: 0
  Points: 0
  World: world
  '0':
    X: -11428.5
    Y: 151.5
    Z: 10941.5
    Yaw: -90.83276
    Pitch: -0.29999185
  LinkedLobby: parkour

%AMOUNT% has an extra space in the output.

i.e.

  Reward: You earned &b%AMOUNT% &ffor completing &b%COURSE%&f!

The actual in-game output has two spaces after the amount displayed. So instead of just replacing %amount% with a number, it is adding an extra space after the number in addition to it - resulting in two spaces in that language example.

Possibility of an autojoin block location.

Would it be possible to allow defining an autojoin block location? So if a player walks over a certain block or pressure plate (example) in a specific coordinate location, it automatically puts them in a specific course? That way they don't have to right click a parkour sign or type the join command to start a course.

Players inherit parkour commands without the permission nodes.

It seems players are able to join parkour and use some parkour commands without inheriting any user permissions for it beforehand. There are no permissions in the plugin.yml with default: true inheritence, so I am not entirely sure why players are able to type parkour commands right out the gate without permission to do so.

Support for data values in material name.

Would it be possible to support data values in material names for block sets? So you can use specific type of dirt or a specific color of wool.

I.e.

  Finish:
    Material: WOOL:15

Pkr and Parkour not registered as parkour commands.

Compiled as of 7dea8ea

  EnforceParkourCommands:
    Enabled: true

Players inside parkour mode can't use /parkour or /pkr commands to leave. Is it only registering /pa as parkour commands? I removed the /pa alias since I have another plugin that uses /pa for PVP arenas.

EXP Death Counter

When enabled it'll count your deaths for sure but when you come out of the parkour by any way it'll be glitched and stand still as your default EXP level.

Parkour reload does not reload the economy.yml.

I originally had this set for my parkour course.

Price:
  Kit: 0
  spawn:
    Finish: 10

I manually changed the value to $25.

Price:
  Kit: 0
  spawn:
    Finish: 25

Then reloaded the parkour plugin with /parkour reload. Completing the course again, it outputted in chat that I was rewarded $10.

Inventory slot wipes when shift interact is disabled and you right click a parkour tool item that can be placed on the ground normally.

Compiled as of d3cbb66

If you have a sapling as a parkour tool item and try to place the sapling while in parkour mode, it tries to place the sapling (removing it from your inventory) and makes you leave parkour mode (as right clicking should when shift interact is disabled) but as a result, whatever was in that slot of your inventory prior to joining also gets removed.

Able to walk away from the parkour course and use the parkour tool materials to craft items.

Compiled as of d3cbb66

People can enter parkour mode and then just walk to their house or somewhere in the world that isn't protected if the parkour course is open, such as if in an open course around spawn. Then they could have setup a chest with items in it and use a workbench to craft items with the parkour tools. In my case, using glass and obsidian from a chest and crafting a beacon with my nether star parkour mode item.

  1. Would it be possible to set a range limit for how far someone is able to walk away from that parkour course's lounge before being teleported back? Or alternatively defining a parkour cuboid region for the course that they aren't allowed to leave.

  2. Would it be possible to block all interaction with the parkour items to avoid dropping / crafting? They would not need to be able to interact with chests, enderchests, or really any kind of inventory GUI such as a furnace, workbench, etc.

Unhandled exception executing command 'pa'

Hello,

We are currently running Parkour v4.1 using MySQL as our database option and we seem to be receiving an error when executing /pa stats map.

The error happens regardless of what map we try to check the stats for. Here is the stack trace for the error: https://pastebin.com/raw/EgQBmAii

Looking at the source, it seems to be related to the join fee of a course, is that right?

Thank you!

Ability to make a mutli selection a checkpoint

The one thing im missing in this plugin is the ability to make a checkpoint out of for example a worldedit selection.

So for example instead of a pressure plate. I would select 1 bottom corner and 1 top corner of a area, and i could make a checkpoint if a player enters that area. Instead of when they step on a pressure plate.

This would be very usefull when you are making a map where for example players walk through a cave and you want them to get a checkpoint when enterering a part of the cave.
Because a cave is a bigger area and with different block height. The changes of a player missing a pressure plate here are quite high.

I would like to request if you could consider adding this feature to your plugin.

Some issues with economy

  1. Array index out of bounds exception running "/pa econ setprize pk4"
    https://pastebin.com/QwKs4iTJ

  2. Trying to set a non-integer prize on a valid course, e.g. "/pa econ setprize pk4 0.5" returns "pk4 does not exist".

  3. The join fee set for a course is not being checked or deducted from player's balance on joining.

  4. "/pa stats courseName" should display the course join fee if its been set.

Setting custom parkour blocks doesn't ask for jump boost block.

Missing Bounce, NoRun, and NoPotion options when setting a custom block list in-game.

[21:32:49] [Client thread/INFO]: [CHAT]  What would you like to name your ParkourBlocks?
[21:32:51] [Client thread/INFO]: [CHAT] parkour
[21:32:51] [Client thread/INFO]: [CHAT]  What material do you want for the Death block?
[21:32:51] [Client thread/INFO]: [CHAT]  Default: SMOOTH_BRICK
[21:32:53] [Client thread/INFO]: [CHAT] default
[21:32:53] [Client thread/INFO]: [CHAT]  What material do you want for the Finish block?
[21:32:53] [Client thread/INFO]: [CHAT]  Default: HUGE_MUSHROOM_2
[21:32:54] [Client thread/INFO]: [CHAT] default
[21:32:54] [Client thread/INFO]: [CHAT]  What material do you want for the Climb block?
[21:32:54] [Client thread/INFO]: [CHAT]  Default: BRICK
[21:32:55] [Client thread/INFO]: [CHAT] default
[21:32:55] [Client thread/INFO]: [CHAT]  What material do you want for the Launch block?
[21:32:55] [Client thread/INFO]: [CHAT]  Default: EMERALD_BLOCK
[21:33:00] [Client thread/INFO]: [CHAT] PISTON_BASE
[21:33:00] [Client thread/INFO]: [CHAT]  What material do you want for the Speed block?
[21:33:00] [Client thread/INFO]: [CHAT]  Default: OBSIDIAN
[21:33:02] [Client thread/INFO]: [CHAT] default
[21:33:02] [Client thread/INFO]: [CHAT]  What material do you want for the Repulse block?
[21:33:02] [Client thread/INFO]: [CHAT]  Default: ENDER_STONE
[21:33:08] [Client thread/INFO]: [CHAT] default
[21:33:08] [Client thread/INFO]: [CHAT]  parkour was successfully created!

On-screen timer issue

There are a couple of small issues with the sync'ing of the live time display:

  1. when joining a course the timer display starts immediatley from 00:00:01 and displays 00:00:02 before the player has had a chance to move;

  2. when finishing the course the timer always displays 1 second more than the actual finish time - see pic

http://imgur.com/a/1Wp31

One way to fix both issues is by delaying the timer start by 20 ticks (1 sec).

various issues with voting

Below issues resolved in PR:

  1. "/pa help like" and "/pa help dislike" do not work
  2. Percentage of likes not included in "/pa stats" output for course
  3. "/pa like" adds a vote for the last course completed, but there's no validation for extra args, e.g. course name, which could be confusing: e.g.
    "/pa like blue_course" would return "You liked red_course" or "You have already voted for red_course" (if red_course was the last completed course).
  4. resultset closed exception from getVotePercent method

NoSuchMethodError exception on Spigot 1.7.10

Spigot 1.7.10 b1657
Last dev build of Parkour [10-12-2016]

[Server thread/ERROR]: Could not pass event EntityDamageByEntityEvent to Parkour v4.0
org.bukkit.event.EventException
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callEvent(CraftEventFactory.java:108) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:554) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:467) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:586) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityLiving.d(EntityLiving.java:1040) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityHuman.d(EntityHuman.java:824) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityLiving.damageEntity(EntityLiving.java:684) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityHuman.damageEntity(EntityHuman.java:765) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityPlayer.damageEntity(EntityPlayer.java:465) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntitySnowball.a(SourceFile:30) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.EntityProjectile.h(EntityProjectile.java:155) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.World.entityJoinedWorld(World.java:1620) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.World.playerJoinedWorld(World.java:1595) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.World.tickEntities(World.java:1460) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.WorldServer.tickEntities(WorldServer.java:516) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:706) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Entity.getName()Ljava/lang/String;
	at me.A5H73Y.Parkour.ParkourListener.onEntityDamageEntity(ParkourListener.java:159) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_101]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[spigot.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	... 23 more

In-game whitelisted commands in config.yml are ignored.

The config.yml maintains a list of whitelisted commands which can be used in-game if "EnforceParkourCommands" is enabled.

Any commands included in whitelist are ignored due to the code referencing node "Other.Commands.Whitelist" instead of "OnCourse.EnforceParkourCommands.Whitelist" in the config.yml.

pressure plates not working

Hi,
Regarding version 4.0 [23/090/2016] on MC1.10.
I have some iron doors operated by pressure plates (which are not checkpoints) in the course which no longer work. The checkpoint pressure plates work as expected.
Also is there a way to put more than one death block in the config.yml?
Thanks.

java error on server startup

Tried version v4.0 the first time with 2 existing courses already configued and working from v3.7. The server starts ok the first time, although I get "you are in the wrong world" if I try to join a course. If you then stop/start the server, you get this error (like its trying to insert the same course details into the DB again):

[22:57:29 INFO]: [Parkour] Enabling Parkour v4.0
[22:57:29 WARN]: java.sql.SQLException: [SQLITE_CONSTRAINT] Abort due to constraint violation (column name is not unique)
[22:57:29 WARN]: at org.sqlite.DB.newSQLException(DB.java:383)
[22:57:29 WARN]: at org.sqlite.DB.newSQLException(DB.java:387)
[22:57:29 WARN]: at org.sqlite.DB.execute(DB.java:342)
[22:57:29 WARN]: at org.sqlite.DB.executeUpdate(DB.java:363)
[22:57:29 WARN]: at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:85)
[22:57:29 WARN]: at me.A5H73Y.Parkour.Utilities.DatabaseMethods.insertCourse(DatabaseMethods.java:129)

Full error is here:
http://pastebin.com/46uthxnF

Command whitelist is not command specific.

If you whitelist the command /m, you can use the command /mobarena join. This is causing people to join parkour for invulnerability, then play in the arena. Shouldn't commands whitelisted be case sensitive to that command only rather than any command that starts with that letter?

Option to blacklist commands while in parkour mode.

Would it be possible to implement a way to blacklist commands not allowed while in parkour mode? For example, I'd like to block the command /pa while players are in parkour because the arena plugin I use (PVPArena) uses that command alias to join arenas.

Despite pa being removed from the plugin.yml as a registered parkour command alias, because it is allowed in the source as a parkour command here d3cbb66#diff-eb8d94763a93fd55979b0adb3e6bc5eaR394, players are able to join the arenas from within parkour with invincibility.

Multiple Death Materials including water

Hi, it would be much appreciated to see multiple death materials and water being added to the plugin, as many parkour maps people create go through vastly different terrains, and locking the death block to 1 material is somewhat of a map breaker.

Not able to change /pa language in help commands.

I disable the /pa alias in the plugin.yml since I have another plugin (PVPArena) that uses the /pa command. Would it be possible to allow for changing the language in the parkour help menus? For example, /pkr cmds and /pkr cmds 1 output everything as /pa instead of /parkour or /pkr. The strings.yml does not have language strings for the help menus.

Inventory issue on multiworld server

Hi Ash,

I've found an issue with inventory items being lost when quitting a course.

When a player dies (exceeding max deaths) or quits a course, he gets teleported to the lobby.
If the course is in a different world than the lobby, when the player returns to the world containing the parkour course (but not playing parkour, just /mvtp for example) then the original inventory for that world is lost (being replaced by the 3 parkour objects (arrow,bone,sapling) - as they were the final inventory items he had before being teleported out of parkour.

This happens because the "playerLeave" class calls "loadInventory(player)" after "CourseMethods.joinLobby". You need to load the inventory before returning to the lobby - that way, whatever inventory management plugin is installed (PerWorldInventory for example), will have the correct items.

When a course is successfully completed, loadInventory(player) is called before CourseMethods.joinLobby which works correctly.

I've tested the latest code with the order reversed and it works fine.

Cheers,

Steve

Toggling player visibility breaks players who were invisible prior outside of parkour.

Compiled as of d3cbb66

Players who toggle player visibility are able to see those who were invisible prior to joining, such as staff members who went invisible to watch over another player.

  • Player1 (staff) /vanishes.
  • Player2 joins parkour.
  • Player2 toggle hides all players, then toggle shows all players.
  • Player2 leaves parkour.
  • Player2 is now able to see Player1 who was originally vanished.

In my case, I use VanishNoPacket (https://dev.bukkit.org/projects/vanish) in conjunction with ProtocolLib to force certain players vanished and for staff members to hide from others. It to my knowledge hides players by removing the player packet directly so hack clients can't see sent nearby player packets. When someone toggles hidden players within parkour, it allows vanished players to be shown to that player. Thus;

  1. Would it be possible to respect current invisible / vanished players not handled by Parkour to not refresh / display them when someone toggles all players visible when they shouldn't have access to seeing those players?

  2. Would it be possible for Parkour to only toggle players invisible / visible who are actually part of parkour mode / of that parkour course instead of everyone globally?

Possibility of limiting course reward to once a day.

Would it be possible to set a limit for how many times someone is able to complete a course that day and receive rewards for it? So you can have an in-game economy payout but limit it to once a day to prevent abuse.

live time display doesn't reset

When you have "onDie:ResetTimeWithNoCheckpoint: true" set in config.yml, your time is reset to zero if you die before the first checkpoint. However the live time display doesn't reset to zero, but just carries on counting.

Teleport delay on finish course

Done a bit of testing on this....the 'delay' itself works fine, the problem is that during the 'delay' the player can/will move across the finish block(s), so the 'onPlayerMove' listener is triggering multiple playerFinish events. This causes multiple 'player finshed course' messages to appear and the prize (e.g.1 diamond) is given to the player multiple times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.