开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[展示] (我在想啥呢)今天闲的没事干找GPT问了个服务器插件做法,于是······

头像被屏蔽
 发表于 2023-6-29 16:33:31|显示全部楼层|阅读模式 IP:广东省
本帖最后由 战虎 于 2023-6-29 16:40 编辑

image.png

一开始回复的代码是这样的↓
[spoiler]
  1. import org.bukkit.Bukkit;
  2. import org.bukkit.ChatColor;
  3. import org.bukkit.GameMode;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.Listener;
  7. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  8. import org.bukkit.plugin.java.JavaPlugin;
  9. import org.bukkit.scoreboard.Team;

  10. public class NoAttackPlugin extends JavaPlugin implements Listener {

  11.     @Override
  12.     public void onEnable() {
  13.         getLogger().info("插件已启用");
  14.         getServer().getPluginManager().registerEvents(this, this);
  15.         setupScoreboardTeam();
  16.     }

  17.     @Override
  18.     public void onDisable() {
  19.         getLogger().info("插件已禁用");
  20.     }

  21.     @EventHandler
  22.     public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
  23.         if (event.getEntity() instanceof Player && event.getDamager() instanceof Player) {
  24.             Player damaged = (Player) event.getEntity();
  25.             Player damager = (Player) event.getDamager();

  26.             if ((damaged.getGameMode() == GameMode.CREATIVE || damaged.getGameMode() == GameMode.SURVIVAL || damaged.getGameMode() == GameMode.ADVENTURE)
  27.                     && !isSameTeam(damaged, damager)) {
  28.                 event.setCancelled(true);
  29.                 damager.sendMessage(ChatColor.RED + "你不能攻击生存模式或冒险模式的玩家!");
  30.             }
  31.         }
  32.     }

  33.     private void setupScoreboardTeam() {
  34.         Team noAttackTeam = Bukkit.getScoreboardManager().getMainScoreboard().getTeam("NoAttackTeam");
  35.         if (noAttackTeam == null) {
  36.             noAttackTeam = Bukkit.getScoreboardManager().getMainScoreboard().registerNewTeam("NoAttackTeam");
  37.         }
  38.         noAttackTeam.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER);
  39.     }

  40.     private boolean isSameTeam(Player player1, Player player2) {
  41.         Team team1 = player1.getScoreboard().getPlayerTeam(player1);
  42.         Team team2 = player2.getScoreboard().getPlayerTeam(player2);
  43.         return team1 != null && team2 != null && team1.equals(team2);
  44.     }
  45. }
复制代码
[/spoiler]

这只是很小一部分,也就是主体功能的运行逻辑:禁止创造模式玩家攻击生存模式玩家。
然而作为一个JAVA  0基础的小萌新来说就算是现成代码,进一步完善并导出JAR几乎不可能

一个上午到下午看了无数教程,但毫无进展。脑阔疼
image.png
就连CHATGPT的多次协助也救不了这个烂项目。最终在构建JAR(也就是最后一步)停止了——无法找到org.bukkit:craftbukkit:jar:1.12.2-R0.1-SNAPSHOT的依赖
image.png 下方的报错信息

没完全做好的插件我上传云盘了,送给有基础的同学可以拿去开发    摆了

戳我下载

总结:刚刚接触JAVA的小萌新闲的*疼 委托GPT写插件,得到一串意义不明的代码,一脸懵逼的找半天编程软件,又一脸懵逼的在软件里迷路,一脸懵逼的看完了几个超长教学、一脸懵逼的在GPT的提示下反复修改······最后一脸懵逼的退出编辑器。入门到入坟
苦力怕论坛,感谢有您~
 发表于 2024-6-14 12:44:49 来自手机|显示全部楼层 IP:河南省
9666666666666
2#2024-6-14 12:44:49回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-10-2 23:26:44|显示全部楼层 IP:河南省
苦力怕论坛,感谢有您~
3#2024-10-2 23:26:44回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-10-3 07:32:34|显示全部楼层 IP:广东省
楼主加油
4#2024-10-3 07:32:34回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-29 03:57

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3