Skip to content

Commit 99b2972

Browse files
Add files via upload
1 parent a335c76 commit 99b2972

File tree

7 files changed

+235
-0
lines changed

7 files changed

+235
-0
lines changed

ClickRailSpawnCar.iml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="minecraft" name="Minecraft">
5+
<configuration>
6+
<autoDetectTypes>
7+
<platformType>SPIGOT</platformType>
8+
</autoDetectTypes>
9+
</configuration>
10+
</facet>
11+
</component>
12+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
13+
<output url="file://$MODULE_DIR$/target/classes" />
14+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
15+
<content url="file://$MODULE_DIR$">
16+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
17+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
18+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
19+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
20+
<excludeFolder url="file://$MODULE_DIR$/target" />
21+
</content>
22+
<orderEntry type="inheritedJdk" />
23+
<orderEntry type="sourceFolder" forTests="false" />
24+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT" level="project" />
25+
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
26+
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
27+
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
28+
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.16-R0.4" level="project" />
29+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
30+
</component>
31+
</module>

pom.xml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>huihui.crsc</groupId>
8+
<artifactId>ClickRailSpawnCar</artifactId>
9+
<version>1.0</version>
10+
<packaging>jar</packaging>
11+
12+
<name>ClickRailSpawnCar</name>
13+
14+
<properties>
15+
<java.version>1.8</java.version>
16+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17+
</properties>
18+
19+
<build>
20+
<plugins>
21+
<plugin>
22+
<groupId>org.apache.maven.plugins</groupId>
23+
<artifactId>maven-compiler-plugin</artifactId>
24+
<version>3.8.1</version>
25+
<configuration>
26+
<source>${java.version}</source>
27+
<target>${java.version}</target>
28+
</configuration>
29+
</plugin>
30+
<plugin>
31+
<groupId>org.apache.maven.plugins</groupId>
32+
<artifactId>maven-shade-plugin</artifactId>
33+
<version>3.2.4</version>
34+
<executions>
35+
<execution>
36+
<phase>package</phase>
37+
<goals>
38+
<goal>shade</goal>
39+
</goals>
40+
<configuration>
41+
<createDependencyReducedPom>false</createDependencyReducedPom>
42+
</configuration>
43+
</execution>
44+
</executions>
45+
</plugin>
46+
</plugins>
47+
<resources>
48+
<resource>
49+
<directory>src/main/resources</directory>
50+
<filtering>true</filtering>
51+
</resource>
52+
</resources>
53+
</build>
54+
55+
<repositories>
56+
<repository>
57+
<id>spigotmc-repo</id>
58+
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
59+
</repository>
60+
<repository>
61+
<id>sonatype</id>
62+
<url>https://oss.sonatype.org/content/groups/public/</url>
63+
</repository>
64+
</repositories>
65+
66+
<dependencies>
67+
<dependency>
68+
<groupId>org.spigotmc</groupId>
69+
<artifactId>spigot-api</artifactId>
70+
<version>1.16.5-R0.1-SNAPSHOT</version>
71+
<scope>provided</scope>
72+
</dependency>
73+
</dependencies>
74+
</project>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package huihui.crsc;
2+
3+
import huihui.crsc.minecars.ScanPlayerEvents;
4+
import org.bukkit.ChatColor;
5+
import org.bukkit.command.ConsoleCommandSender;
6+
import org.bukkit.entity.Player;
7+
import org.bukkit.plugin.Plugin;
8+
import org.bukkit.plugin.java.JavaPlugin;
9+
import org.bukkit.scheduler.BukkitTask;
10+
11+
import java.io.Console;
12+
13+
14+
public final class ClickRailSpawnCar extends JavaPlugin {
15+
@Override
16+
public void onEnable() {
17+
// Plugin startup logic
18+
getServer().getPluginManager().registerEvents(new ScanPlayerEvents(), this);
19+
getConfig().options().copyDefaults();
20+
saveDefaultConfig();
21+
Plugin plugin = huihui.crsc.ClickRailSpawnCar.getPlugin(huihui.crsc.ClickRailSpawnCar.class);
22+
System.out.println(ChatColor.RED + "[crsc]插件已启动");
23+
int tick = plugin.getConfig().getInt("WaitTime") * 20 * 60;
24+
BukkitTask Clean = new huihui.crsc.minecars.CleanMinecars().runTaskTimer(this, 0, tick);
25+
}
26+
27+
@Override
28+
public void onDisable() {
29+
// Plugin shutdown logic
30+
System.out.println(ChatColor.RED + "[crsc]插件已注销");
31+
}
32+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package huihui.crsc.minecars;
2+
3+
import huihui.crsc.ClickRailSpawnCar;
4+
import org.bukkit.Bukkit;
5+
import org.bukkit.ChatColor;
6+
import org.bukkit.command.CommandSender;
7+
import org.bukkit.entity.Player;
8+
import org.bukkit.scheduler.BukkitRunnable;
9+
import org.bukkit.scheduler.BukkitTask;
10+
11+
public class CleanMinecars extends BukkitRunnable {
12+
@Override
13+
public void run(){
14+
Bukkit.getServer().broadcastMessage(ChatColor.RED + "准备清理右键铁轨生成的矿车...");
15+
CommandSender sender = Bukkit.getConsoleSender();
16+
Bukkit.dispatchCommand(sender, "execute at @e[name=Minecart1] run kill @e[name=Minecart1]");
17+
// Player console = (Player)sender;
18+
// console.performCommand("execute at @e[name=Minecart1] run kill @e[name=Minecart1]");
19+
}
20+
21+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package huihui.crsc.minecars;
2+
3+
import org.bukkit.Bukkit;
4+
import org.bukkit.ChatColor;
5+
import org.bukkit.Material;
6+
import org.bukkit.block.Block;
7+
import org.bukkit.entity.Player;
8+
import org.bukkit.event.EventHandler;
9+
import org.bukkit.event.Listener;
10+
import org.bukkit.event.block.Action;
11+
import org.bukkit.event.player.PlayerInteractEvent;
12+
import org.bukkit.inventory.EquipmentSlot;
13+
14+
15+
public class ScanPlayerEvents implements Listener {
16+
public int Num = 1;
17+
@EventHandler
18+
public void ScanPlayer(PlayerInteractEvent event) {
19+
Block block = event.getClickedBlock();
20+
Player player = event.getPlayer();
21+
if (block == null){
22+
return;
23+
}
24+
if(event.getAction() == Action.LEFT_CLICK_BLOCK){
25+
return;
26+
}
27+
if (event.getHand() == EquipmentSlot.OFF_HAND){
28+
return;
29+
}
30+
int x = block.getX();
31+
int y = block.getY();
32+
int z = block.getZ();
33+
34+
String x1 = String.valueOf(x);
35+
String y1 = String.valueOf(y + 1);
36+
String z1 = String.valueOf(z);
37+
38+
Material clickType = block.getType(); // 获取方块的类型
39+
40+
if (clickType == Material.RAIL) {
41+
spawnCar(x1, y1, z1);
42+
System.out.println("玩家:" + event.getPlayer() + "召唤了一个矿车 坐标:" + x1 + y1 + z1);
43+
}
44+
if (clickType == Material.POWERED_RAIL){
45+
spawnCar(x1, y1, z1);
46+
System.out.println("玩家:" + event.getPlayer() + "召唤了一个矿车 坐标:" + x1 + y1 + z1);
47+
}
48+
if (clickType == Material.ACTIVATOR_RAIL){
49+
spawnCar(x1, y1, z1);
50+
System.out.println("玩家:" + event.getPlayer() + "召唤了一个矿车 坐标:" + x1 + y1 + z1);
51+
}
52+
if (clickType == Material.DETECTOR_RAIL){
53+
spawnCar(x1, y1, z1);
54+
System.out.println("玩家:" + event.getPlayer() + "召唤了一个矿车 坐标:" + x1 + y1 + z1);
55+
}
56+
57+
}
58+
59+
public void spawnCar(String x1, String y1, String z1){
60+
61+
// String x1 = String.valueOf(x);
62+
// String y1 = String.valueOf(y + 1);
63+
// String z1 = String.valueOf(z);
64+
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "summon minecraft:minecart " + x1 + " " + y1 + " " + z1 + " {CustomName:\"[{\\\"text\\\":\\\"Minecart" + Num + "\\\",\\\"bold\\\":false,\\\"italic\\\":false,\\\"underlined\\\":false,\\\"strikethrough\\\":false,\\\"obfuscated\\\":false}]\",CustomNameVisible:0b}");
65+
// Player console = (Player)Bukkit.getServer().getConsoleSender();
66+
67+
// console.performCommand("summon minecraft:minecart " + x1 + " " + y1 + " " + z1 + " {CustomName:\"[{\\\"text\\\":\\\"Minecart" + Num + "\\\",\\\"bold\\\":false,\\\"italic\\\":false,\\\"underlined\\\":false,\\\"strikethrough\\\":false,\\\"obfuscated\\\":false}]\",CustomNameVisible:0b}");
68+
69+
}
70+
71+
}

src/main/resources/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# 清理时间(分钟)
2+
WaitTime: 5

src/main/resources/plugin.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name: ClickRailSpawnCar
2+
version: '${project.version}'
3+
main: huihui.crsc.ClickRailSpawnCar
4+
api-version: 1.16

0 commit comments

Comments
 (0)