介绍
This mod will prevent non-op players from breaking and placing blocks on server. This allows servers to be made in survival/adventure mode, but not have the risk of the players going around breaking all of the glass blocks, but still being able to kill mobs, craft weapons, etc.
Here is the code for this mod:
package thut.breakdeny;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.management.UserListOpsEntry;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
import net.minecraftforge.event.world.BlockEvent.PlaceEvent;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
@Mod(modid = BreakDeny.MODID, name = “Break Denyer”, version = BreakDeny.VERSION, acceptableRemoteVersions = “*”)
public class BreakDeny
{
public static final String MODID = “break_denyer”;
public static final String VERSION = “1.0.0”;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
if (event.getSide() == Side.SERVER) MinecraftForge.EVENT_BUS.register(this);
}
@SubscribeEvent
public void denyBreak(BreakEvent event)
{
EntityPlayer player = event.getPlayer();
if (!isOp(player)) event.setCanceled(true);
}
@SubscribeEvent
public void denyPlace(PlaceEvent event)
{
EntityPlayer player = event.player;
if (!isOp(player)) event.setCanceled(true);
}
private boolean isOp(EntityPlayer player)
{
if (player != null && !player.worldObj.isRemote)
{
UserListOpsEntry userentry = (UserListOpsEntry) ((EntityPlayerMP) player).mcServer.getConfigurationManager()
.getOppedPlayers().getEntry(player.getGameProfile());
if (userentry != null
|| !FMLCommonHandler.instance().getMinecraftServerInstance().isDedicatedServer()) { return true; }
}
return false;
}
}
常见问题
Break Denyer 支持哪些 Minecraft 版本?
Break Denyer 支持 Minecraft Java 版 1.8.8–1.10.2,共 4 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Break Denyer 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
Thutmose_III 的其他作品
查看全部 →ThutCore
Thut's Mods 使用的前置库
Thut’s Elevators
为 Minecraft 添加电梯。
Pokécube – Revival
为宝可梦方块系列模组添加训练师和模组兼容性。
Pokécube Core
Pokécube 主模组,在 Minecraft 中自然生成宝可梦。
评论
登录后评论和评分