- Версия(и) Minecraft
- 1.7.10
Хочу поделиться простеньким кодом на запрет использования кирки в определённом мире.
Ниже реализация с использованием конфига.
Большое спасибо @timaxa007, он мне всё от а до я разжевал.
В методе preInit добавьте
Java:
@SubscribeEvent
public void Tools(BlockEvent.BreakEvent event) {
EntityPlayer player = event.getPlayer();
if (!player.worldObj.isRemote) {
if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.draconicDestructionStaff) {
if (player.dimension == 0) {
//System.out.println("Canceled");
event.setCanceled(true);
}
if (event.isCanceled()) {
player.addChatMessage(new ChatComponentText("§8<§cКисочка§8> §8Настя §8: " + "§aВы §aне §aможете §aломать §aэтим §aинструментом §aв §aданном §aмире."));
}
}
}
}
Java:
@SubscribeEvent
public void Tools(PlayerEvent.BreakSpeed event) {
EntityPlayer player = (EntityPlayer)event.entityPlayer;
if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.draconicDestructionStaff) {
if (player.dimension == 0) {
event.setCanceled(true);
}
}
}
Ниже реализация с использованием конфига.
Большое спасибо @timaxa007, он мне всё от а до я разжевал.
Java:
public class Config {
public static final Set<Item> tool = new HashSet<Item>();
public static void init(File file) {
Configuration config = new Configuration(file);
config.load();
String[] s1 = (config.get("main", "tools", "").getString()).split(",");
Item item;
for (int i = 0; i < s1.length; ++i) {
String[] name_from_config = s1[i].trim().split(":");
if (name_from_config.length > 1)
item = GameRegistry.findItem(name_from_config[0], name_from_config[1]);
else
item = GameRegistry.findItem("minecraft", name_from_config[0]);
if (item != null)
tool.add(item);
}
config.save();
}
}
Config.init(event.getSuggestedConfigurationFile());
Java:
@SubscribeEvent
public void Tools(BlockEvent.BreakEvent event) {
EntityPlayer player = event.getPlayer();
if (!player.worldObj.isRemote) {
if(Config.tool.contains(player.getHeldItem().getItem())) {
if (player.dimension == 0) {
//System.out.println("Canceled");
event.setCanceled(true);
}
if (event.isCanceled()) {
player.addChatMessage(new ChatComponentText("§8<§cКисочка§8> §8Настя §8: " + "§aВы §aне §aможете §aломать §aэтим §aинструментом §aв §aданном §aмире."));
}
}
}
}
Пример конфига:
main {
S:tools=minecraft:diamond,minecraft:stick
}