protected IBakedModel bakeModel(ModelBlock modelBlockIn, net.minecraftforge.common.model.ITransformation modelRotationIn, boolean uvLocked)
{
TextureAtlasSprite textureatlassprite = (TextureAtlasSprite)this.sprites.get(new ResourceLocation(modelBlockIn.resolveTextureName("particle")));
SimpleBakedModel.Builder simplebakedmodel$builder = (new SimpleBakedModel.Builder(modelBlockIn, modelBlockIn.createOverrides())).setTexture(textureatlassprite);
if (modelBlockIn.getElements().isEmpty())
{
return null;
}
else
{
for (BlockPart blockpart : modelBlockIn.getElements())
{
for (EnumFacing enumfacing : blockpart.mapFaces.keySet())
{
BlockPartFace blockpartface = (BlockPartFace)blockpart.mapFaces.get(enumfacing);
TextureAtlasSprite textureatlassprite1 = (TextureAtlasSprite)this.sprites.get(new ResourceLocation(modelBlockIn.resolveTextureName(blockpartface.texture)));
if (blockpartface.cullFace == null || !net.minecraftforge.common.model.TRSRTransformation.isInteger(modelRotationIn.getMatrix()))
{
simplebakedmodel$builder.addGeneralQuad(this.makeBakedQuad(blockpart, blockpartface, textureatlassprite1, enumfacing, modelRotationIn, uvLocked));
}
else
{
simplebakedmodel$builder.addFaceQuad(modelRotationIn.rotate(blockpartface.cullFace), this.makeBakedQuad(blockpart, blockpartface, textureatlassprite1, enumfacing, modelRotationIn, uvLocked));
}
}
}
return simplebakedmodel$builder.makeBakedModel();
}
}
java类net.minecraft.client.renderer.texture.TextureAtlasSprite的实例源码
ModelBakery.java 文件源码
项目:CustomWorldGen
阅读 25
收藏 0
点赞 0
评论 0
GuiIngame.java 文件源码
项目:BaseClient
阅读 20
收藏 0
点赞 0
评论 0
private void func_180474_b(float p_180474_1_, ScaledResolution p_180474_2_) {
if (p_180474_1_ < 1.0F) {
p_180474_1_ = p_180474_1_ * p_180474_1_;
p_180474_1_ = p_180474_1_ * p_180474_1_;
p_180474_1_ = p_180474_1_ * 0.8F + 0.2F;
}
GlStateManager.disableAlpha();
GlStateManager.disableDepth();
GlStateManager.depthMask(false);
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
GlStateManager.color(1.0F, 1.0F, 1.0F, p_180474_1_);
this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
TextureAtlasSprite textureatlassprite = this.mc.getBlockRendererDispatcher().getBlockModelShapes()
.getTexture(Blocks.portal.getDefaultState());
float f = textureatlassprite.getMinU();
float f1 = textureatlassprite.getMinV();
float f2 = textureatlassprite.getMaxU();
float f3 = textureatlassprite.getMaxV();
Tessellator tessellator = Tessellator.getInstance();
WorldRenderer worldrenderer = tessellator.getWorldRenderer();
worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(0.0D, (double) p_180474_2_.getScaledHeight(), -90.0D).tex((double) f, (double) f3)
.endVertex();
worldrenderer.pos((double) p_180474_2_.getScaledWidth(), (double) p_180474_2_.getScaledHeight(), -90.0D)
.tex((double) f2, (double) f3).endVertex();
worldrenderer.pos((double) p_180474_2_.getScaledWidth(), 0.0D, -90.0D).tex((double) f2, (double) f1)
.endVertex();
worldrenderer.pos(0.0D, 0.0D, -90.0D).tex((double) f, (double) f1).endVertex();
tessellator.draw();
GlStateManager.depthMask(true);
GlStateManager.enableDepth();
GlStateManager.enableAlpha();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
}
Gui.java 文件源码
项目:DecompiledMinecraft
阅读 24
收藏 0
点赞 0
评论 0
/**
* Draws a texture rectangle using the texture currently bound to the TextureManager
*/
public void drawTexturedModalRect(int xCoord, int yCoord, TextureAtlasSprite textureSprite, int widthIn, int heightIn)
{
Tessellator tessellator = Tessellator.getInstance();
WorldRenderer worldrenderer = tessellator.getWorldRenderer();
worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos((double)(xCoord + 0), (double)(yCoord + heightIn), (double)this.zLevel).tex((double)textureSprite.getMinU(), (double)textureSprite.getMaxV()).endVertex();
worldrenderer.pos((double)(xCoord + widthIn), (double)(yCoord + heightIn), (double)this.zLevel).tex((double)textureSprite.getMaxU(), (double)textureSprite.getMaxV()).endVertex();
worldrenderer.pos((double)(xCoord + widthIn), (double)(yCoord + 0), (double)this.zLevel).tex((double)textureSprite.getMaxU(), (double)textureSprite.getMinV()).endVertex();
worldrenderer.pos((double)(xCoord + 0), (double)(yCoord + 0), (double)this.zLevel).tex((double)textureSprite.getMinU(), (double)textureSprite.getMinV()).endVertex();
tessellator.draw();
}
Gui.java 文件源码
项目:Backmemed
阅读 25
收藏 0
点赞 0
评论 0
/**
* Draws a texture rectangle using the texture currently bound to the TextureManager
*/
public void drawTexturedModalRect(int xCoord, int yCoord, TextureAtlasSprite textureSprite, int widthIn, int heightIn)
{
Tessellator tessellator = Tessellator.getInstance();
VertexBuffer vertexbuffer = tessellator.getBuffer();
vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX);
vertexbuffer.pos((double)(xCoord + 0), (double)(yCoord + heightIn), (double)this.zLevel).tex((double)textureSprite.getMinU(), (double)textureSprite.getMaxV()).endVertex();
vertexbuffer.pos((double)(xCoord + widthIn), (double)(yCoord + heightIn), (double)this.zLevel).tex((double)textureSprite.getMaxU(), (double)textureSprite.getMaxV()).endVertex();
vertexbuffer.pos((double)(xCoord + widthIn), (double)(yCoord + 0), (double)this.zLevel).tex((double)textureSprite.getMaxU(), (double)textureSprite.getMinV()).endVertex();
vertexbuffer.pos((double)(xCoord + 0), (double)(yCoord + 0), (double)this.zLevel).tex((double)textureSprite.getMinU(), (double)textureSprite.getMinV()).endVertex();
tessellator.draw();
}
ItemModelGenerator.java 文件源码
项目:BaseClient
阅读 24
收藏 0
点赞 0
评论 0
private List<BlockPart> func_178394_a(int p_178394_1_, String p_178394_2_, TextureAtlasSprite p_178394_3_)
{
Map<EnumFacing, BlockPartFace> map = Maps.<EnumFacing, BlockPartFace>newHashMap();
map.put(EnumFacing.SOUTH, new BlockPartFace((EnumFacing)null, p_178394_1_, p_178394_2_, new BlockFaceUV(new float[] {0.0F, 0.0F, 16.0F, 16.0F}, 0)));
map.put(EnumFacing.NORTH, new BlockPartFace((EnumFacing)null, p_178394_1_, p_178394_2_, new BlockFaceUV(new float[] {16.0F, 0.0F, 0.0F, 16.0F}, 0)));
List<BlockPart> list = Lists.<BlockPart>newArrayList();
list.add(new BlockPart(new Vector3f(0.0F, 0.0F, 7.5F), new Vector3f(16.0F, 16.0F, 8.5F), map, (BlockPartRotation)null, true));
list.addAll(this.func_178397_a(p_178394_3_, p_178394_2_, p_178394_1_));
return list;
}
SimpleBakedModel.java 文件源码
项目:DecompiledMinecraft
阅读 22
收藏 0
点赞 0
评论 0
public Builder(IBakedModel p_i46075_1_, TextureAtlasSprite p_i46075_2_)
{
this(p_i46075_1_.isAmbientOcclusion(), p_i46075_1_.isGui3d(), p_i46075_1_.getItemCameraTransforms());
this.builderTexture = p_i46075_1_.getParticleTexture();
for (EnumFacing enumfacing : EnumFacing.values())
{
this.addFaceBreakingFours(p_i46075_1_, p_i46075_2_, enumfacing);
}
this.addGeneralBreakingFours(p_i46075_1_, p_i46075_2_);
}
SimpleBakedModel.java 文件源码
项目:DecompiledMinecraft
阅读 21
收藏 0
点赞 0
评论 0
private void addFaceBreakingFours(IBakedModel p_177649_1_, TextureAtlasSprite p_177649_2_, EnumFacing p_177649_3_)
{
for (BakedQuad bakedquad : p_177649_1_.getFaceQuads(p_177649_3_))
{
this.addFaceQuad(p_177649_3_, new BreakingFour(bakedquad, p_177649_2_));
}
}
BlockRendererDispatcher.java 文件源码
项目:Backmemed
阅读 23
收藏 0
点赞 0
评论 0
public void renderBlockDamage(IBlockState state, BlockPos pos, TextureAtlasSprite texture, IBlockAccess blockAccess)
{
if (state.getRenderType() == EnumBlockRenderType.MODEL)
{
state = state.getActualState(blockAccess, pos);
IBakedModel ibakedmodel = this.blockModelShapes.getModelForState(state);
IBakedModel ibakedmodel1 = (new SimpleBakedModel.Builder(state, ibakedmodel, texture, pos)).makeBakedModel();
this.blockModelRenderer.renderModel(blockAccess, ibakedmodel1, state, pos, Tessellator.getInstance().getBuffer(), true);
}
}
BakedQuad.java 文件源码
项目:Backmemed
阅读 24
收藏 0
点赞 0
评论 0
public BakedQuad(int[] vertexDataIn, int tintIndexIn, EnumFacing faceIn, TextureAtlasSprite spriteIn)
{
this.vertexData = vertexDataIn;
this.tintIndex = tintIndexIn;
this.face = faceIn;
this.sprite = spriteIn;
this.fixVertexData();
}
GuiContainerFluidHatch.java 文件源码
项目:ModularMachinery
阅读 22
收藏 0
点赞 0
评论 0
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
FluidStack content = tank.getTank().getFluid();
if(content != null && content.amount > 0) {
int fluidColor = content.getFluid().getColor(content);
float red = (fluidColor >> 16 & 0xFF) / 255F;
float green = (fluidColor >> 8 & 0xFF) / 255F;
float blue = (fluidColor & 0xFF) / 255F;
float percFilled = ((float) content.amount) / ((float) tank.getTank().getCapacity());
percFilled = MathHelper.clamp(percFilled, 0F, 1F);
int pxFilled = MathHelper.ceil(percFilled * 61F);
GlStateManager.color(red, green, blue, 1.0F);
ResourceLocation rl = content.getFluid().getStill(content);
TextureAtlasSprite tas = Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry(rl.toString());
if(tas == null) {
tas = Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite();
}
this.mc.getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
drawTexturedModalRect(15, 10 + 61 - pxFilled, tas, 20, pxFilled);
} else if (ModularMachinery.isMekanismLoaded){
drawMekGasContent();
}
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(TEXTURES_FLUID_HATCH);
this.drawTexturedModalRect(15, 10, 176, 0, 20, 61);
}