- 6
- 0
Хочу сделать свои крылья, сделал небольшую часть, проверил на сервере, а он ругается пишет то что полёты на сервере отключены.
Что я сделал неправильно ?
Зареганы события в главном файле мода в preinit
Я так понял, что сервер не понимает что игрок должен летать.
P.S с java работаю первый раз
Что я сделал неправильно ?
package com.demik.flyy;
import java.awt.event.InputEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import scala.Console;
import com.demik.flyy.keybinds;
public class EventsHandler
{
boolean fly=false,acc=true;
@SubscribeEvent
public void fall(LivingFallEvent event)
{
event.setCanceled(true);
}
@SubscribeEvent
public void Playerfly(TickEvent.PlayerTickEvent event)
{
if((event.player.isInWater()) || (event.player.isCreative()))fly=false;
if(fly)
{
Vec3d acvc=event.player.getLookVec();
double x=acvc.x;
double y=acvc.y;
double z=acvc.z;
if(acvc.y>1)
{
x=0;
y=1;
z=0;
}
if(!(acc) || ((event.player.getPosition().getY()>240) && (y>0))) event.player.setVelocity(event.player.motionX, 0, event.player.motionZ);
else event.player.addVelocity(x/40, y/40+0.039, z/40);
if((y>-0.15)&&(y<0.15))event.player.setVelocity(event.player.motionX, event.player.motionY/1.03, event.player.motionZ);
}
}
@SubscribeEvent
public void qweqwe(KeyInputEvent event)
{
if ((Minecraft.getMinecraft().inGameHasFocus) && !(Minecraft.getMinecraft().player.isCreative()))
{
acc=Minecraft.getMinecraft().gameSettings.keyBindForward.isKeyDown();
if((Minecraft.getMinecraft().gameSettings.keyBindJump.isKeyDown())&&!(Minecraft.getMinecraft().player.onGround)&&!(Minecraft.getMinecraft().player.isInWater()))
{
fly=!fly;
}
}
}
}
import java.awt.event.InputEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
import net.minecraftforge.event.entity.living.LivingFallEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import scala.Console;
import com.demik.flyy.keybinds;
public class EventsHandler
{
boolean fly=false,acc=true;
@SubscribeEvent
public void fall(LivingFallEvent event)
{
event.setCanceled(true);
}
@SubscribeEvent
public void Playerfly(TickEvent.PlayerTickEvent event)
{
if((event.player.isInWater()) || (event.player.isCreative()))fly=false;
if(fly)
{
Vec3d acvc=event.player.getLookVec();
double x=acvc.x;
double y=acvc.y;
double z=acvc.z;
if(acvc.y>1)
{
x=0;
y=1;
z=0;
}
if(!(acc) || ((event.player.getPosition().getY()>240) && (y>0))) event.player.setVelocity(event.player.motionX, 0, event.player.motionZ);
else event.player.addVelocity(x/40, y/40+0.039, z/40);
if((y>-0.15)&&(y<0.15))event.player.setVelocity(event.player.motionX, event.player.motionY/1.03, event.player.motionZ);
}
}
@SubscribeEvent
public void qweqwe(KeyInputEvent event)
{
if ((Minecraft.getMinecraft().inGameHasFocus) && !(Minecraft.getMinecraft().player.isCreative()))
{
acc=Minecraft.getMinecraft().gameSettings.keyBindForward.isKeyDown();
if((Minecraft.getMinecraft().gameSettings.keyBindJump.isKeyDown())&&!(Minecraft.getMinecraft().player.onGround)&&!(Minecraft.getMinecraft().player.isInWater()))
{
fly=!fly;
}
}
}
}
Я так понял, что сервер не понимает что игрок должен летать.
P.S с java работаю первый раз