Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

What I am trying to achieve with my custom entity is that the player can steer it like Green Goblin's Glider. So what I have managed to do so far is getting the player to be riding the entity. Here's what the problem lies, I don't know what I need to do to get the player to fly the entity. Also, the entity cannot be pushed like the pigs can be pushed. Code below.

 

 

public class EntityGreenGoblinGlider extends Entity
{	
public EntityGreenGoblinGlider(World worldIn)
{
	super(worldIn);
}

@Override
    public AxisAlignedBB getCollisionBox(Entity entityIn)
    {
        return entityIn.getEntityBoundingBox();
    }

    /**
     * Returns the collision bounding box for this entity
     */
@Override
    public AxisAlignedBB getCollisionBoundingBox()
    {
        return this.getEntityBoundingBox();
    }

@Override
public boolean canPassengerSteer()
{
	if (getControllingPassenger() instanceof EntityPlayer)
	{
		return true;
	}
	return false;
}

@Override
protected boolean canTriggerWalking()
{
	return false;
}

@Override
public boolean shouldRiderSit()
{
	return false;
}

@Override
public boolean canBeCollidedWith()
{
	return !this.isDead;
}

@Override
    public Entity getControllingPassenger()
    {
        return this.getPassengers().isEmpty() ? null : (Entity)this.getPassengers().get(0);
    }

@Override
protected boolean canBeRidden(Entity entityIn)
{
	return true;
}

@Override
public boolean canBePushed()
    {
        return true;
    }

@Override
public EnumActionResult applyPlayerInteraction(EntityPlayer player, Vec3d vec, ItemStack stack, EnumHand hand)
{
	if (!player.isSneaking())
	{
		player.startRiding(this, false);
	}
	return EnumActionResult.SUCCESS;
}

@Override
public void updatePassenger(Entity passenger)
    {
        if (this.isPassenger(passenger))
        {
            passenger.setPosition(this.posX, this.posY + 0.3, this.posZ);
        }
    }

@Override
public boolean attackEntityFrom(DamageSource source, float amount)
{
	this.setDead();
	return true;
}

@Override
protected void entityInit() {}

@Override
protected void readEntityFromNBT(NBTTagCompound compound) {}

@Override
protected void writeEntityToNBT(NBTTagCompound compound) {}
}

 

 

width=620 height=260http://www.startrek.com/uploads/assets/articles/61c89a9d73c284bda486afaeaf01cdb27180359b.jpg[/img]

Till next time. Thank you for delivering funny scenes to Star Trek as Chekov :) . Will always remember you

The way I am thinking this must be handled is intercepting the players movement key presses/holds. IE if spaces is down fly up? or If W is down move forward.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

  • Author

The way I am thinking this must be handled is intercepting the players movement key presses/holds. IE if spaces is down fly up? or If W is down move forward.

 

A packet you are saying? or an event handler?

width=620 height=260http://www.startrek.com/uploads/assets/articles/61c89a9d73c284bda486afaeaf01cdb27180359b.jpg[/img]

Till next time. Thank you for delivering funny scenes to Star Trek as Chekov :) . Will always remember you

The way I am thinking this must be handled is intercepting the players movement key presses/holds. IE if spaces is down fly up? or If W is down move forward.

 

A packet you are saying? or an event handler?

Event handler and packets would be required. You subscribe to the InputEvent.KeyInputEvent and then send a packet to the server about the key being pressed. Then the server handles the execution.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.