- 0
- 0
Ку всем, кароче я тут новый совсем, по этому вопросов будет много, дела идут так: Мне нужно фастиком создать мод чтобы ставить метки с помощью команды /way add координаты. но проблема вот в чём.. Код то у меня есть, но куды его совать и как из него мод сделать я не знаю.. Ну так вот) Кто может помогите мне с доведением этого мода до ума 1.16.5 Forge
Код:
// Main class of the mod
package com.example.waypointmod;
import net.minecraft.client.Minecraft;
import net.minecraft.command.CommandSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.event.RegisterCommandsEvent;
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.event.CommandEvent;
import java.util.HashMap;
@Mod("waypointmod")
public class WaypointMod {
private HashMap<String, BlockPos> waypoints = new HashMap<>();
public WaypointMod() {
// Register event listeners
MinecraftForge.EVENT_BUS.register(this);
}
@SubscribeEvent
public void onCommonSetup(FMLCommonSetupEvent event) {
// Common setup code
}
@SubscribeEvent
public void onClientSetup(FMLClientSetupEvent event) {
// Client setup code
}
@SubscribeEvent
public void onRegisterCommands(RegisterCommandsEvent event) {
event.getDispatcher().register(Commands.literal("way")
.then(Commands.literal("add")
.then(Commands.argument("coords", Vec3ArgumentType.vec3())
.executes(context -> {
String playerName = context.getSource().getPlayer().getName().getString();
BlockPos pos = Vec3ArgumentType.getVec3(context, "coords").toBlockPos();
waypoints.put(playerName + "_" + pos, pos);
context.getSource().sendSuccess(new StringTextComponent("Waypoint set at " + pos), true);
return 1;
})
)
)
);
}
public int getDistanceToWaypoint(PlayerEntity player, BlockPos waypoint) {
return (int) player.getDistanceSq(waypoint.getX(), waypoint.getY(), waypoint.getZ());
}
}