2016-06-23 03:49:47 +00:00
|
|
|
/*
|
|
|
|
* Minecraft Forge
|
|
|
|
* Copyright (c) 2016.
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation version 2.1
|
|
|
|
* of the License.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
*/
|
|
|
|
|
2013-05-08 23:30:59 +00:00
|
|
|
package net.minecraftforge.client.event;
|
|
|
|
|
Initial update to 1.8, Super beta. Most rendering related hooks are out due to major changes in 1.8.
Some notes:
Almost all int x, int y, int z parameters have been changed to BlockPos class
ForgeDirection has been removed, replaced by net.minecraft.util.EnumFacing.
All FML classes have moved from packet cpw.mods.fml to net.minecraftforge.fml
Fluid Rendering has been disabled for the time being, to be re-evaulated and a test mod created for it.
Minecraft now uses a Model based system for rendering blocks and Items. The intention is to expand the model format to better suit modder's needed once it is evaulated.
As such, The model loaders from Forge have been removed, to be replaced by expanding vanilla's model format.
Metadata has been extracted out in Minecraft to IBlockState, which holds a list of properties instead of magic number metadata. DO NOT listen to the fearmongering, you can do EVERYTHING with block states you could previously with metadata.
Stencil Bits are disabled entirely by for the main Display, Modders must enable and recreate the FrameBuffer if they wish to use Stencil Bits.
2014-11-26 03:56:35 +00:00
|
|
|
import net.minecraftforge.fml.common.eventhandler.Cancelable;
|
2013-05-08 23:30:59 +00:00
|
|
|
import net.minecraft.client.renderer.entity.RenderPlayer;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraftforge.event.entity.player.PlayerEvent;
|
|
|
|
|
|
|
|
public abstract class RenderPlayerEvent extends PlayerEvent
|
|
|
|
{
|
2016-03-24 08:44:52 +00:00
|
|
|
private final RenderPlayer renderer;
|
|
|
|
private final float partialRenderTick;
|
|
|
|
private final double x;
|
|
|
|
private final double y;
|
|
|
|
private final double z;
|
2013-05-08 23:30:59 +00:00
|
|
|
|
2015-04-03 20:11:43 +00:00
|
|
|
public RenderPlayerEvent(EntityPlayer player, RenderPlayer renderer, float partialRenderTick, double x, double y, double z)
|
2013-05-08 23:30:59 +00:00
|
|
|
{
|
|
|
|
super(player);
|
|
|
|
this.renderer = renderer;
|
2013-09-07 20:25:30 +00:00
|
|
|
this.partialRenderTick = partialRenderTick;
|
2015-04-03 20:11:43 +00:00
|
|
|
this.x = x;
|
|
|
|
this.y = y;
|
|
|
|
this.z = z;
|
2013-05-08 23:30:59 +00:00
|
|
|
}
|
|
|
|
|
2016-03-24 08:44:52 +00:00
|
|
|
public RenderPlayer getRenderer() { return renderer; }
|
|
|
|
public float getPartialRenderTick() { return partialRenderTick; }
|
|
|
|
public double getX() { return x; }
|
|
|
|
public double getY() { return y; }
|
|
|
|
public double getZ() { return z; }
|
|
|
|
|
2013-05-08 23:30:59 +00:00
|
|
|
@Cancelable
|
|
|
|
public static class Pre extends RenderPlayerEvent
|
|
|
|
{
|
2015-04-03 20:11:43 +00:00
|
|
|
public Pre(EntityPlayer player, RenderPlayer renderer, float tick, double x, double y, double z){ super(player, renderer, tick, x, y, z); }
|
2015-04-04 21:30:23 +00:00
|
|
|
@Deprecated
|
|
|
|
public Pre(EntityPlayer player, RenderPlayer renderer, float tick){ this(player, renderer, tick, 0D, 0D, 0D); }
|
2013-05-08 23:30:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static class Post extends RenderPlayerEvent
|
|
|
|
{
|
2015-04-03 20:11:43 +00:00
|
|
|
public Post(EntityPlayer player, RenderPlayer renderer, float tick, double x, double y, double z){ super(player, renderer, tick, x, y, z); }
|
2015-04-04 21:30:23 +00:00
|
|
|
@Deprecated
|
|
|
|
public Post(EntityPlayer player, RenderPlayer renderer, float tick){ this(player, renderer, tick, 0D, 0D, 0D); }
|
|
|
|
}
|
|
|
|
|
|
|
|
@Deprecated
|
|
|
|
public abstract static class Specials extends RenderPlayerEvent
|
|
|
|
{
|
|
|
|
public Specials(EntityPlayer player, RenderPlayer renderer, float partialTicks)
|
|
|
|
{
|
|
|
|
super(player, renderer, partialTicks, 0D, 0D, 0D);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Cancelable
|
|
|
|
public static class Pre extends Specials
|
|
|
|
{
|
2016-03-24 08:44:52 +00:00
|
|
|
private boolean renderHelmet = true;
|
|
|
|
private boolean renderCape = true;
|
|
|
|
private boolean renderItem = true;
|
2015-04-04 21:30:23 +00:00
|
|
|
public Pre(EntityPlayer player, RenderPlayer renderer, float partialTicks){ super(player, renderer, partialTicks); }
|
2016-03-24 08:44:52 +00:00
|
|
|
|
|
|
|
public boolean shouldRenderHelmet() { return renderHelmet; }
|
|
|
|
public void setRenderHelmet(boolean renderHelmet) { this.renderHelmet = renderHelmet; }
|
|
|
|
public boolean shouldRenderCape() { return renderCape; }
|
|
|
|
public void setRenderCape(boolean renderCape) { this.renderCape = renderCape; }
|
|
|
|
public boolean shouldRenderItem() { return renderItem; }
|
|
|
|
public void setRenderItem(boolean renderItem) { this.renderItem = renderItem; }
|
2015-04-04 21:30:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static class Post extends Specials
|
|
|
|
{
|
|
|
|
public Post(EntityPlayer player, RenderPlayer renderer, float partialTicks){ super(player, renderer, partialTicks); }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Deprecated
|
|
|
|
public static class SetArmorModel extends RenderPlayerEvent
|
|
|
|
{
|
2016-03-24 08:44:52 +00:00
|
|
|
private int result = -1;
|
|
|
|
private final int slot;
|
|
|
|
private final ItemStack stack;
|
2015-04-04 21:30:23 +00:00
|
|
|
public SetArmorModel(EntityPlayer player, RenderPlayer renderer, int slot, float partialTick, ItemStack stack)
|
|
|
|
{
|
|
|
|
super(player, renderer, partialTick, 0D, 0D, 0D);
|
|
|
|
this.slot = slot;
|
|
|
|
this.stack = stack;
|
|
|
|
}
|
2016-03-24 08:44:52 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Setting this to any value besides -1 will result in the function being
|
|
|
|
* Immediately exited with the return value specified.
|
|
|
|
*/
|
|
|
|
public int getResultValue()
|
|
|
|
{
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setResult(int result)
|
|
|
|
{
|
|
|
|
this.result = result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getSlot()
|
|
|
|
{
|
|
|
|
return slot;
|
|
|
|
}
|
|
|
|
|
|
|
|
public ItemStack getStack()
|
|
|
|
{
|
|
|
|
return stack;
|
|
|
|
}
|
2013-05-08 23:30:59 +00:00
|
|
|
}
|
|
|
|
}
|