之前用的是NetherWater
要手动输/nw才能允许地狱放水
有没有不需要指令就可以默认执行的插件哩?
要手动输/nw才能允许地狱放水
有没有不需要指令就可以默认执行的插件哩?
求助各位大佬,我木有找到此类的插件,看到隔壁几个帖子是用创世神什么的,就是希望可以让普通的玩家不需要用指令什么的都可以在地狱默认放水的插件
貌似没有的啦
呜呜呜,俺服里有个孩子想在地狱种大棚,但是每次都要手动输指令
他们也不愿意看公告,然后就不懂指令是什么
了解一下需求,是以后在地狱里水都不受限制,还是只要不依靠指令能够生成一格水就行了。
TooLazyToName 发表于 2022-2-9 17:00
了解一下需求,是以后在地狱里水都不受限制,还是只要不依靠指令能够生成一格水就行了。 ...
地狱里放水不受限制,比如在地狱里落地水等等,不需要指令去激活的(俺服里几个孩子不看公告,不知道NetherWater的指令)
TooLazyToName 发表于 2022-2-9 17:00
了解一下需求,是以后在地狱里水都不受限制,还是只要不依靠指令能够生成一格水就行了。 ...
生成水没用哇,指令或者创世神什么的都可以了,就是正常用水桶可以在地狱倒出水来的
huang520 发表于 2022-2-9 17:03
生成水没用哇,指令或者创世神什么的都可以了,就是正常用水桶可以在地狱倒出水来的 ...
okk稍等我一下,我写好测试一下发给你
试试这个。
有两个小问题:
1. 不会把水桶替换成空桶。
2. 没有权限控制。
有两个小问题:
1. 不会把水桶替换成空桶。
2. 没有权限控制。
 本帖最后由 TooLazyToName 于 2022-2-9 18:30 编辑 
现在会正确的移除水桶并提供空桶了。
附一下源代码。
====== Code Area ======
package com.toolazytoname.minecraft.netherwater;
import com.toolazytoname.minecraft.netherwater.listener.NetherWaterPlacementListener;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginLoadOrder;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.annotation.plugin.Description;
import org.bukkit.plugin.java.annotation.plugin.LoadOn;
import org.bukkit.plugin.java.annotation.plugin.Plugin;
import org.bukkit.plugin.java.annotation.plugin.author.Author;
import java.util.logging.Logger;
/***
* /Main.java
* Main class of the plugin
*/
@Plugin(name = "NetherWaterrr", version = "1.0.1")
@Description(desc = "pluginForTest")
@LoadOn(loadOn = PluginLoadOrder.POSTWORLD)
@Author(name = "Yi")
public class Main extends JavaPlugin {
PluginManager manager = getServer().getPluginManager();
Logger log = Bukkit.getLogger();
@Override
public void onLoad() {
super.onLoad();
manager.enablePlugin(this);
manager.registerEvents(new NetherWaterPlacementListener(), this);
log.info("Successfully Loaded");
}
@Override
public void onDisable() {
super.onDisable();
}
@Override
public void onEnable() {
super.onEnable();
}
}
package com.toolazytoname.minecraft.netherwater.listener;
import org.bukkit.Material;
import org.bukkit.World.Environment;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
/***
* /listener/NetherWaterPlacementListener.java
* Register Listener and Handle Water Placement Event in Nether.
*/
public class NetherWaterPlacementListener implements Listener {
@EventHandler
public void onWaterPlacement(PlayerInteractEvent interactEvent) {
Inventory inventory = interactEvent.getPlayer().getInventory();
Block block = interactEvent.getClickedBlock();
Environment environment = block.getWorld().getEnvironment();
ItemStack item = interactEvent.getItem();
Block targetBlock = interactEvent.getClickedBlock().getRelative(interactEvent.getBlockFace());
if (Environment.NETHER.compareTo(environment) != 0 || Material.WATER_BUCKET.compareTo(item.getType()) != 0 || !targetBlock.isEmpty()) {
return;
}
targetBlock.setType(Material.WATER);
inventory.remove(item);
inventory.addItem(new ItemStack(Material.BUCKET));
interactEvent.setCancelled(true);
}
}
==== End of Code Area ====
PS: 我现在看着楼主被转账晒尸的帖子有点慌(笑
现在会正确的移除水桶并提供空桶了。
附一下源代码。
====== Code Area ======
package com.toolazytoname.minecraft.netherwater;
import com.toolazytoname.minecraft.netherwater.listener.NetherWaterPlacementListener;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginLoadOrder;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.annotation.plugin.Description;
import org.bukkit.plugin.java.annotation.plugin.LoadOn;
import org.bukkit.plugin.java.annotation.plugin.Plugin;
import org.bukkit.plugin.java.annotation.plugin.author.Author;
import java.util.logging.Logger;
/***
* /Main.java
* Main class of the plugin
*/
@Plugin(name = "NetherWaterrr", version = "1.0.1")
@Description(desc = "pluginForTest")
@LoadOn(loadOn = PluginLoadOrder.POSTWORLD)
@Author(name = "Yi")
public class Main extends JavaPlugin {
PluginManager manager = getServer().getPluginManager();
Logger log = Bukkit.getLogger();
@Override
public void onLoad() {
super.onLoad();
manager.enablePlugin(this);
manager.registerEvents(new NetherWaterPlacementListener(), this);
log.info("Successfully Loaded");
}
@Override
public void onDisable() {
super.onDisable();
}
@Override
public void onEnable() {
super.onEnable();
}
}
package com.toolazytoname.minecraft.netherwater.listener;
import org.bukkit.Material;
import org.bukkit.World.Environment;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
/***
* /listener/NetherWaterPlacementListener.java
* Register Listener and Handle Water Placement Event in Nether.
*/
public class NetherWaterPlacementListener implements Listener {
@EventHandler
public void onWaterPlacement(PlayerInteractEvent interactEvent) {
Inventory inventory = interactEvent.getPlayer().getInventory();
Block block = interactEvent.getClickedBlock();
Environment environment = block.getWorld().getEnvironment();
ItemStack item = interactEvent.getItem();
Block targetBlock = interactEvent.getClickedBlock().getRelative(interactEvent.getBlockFace());
if (Environment.NETHER.compareTo(environment) != 0 || Material.WATER_BUCKET.compareTo(item.getType()) != 0 || !targetBlock.isEmpty()) {
return;
}
targetBlock.setType(Material.WATER);
inventory.remove(item);
inventory.addItem(new ItemStack(Material.BUCKET));
interactEvent.setCancelled(true);
}
}
==== End of Code Area ====
PS: 我现在看着楼主被转账晒尸的帖子有点慌(笑
TooLazyToName 发表于 2022-2-9 16:10
现在会正确的移除水桶并提供空桶了。
附一下源代码。
Qwa灰常感谢大佬!!!!!太强啦