0.1.0 Initial Release
This commit is contained in:
1 parent
6635f8543e
commit
dcdfa73df7
6 files changed
+150
No files matched your search
@@ -0,0 +1,50 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||||
|
https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.rsscripting</groupId>
|
||||||
|
<artifactId>RS-FasterMinecarts</artifactId>
|
||||||
|
<version>0.1.0</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.release>21</maven.compiler.release>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>papermc</id>
|
||||||
|
<url>https://repo.papermc.io/repository/maven-public/</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.papermc.paper</groupId>
|
||||||
|
<artifactId>paper-api</artifactId>
|
||||||
|
<version>1.21.10-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>RS-FasterMinecarts-0-1-0</finalName>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.14.1</version>
|
||||||
|
<configuration>
|
||||||
|
<release>21</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package com.rsscripting.rsfasterminecarts;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Minecart;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.vehicle.VehicleEnterEvent;
|
||||||
|
import org.bukkit.event.vehicle.VehicleExitEvent;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class MinecartListener implements Listener {
|
||||||
|
|
||||||
|
private final RSFasterMinecarts plugin;
|
||||||
|
private final Map<UUID, Double> originalSpeeds = new HashMap<>();
|
||||||
|
|
||||||
|
public MinecartListener(RSFasterMinecarts plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onVehicleEnter(VehicleEnterEvent event) {
|
||||||
|
|
||||||
|
if (!(event.getVehicle() instanceof Minecart minecart)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(event.getEntered() instanceof Player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UUID minecartId = minecart.getUniqueId();
|
||||||
|
|
||||||
|
// Do not multiply an already modified minecart.
|
||||||
|
if (originalSpeeds.containsKey(minecartId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
double originalSpeed = minecart.getMaxSpeed();
|
||||||
|
double multiplier = plugin.getConfig().getDouble("max-speed", 3.0);
|
||||||
|
|
||||||
|
originalSpeeds.put(minecartId, originalSpeed);
|
||||||
|
|
||||||
|
minecart.setMaxSpeed(originalSpeed * multiplier);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onVehicleExit(VehicleExitEvent event) {
|
||||||
|
|
||||||
|
if (!(event.getVehicle() instanceof Minecart minecart)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UUID minecartId = minecart.getUniqueId();
|
||||||
|
|
||||||
|
Double originalSpeed = originalSpeeds.remove(minecartId);
|
||||||
|
|
||||||
|
if (originalSpeed == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
minecart.setMaxSpeed(originalSpeed);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.rsscripting.rsfasterminecarts;
|
||||||
|
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
public class RSFasterMinecarts extends JavaPlugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
|
||||||
|
saveDefaultConfig();
|
||||||
|
|
||||||
|
getServer().getPluginManager().registerEvents(
|
||||||
|
new MinecartListener(this),
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
getLogger().info("RS-FasterMinecarts enabled.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
getLogger().info("RS-FasterMinecarts disabled.");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Maximum speed multiplier for player-occupied minecarts.
|
||||||
|
# 1.0 = normal Minecraft speed
|
||||||
|
# 3.0 = three times normal speed
|
||||||
|
max-speed: 3.0
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
name: RS-FasterMinecarts
|
||||||
|
version: ${project.version}
|
||||||
|
main: com.rsscripting.rsfasterminecarts.RSFasterMinecarts
|
||||||
|
api-version: '1.21'
|
||||||
|
description: Increases the maximum speed of player-occupied minecarts.
|
||||||
|
author: RS Scripting
|
||||||
Binary file not shown.
Reference in new issue
Block a user