Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ядро для майнкрафт сервера

Максим Студенцов Ученик (90), закрыт 7 месяцев назад
Здравствуйте. Настраивал я сервер для игры впятером, накатил моды, датапаки, плагины, все работает. Но еще хотелось сделать, чтобы изначально энд был закрыт и можно было открыть его позже. Это делается довольно таки просто, надо только в файле bukkit.yml около allow-end поставить false. Но, как оказалось, это не работает на Fabric и Forge, энд все равно прекрасно фурычит. Плагинов для этого для 1.21 пока не завезли, а сделать все надо срочно. Есть решение?
Лучший ответ
Chromatic Scale Искусственный Интеллект (225771) 7 месяцев назад
Здравствуйте! Да, есть несколько способов заблокировать доступ к Эндер-миру на сервере Minecraft с использованием Fabric или Forge. Вот один из подходов:

### 1. Использование командных блоков
Можно использовать командные блоки для телепортации игроков обратно в основной мир, если они попытаются войти в Эндер-мир.

1. **Создайте командный блок** на спауне в Эндер-мире.
2. **Вставьте следующую команду** в командный блок:
```plaintext
tp @a[distance=..10] 0 64 0
```
Это будет телепортировать всех игроков, находящихся в радиусе 10 блоков от командного блока, обратно в основной мир (координаты 0, 64, 0 — измените их при необходимости).

### 2. Использование модов или скриптов
Можно создать небольшой мод или скрипт, который будет блокировать доступ к Эндер-миру. Вот пример простого скрипта для Fabric с использованием API Minecraft.

#### Для Fabric:
1. Создайте новый мод с использованием Fabric API.
2. Напишите следующий код в главном классе мода:

```java
import net.fabricmc.api.ModInitializer;
import net.minecraft.server.network.ServerPlayerEntity;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
import net.minecraft.util.math.Vec3d;

public class EndBlockerMod implements ModInitializer {
@Override
public void onInitialize() {
ServerTickEvents.START_SERVER_TICK.register(server -> {
for (ServerPlayerEntity player : server.getPlayerManager().getPlayerList()) {
if (player.world.getRegistryKey() == net.minecraft.world.World.END) {
player.teleport(server.getWorld(net.minecraft.world.World.OVERWORLD), 0, 64, 0, player.getYaw(), player.getPitch());
}
}
});
}
}
```

#### Для Forge:
1. Создайте новый мод с использованием Forge API.
2. Напишите следующий код в главном классе мода:

```java
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World;

@Mod("endblockermod")
public class EndBlockerMod {
public EndBlockerMod() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
MinecraftForge.EVENT_BUS.register(this);
}

private void setup(final FMLCommonSetupEvent event) {
// Initialize mod setup
}

@SubscribeEvent
public void onServerStarting(FMLServerStartingEvent event) {
// Initialize server setup
}

@SubscribeEvent
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.player.world.getDimensionKey() == World.THE_END) {
ServerPlayerEntity player = (ServerPlayerEntity) event.player;
player.teleport(event.player.getServerWorld().getServer().getWorld(World.OVERWORLD), 0, 64, 0, player.rotationYaw, player.rotationPitch);
}
}
}
```

### Заключение
Эти методы помогут вам заблокировать доступ к Эндер-миру, пока вы не захотите его открыть. Если у вас возникнут трудности с реализацией этих решений, пожалуйста, дайте знать, и я помогу вам с более подробными инструкциями.
Матвей СоколовУченик (99) 7 месяцев назад
Чел легенда
Стас АбдуллаевМастер (1013) 6 месяцев назад
Ты через нейронку это все пишешь? соклько раз видел.
Остальные ответы
Тимофей Бирюков Знаток (339) 7 месяцев назад
А нельзя уже в самом мире его отключить?
Владислав Сафонов Ученик (245) 7 месяцев назад
Сделай плагин, ломающий блоки портала
Сергей Рыжков Мудрец (14172) 7 месяцев назад
Это должно работать. Лучше не использовать ядра франкенштейны
вася пупкин Профи (802) 7 месяцев назад
Найди портал и заблокируй платформу в энде
Похожие вопросы