Informations
This update has so much feature so I can't give you all details
Check the
wiki for more
(if not updated, this is because I am currently editing it):
Please report any issue
here this update has been tested by professional tester team.
However this is a
critical update, you can encounter some bug
Vault is now a soft dependency, if you do not have vault, tickets will be free
and dealing mode will be disabled.
Event feature
Create your own scheduled event with command:
Code (Text):
pnc event create <nightclub> <eventName> <displayNameEvent> <startDate:dd/MM/yyyy> <startTime:HH:mm:ss> <endDate:dd/MM/yyyy> <endTime:HH:mm:ss> <ticketPrice> <ticketAmount; -1 = unlimited>
So players can now purchase ticket with /ticket purchase
"ticket" command is configurable in config.yml
There are so many other commands to handle the tickets, use /pnc to get helps
If player does not have ticket and bypass permission, he can't enter inside the nightclub if the event has started
Dealer mode
I had a funny idea, if people could buy many tickets ?
They could book an entire event for them or even more sell their own ticket to other player with higher or lower price, so they can earn money or being
philanthropic.
To enable the ticket dealer mode you can use:
/pnc ticket multiplepurchase true
This command will allow players to purchase multiple tickets
And enable the dealing mode
To only enable the dealing mode you can use:
/pnc ticket dealing true
So player can only sell 1 ticket and purchase 1 ticket if multiple purchase is disabled
New language file
This is implemented mainly for the new event system right now
Recorder
Just added a small command to cancel the record, so you don't need to save the record: /pnc record cancel
You can also delete rotation now: /pnc projector rotation delete <nightclub> <rotation>
Nightclub hollow visualizer
You can now visualize any nightclub area: /pnc nightclub visualize <nightclub>
Small Plugin features
/pnc version, so you know if you are using the latest version
And the console is telling you if you need to download a new version
Added the possibility to update distance, laser type of projector directly, individually and dynamically via command in game
Metrics
Metrics are available on bstats.org
Developer API
Simple api is added (will try to port that on maven later):
Code (Text):
package fr.prodigynightclub.api;
public interface NightclubAPI {
String[] getNightclubs();
}
Code (Text):
package fr.prodigynightclub.api;
import fr.cocoraid.prodigynightclub.nightclub.projector.Projector;
public interface ProjectorAPI {
enum LaserType {
GUARDIAN,
DRAGON,
PARTICLE
}
void turn(String nightclub, int projectorID, boolean on);
void toggle(String nightclub, int projectorID);
void instantTarget(String nightclub, int projectorID, double xRotation, double yRotation, double zRotation);
void target(String nightclub, int projectorID, double xRotation, double yRotation, double zRotation, int time, Projector.ProjectorReachTargetCallBack callback);
void instantTarget(String nightclub, String projectorGroup, double xRotation, double yRotation, double zRotation);
void target(String nightclub, String projectorGroup, double xRotation, double yRotation, double zRotation, int time, Projector.ProjectorReachTargetCallBack callback);
void instantTarget(String nightclub, int[] projectors, double xRotation, double yRotation, double zRotation);
void target(String nightclub, int[] projectors, double xRotation, double yRotation, double zRotation, int time, Projector.ProjectorReachTargetCallBack callback);
void setDistance(String nightclub, int projectorID, int distance);
void setLaserType(String nightclub, int projectorID, LaserType laserType);
int[] getProjectors(String nightclub);
double[] getProjectorLocation(String nightclub, int projectorID);
}
Example:
Code (Text):
package fr.cocoraid.test;
import fr.cocoraid.prodigynightclub.ProdigyNightclub;
import fr.prodigynightclub.api.ProdigyNightclubAPI;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class Test extends JavaPlugin implements Listener {
private static Test instance;
private ProdigyNightclubAPI api;
@Override
public void onEnable() {
this.api = ProdigyNightclub.getInstance().getProdigyNightclubAPI();
}
@Override
public void onDisable() {
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
api.getProjectorAPI().ect..
player.sendMessage("done");
}
return true;
}
}
Bug fix
A critical bug has been fixed:
This bug occurs when you create a nightclub with upper case letter.
The nightclub no longer work