本帖最后由 勤劳的鸽子 于 2023-2-12 11:34 编辑
我让ChatGPT为我编写了一个插件!
主类代码如下!
(他甚至可以生成配方为空气时返回的语句)
我作为一个入门级开发者已经在瑟瑟发抖了....
什么?你看不懂?没关系ChatGPT经过测试还可以给插件加入注解...

我让ChatGPT为我编写了一个插件!
主类代码如下!
(他甚至可以生成配方为空气时返回的语句)
我作为一个入门级开发者已经在瑟瑟发抖了....
什么?你看不懂?没关系ChatGPT经过测试还可以给插件加入注解...
你这ChatGPT是抄了多少开源插件才生成出这么完善的代码啊(恼)
ChatGPT这么强的吗?
我的评价是:进阶CV大法(
因为本人没学过插件开发 以下内容如有解释错误 轻喷(
声明插件主类RecipeAdder,Listener表明此为一个监听者类
这个方**在插件启动的时候被调用。
获取配置文件 但是我并没有找到这俩方法的实现(((
也许是添加配方 但是我没写过(
public class RecipeAdder extends JavaPlugin implements Listener
声明插件主类RecipeAdder,Listener表明此为一个监听者类
public void onEnable()
这个方**在插件启动的时候被调用。
saveDefaultConfig();
FileConfiguarion config = getConfig();
获取配置文件 但是我并没有找到这俩方法的实现(((
for (String key : config.getConfigurationSection("recipes").getKeys(false)) {
ShapedRecipe recipe = new ShapedRecipe(new ItemStack(Material.getMaterial(config.getString(key + ".result.type"))));
recipe.shape(config.getString(key + ".shape.row1"), config.getString(key + ".shape.row2"), config.getString(key + ".shape.row3"));
for (String ingredientKey : config.getConfigurationSection(key + ".ingredients").getKeys(false)) {
recipe.setIngredient(ingredientKey.charAt(0), Material.getMaterial(config.getString(key + ".ingredients." + ingredientKey)));
}
Bukkit.addRecipe(recipe);
}
也许是添加配方 但是我没写过(
就算真的能用它写 自己看不懂的情况下搞不好会有一大堆奇怪的bug
LinGCar 发表于 2023-2-12 08:55
因为本人没学过插件开发 以下内容如有解释错误 轻喷(
嗯,经过测试确实可以运行,但是自定义配方有亿点问题,而且写入的是弃用的方法
Re:alize 发表于 2023-2-12 09:13
就算真的能用它写 自己看不懂的情况下搞不好会有一大堆奇怪的bug
放心,他甚至可以生成注解
我感觉开发者压力极大啊
lihl 发表于 2023-2-12 09:41
我感觉开发者压力极大啊
并不算大 现在是在抄开源代码 (((
勤劳的鸽子 发表于 2023-2-12 09:51
?ChatGPT直接自定义,还能跑,我发帖就是这个意思....
程序员危
程序员(✖) CV工程师(✔)
我让他写c++他好像还是不大理解的亚子,本来想让他做做看洛谷上的题目的说。。。
DarkLiam 发表于 2023-2-12 10:29
我让他写c++他好像还是不大理解的亚子,本来想让他做做看洛谷上的题目的说。。。 ...
理论可,洛谷题目发我,我试试(
什么语言,C++还是Java?
#include<bits/stdc++.h>
using namespace std;
char s[110];
int maxn,minn=100,cha,flag=1,cnt[150];
int main( ){
cin>>s;
for(int i=0;s[i];i++) cnt[ s[i] ]++;
for(int i=0;s[i];i++){
if(cnt[ s[i] ]>maxn) maxn=cnt[ s[i] ];
if(cnt[s[i]]<minn) minn=cnt[s[i]];
}
cha=maxn-minn;
for(int i=2;i<=sqrt(cha);i++){
if(cha%i==0){
flag=0;
break;
}
}
if(flag==1&&cha>1){
cout<<"Lucky Word"<<endl;
cout<<cha;
}else{
cout<<"No Answer"<<endl;
cout<<"0";
}
return 0;
}
using namespace std;
char s[110];
int maxn,minn=100,cha,flag=1,cnt[150];
int main( ){
cin>>s;
for(int i=0;s[i];i++) cnt[ s[i] ]++;
for(int i=0;s[i];i++){
if(cnt[ s[i] ]>maxn) maxn=cnt[ s[i] ];
if(cnt[s[i]]<minn) minn=cnt[s[i]];
}
cha=maxn-minn;
for(int i=2;i<=sqrt(cha);i++){
if(cha%i==0){
flag=0;
break;
}
}
if(flag==1&&cha>1){
cout<<"Lucky Word"<<endl;
cout<<cha;
}else{
cout<<"No Answer"<<endl;
cout<<"0";
}
return 0;
}
勤劳的鸽子 发表于 2023-2-12 11:06
?
这是啥....?
呃,我只学过C++,这是北大题库的一道题
LinGCar 发表于 2023-2-12 08:55
因为本人没学过插件开发 以下内容如有解释错误 轻喷(
但是我并没有找到这俩方法的实现(((
这是在JavaPlugin类里面的
添加配方
是的,添加的是工作台的配方
天鹬大神 发表于 2023-2-12 11:08
呃,我只学过C++,这是北大题库的一道题
一个句子中最多出现的字符减掉最少出现的字符数称之为x
如果x是素数,那么这就是个幸运句
反之不是
神奇的写法()
@EventHandler
public void onPrepareItemCraft(PrepareItemCraftEvent event) {
Recipe recipe = event.getRecipe();
if (recipe != null) {
ItemStack result = recipe.getResult();
if (result != null && !result.getType().equals(Material.AIR)) {
CraftingInventory inventory = event.getInventory();
ItemStack[] matrix = inventory.getMatrix();
boolean isValid = true;
for (ItemStack item : matrix) {
if (item == null || item.getType().equals(Material.AIR)) {
continue;
}
if (!item.isSimilar(result)) {
isValid = false;
break;
}
}
if (!isValid) {
inventory.setResult(new ItemStack(Material.AIR));
event.getView().getPlayer().sendMessage(ChatColor.RED + "这不是预期的配方!");
}
}
}
}
这一段意义不明,不要学它
不是辞安 发表于 2023-2-12 11:15
这是在JavaPlugin类里面的
是的,添加的是工作台的配方
其实略微读一下也是能看得出来意思的
但是我认同某个up主的看法,他就是个高级搜索引擎
回答比较片面,且有疏漏
不如直接看文档()