mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
toasters, crappy screens
This commit is contained in:
parent
f43456b459
commit
0c8ee5aa19
@ -434,8 +434,10 @@ public class ModBlocks {
|
||||
|
||||
public static Block brick_forgotten;
|
||||
public static Block brick_red;
|
||||
|
||||
|
||||
public static Block deco_computer;
|
||||
public static Block deco_crt;
|
||||
public static Block deco_toaster;
|
||||
|
||||
public static Block filing_cabinet;
|
||||
|
||||
@ -1670,6 +1672,8 @@ public class ModBlocks {
|
||||
brick_red = new BlockRedBrick(Material.rock).setBlockName("brick_red").setResistance(10_000);
|
||||
|
||||
deco_computer = new BlockDecoModel(Material.iron, DecoComputerEnum.class, true, false).setBlockBoundsTo(.160749F, 0F, 0F, .839251F, .867849F, .622184F).setBlockName("deco_computer").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_computer");
|
||||
deco_crt = new BlockDecoCRT(Material.iron).setBlockName("deco_crt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
deco_toaster = new BlockDecoToaster(Material.iron).setBlockName("deco_toaster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
filing_cabinet = new BlockDecoContainer(Material.iron, DecoCabinetEnum.class, true, false, TileEntityFileCabinet.class).setBlockBoundsTo(.1875F, 0F, 0F, .8125F, 1F, .75F).setBlockName("filing_cabinet").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
tape_recorder = new DecoTapeRecorder(Material.iron).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder");
|
||||
@ -2884,7 +2888,9 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(brick_jungle_circle, brick_jungle_circle.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_forgotten, brick_forgotten.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_red, brick_red.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(deco_computer, ItemBlockBase.class, deco_computer.getUnlocalizedName());
|
||||
register(deco_computer);
|
||||
register(deco_crt);
|
||||
register(deco_toaster);
|
||||
GameRegistry.registerBlock(filing_cabinet, ItemBlockBase.class, filing_cabinet.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(steel_poles, steel_poles.getUnlocalizedName());
|
||||
|
||||
76
src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java
Normal file
76
src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java
Normal file
@ -0,0 +1,76 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.BlockMulti;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockDecoCRT extends BlockMulti {
|
||||
|
||||
protected String[] variants = new String[] {"crt_clean", "crt_broken", "crt_blinking", "crt_bsod"};
|
||||
@SideOnly(Side.CLIENT) protected IIcon[] icons;
|
||||
|
||||
public BlockDecoCRT(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
public static int renderID = RenderingRegistry.getNextAvailableRenderId();
|
||||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return renderID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
super.registerBlockIcons(reg);
|
||||
this.icons = new IIcon[variants.length];
|
||||
|
||||
for(int i = 0; i < variants.length; i++) {
|
||||
this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int meta) {
|
||||
return this.icons[damageDropped(meta)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped(int meta) {
|
||||
return (Math.abs(meta) % 16) / 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
|
||||
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
|
||||
int meta = stack.getItemDamage();
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta * 4 + i, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSubCount() {
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
93
src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java
Normal file
93
src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java
Normal file
@ -0,0 +1,93 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import com.hbm.blocks.BlockMulti;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockDecoToaster extends BlockMulti {
|
||||
|
||||
protected String[] variants = new String[] {"toaster_iron", "toaster_steel", "toaster_wood"};
|
||||
@SideOnly(Side.CLIENT) protected IIcon[] icons;
|
||||
|
||||
public BlockDecoToaster(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
public static int renderID = RenderingRegistry.getNextAvailableRenderId();
|
||||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return renderID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
super.registerBlockIcons(reg);
|
||||
this.icons = new IIcon[variants.length];
|
||||
|
||||
for(int i = 0; i < variants.length; i++) {
|
||||
this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int meta) {
|
||||
return this.icons[damageDropped(meta)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped(int meta) {
|
||||
return (Math.abs(meta) % 12) / 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
|
||||
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
|
||||
int meta = stack.getItemDamage();
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta * 4 + i, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSubCount() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) {
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if(meta % 2 == 0)
|
||||
this.setBlockBounds(0.25F, 0.0F, 0.375F, 0.75F, 0.325F, 0.625F);
|
||||
else
|
||||
this.setBlockBounds(0.375F, 0.0F, 0.25F, 0.625F, 0.325F, 0.75F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
|
||||
this.setBlockBoundsBasedOnState(world, x, y, z);
|
||||
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
|
||||
}
|
||||
}
|
||||
@ -850,6 +850,8 @@ public class ClientProxy extends ServerProxy {
|
||||
RenderingRegistry.registerBlockHandler(new RenderCapacitor());
|
||||
RenderingRegistry.registerBlockHandler(new RenderPedestal());
|
||||
RenderingRegistry.registerBlockHandler(new RenderLight());
|
||||
RenderingRegistry.registerBlockHandler(new RenderCRT());
|
||||
RenderingRegistry.registerBlockHandler(new RenderToaster());
|
||||
|
||||
RenderingRegistry.registerBlockHandler(new RenderFoundryBasin());
|
||||
RenderingRegistry.registerBlockHandler(new RenderFoundryMold());
|
||||
|
||||
@ -215,6 +215,11 @@ public class ModEventHandlerClient {
|
||||
} else if(world.getBlock(mop.blockX, mop.blockY, mop.blockZ) instanceof ILookOverlay) {
|
||||
((ILookOverlay) world.getBlock(mop.blockX, mop.blockY, mop.blockZ)).printHook(event, world, mop.blockX, mop.blockY, mop.blockZ);
|
||||
}
|
||||
|
||||
List<String> text = new ArrayList();
|
||||
text.add("Meta: " + world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ));
|
||||
ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text);
|
||||
|
||||
} else if(mop.typeOfHit == mop.typeOfHit.ENTITY) {
|
||||
Entity entity = mop.entityHit;
|
||||
|
||||
|
||||
@ -1472,6 +1472,8 @@ public class ResourceManager {
|
||||
public static final IModelCustom pipe_quad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_quad.obj"));
|
||||
public static final IModelCustom pipe_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_frame.obj"));
|
||||
public static final IModelCustom rtty = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rtty.obj"));
|
||||
public static final IModelCustom crt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/crt.obj"));
|
||||
public static final IModelCustom toaster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/toaster.obj"));
|
||||
|
||||
public static final IModelCustom deco_computer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/puter.obj"));
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ public class RenderBlockDecoModel implements ISimpleBlockRenderingHandler {
|
||||
GL11.glTranslated(0, 0.1D, 0);
|
||||
GL11.glScaled(1.2D, 1.2D, 1.2D);
|
||||
tessellator.startDrawingQuads();
|
||||
ObjUtil.renderWithIcon((WavefrontObject) model, iicon, tessellator, modelId, false);
|
||||
ObjUtil.renderWithIcon((WavefrontObject) model, iicon, tessellator, 0, false);
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
|
||||
83
src/main/java/com/hbm/render/block/RenderCRT.java
Normal file
83
src/main/java/com/hbm/render/block/RenderCRT.java
Normal file
@ -0,0 +1,83 @@
|
||||
package com.hbm.render.block;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.generic.BlockDecoCRT;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.util.ObjUtil;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||
|
||||
public class RenderCRT implements ISimpleBlockRenderingHandler {
|
||||
|
||||
@Override
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, metadata * 4);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if(renderer.hasOverrideBlockTexture()) {
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
GL11.glTranslated(0, -0.5, 0);
|
||||
tessellator.startDrawingQuads();
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.crt, iicon, tessellator, (float) Math.PI * -0.5F, false);
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z));
|
||||
|
||||
int brightness = block.getMixedBrightnessForBlock(world, x, y, z);
|
||||
tessellator.setBrightness(brightness);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if(renderer.hasOverrideBlockTexture()) {
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
float rotation = 0;
|
||||
int metaOrig = world.getBlockMetadata(x, y, z);
|
||||
int meta = metaOrig % 4;
|
||||
|
||||
switch(meta) {
|
||||
default: rotation = 0.5F * (float) Math.PI; break;
|
||||
case 1: break;
|
||||
case 2: rotation = 1.5F * (float) Math.PI; break;
|
||||
case 3: rotation = (float) Math.PI; break;
|
||||
}
|
||||
|
||||
tessellator.addTranslation(x + 0.5F, y, z + 0.5F);
|
||||
ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crt, "Monitor", iicon, tessellator, rotation, true);
|
||||
if(metaOrig >= 8) tessellator.setBrightness(240);
|
||||
ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crt, "Screen", iicon, tessellator, rotation, true);
|
||||
tessellator.setBrightness(brightness);
|
||||
tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory(int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderId() {
|
||||
return BlockDecoCRT.renderID;
|
||||
}
|
||||
}
|
||||
80
src/main/java/com/hbm/render/block/RenderToaster.java
Normal file
80
src/main/java/com/hbm/render/block/RenderToaster.java
Normal file
@ -0,0 +1,80 @@
|
||||
package com.hbm.render.block;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.generic.BlockDecoToaster;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.util.ObjUtil;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||
|
||||
public class RenderToaster implements ISimpleBlockRenderingHandler {
|
||||
|
||||
@Override
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, metadata * 4);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if(renderer.hasOverrideBlockTexture()) {
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
GL11.glTranslated(0, -0.25, 0);
|
||||
tessellator.startDrawingQuads();
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.toaster, iicon, tessellator, (float) Math.PI * -0.5F, false);
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z));
|
||||
|
||||
int brightness = block.getMixedBrightnessForBlock(world, x, y, z);
|
||||
tessellator.setBrightness(brightness);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if(renderer.hasOverrideBlockTexture()) {
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
float rotation = 0;
|
||||
int metaOrig = world.getBlockMetadata(x, y, z);
|
||||
int meta = metaOrig % 4;
|
||||
|
||||
switch(meta) {
|
||||
default: rotation = 0.5F * (float) Math.PI; break;
|
||||
case 1: break;
|
||||
case 2: rotation = 1.5F * (float) Math.PI; break;
|
||||
case 3: rotation = (float) Math.PI; break;
|
||||
}
|
||||
|
||||
tessellator.addTranslation(x + 0.5F, y, z + 0.5F);
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.toaster, iicon, tessellator, rotation, true);
|
||||
tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory(int modelId) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderId() {
|
||||
return BlockDecoToaster.renderID;
|
||||
}
|
||||
}
|
||||
@ -131,7 +131,7 @@ public class ObjUtil {
|
||||
|
||||
// The shoddy way of rendering a tringulated model with a quad
|
||||
// tessellator
|
||||
if(i % 3 == 2)
|
||||
if(f.vertices.length == 3 && i % 3 == 2)
|
||||
tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16D), icon.getInterpolatedV(t.v * 16D));
|
||||
}
|
||||
}
|
||||
|
||||
@ -3851,6 +3851,8 @@ tile.crystal_virus.name=Dunkler Kristall
|
||||
tile.deco_aluminium.name=Aluminium-Dekoblock
|
||||
tile.deco_asbestos.name=Asbestdach
|
||||
tile.deco_beryllium.name=Beryllium-Dekoblock
|
||||
tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL
|
||||
tile.deco_crt.name=Alter Röhrenbildschirm
|
||||
tile.deco_emitter.name=Deko-Lichtemitter
|
||||
tile.deco_lead.name=Blei-Dekoblock
|
||||
tile.deco_rbmk.name=RBMK-Dekoblock
|
||||
@ -3882,6 +3884,7 @@ tile.deco_pipe_rim_red.name=Rotes Stahlrohr mit Rand
|
||||
tile.deco_pipe_rim_marked.name=Gasrohr mit Rand
|
||||
tile.deco_steel.name=Stahl-Dekoblock
|
||||
tile.deco_titanium.name=Titan-Dekoblock
|
||||
tile.deco_toaster.name=Kaputter Toaster
|
||||
tile.deco_tungsten.name=Wolfram-Dekoblock
|
||||
tile.decon.name=Spieler-Dekontaminierer
|
||||
tile.depth_brick.name=Tiefenziegel
|
||||
|
||||
@ -4848,6 +4848,7 @@ tile.deco_aluminium.name=Aluminium Deco Block
|
||||
tile.deco_asbestos.name=Asbestos Roof
|
||||
tile.deco_beryllium.name=Beryllium Deco Block
|
||||
tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL
|
||||
tile.deco_crt.name=Old CRT Screen
|
||||
tile.deco_emitter.name=Deco Light Emitter
|
||||
tile.deco_lead.name=Lead Deco Block
|
||||
tile.deco_rbmk.name=RBMK Deco Block
|
||||
@ -4879,6 +4880,7 @@ tile.deco_pipe_rim_red.name=Red Steel Pipe (Rimmed)
|
||||
tile.deco_pipe_rim_marked.name=Gas Pipe (Rimmed)
|
||||
tile.deco_steel.name=Steel Deco Block
|
||||
tile.deco_titanium.name=Titanium Deco Block
|
||||
tile.deco_toaster.name=Broken Toaster
|
||||
tile.deco_tungsten.name=Tungsten Deco Block
|
||||
tile.decon.name=Player Decontaminator
|
||||
tile.depth_brick.name=Depth Bricks
|
||||
|
||||
126
src/main/resources/assets/hbm/models/blocks/crt.obj
Normal file
126
src/main/resources/assets/hbm/models/blocks/crt.obj
Normal file
@ -0,0 +1,126 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'crt.blend'
|
||||
# www.blender.org
|
||||
o Screen
|
||||
v 0.437500 0.875000 -0.375000
|
||||
v 0.437500 0.875000 0.375000
|
||||
v 0.437500 0.125000 -0.375000
|
||||
v 0.437500 0.125000 0.375000
|
||||
vt 0.437500 0.437500
|
||||
vt 0.062500 0.062500
|
||||
vt 0.437500 0.062500
|
||||
vt 0.062500 0.437500
|
||||
vn 1.0000 0.0000 0.0000
|
||||
s off
|
||||
f 1/1/1 4/2/1 3/3/1
|
||||
f 1/1/1 2/4/1 4/2/1
|
||||
o Monitor
|
||||
v 0.000000 1.000000 -0.500000
|
||||
v 0.000000 1.000000 0.500000
|
||||
v 0.000000 0.000000 -0.500000
|
||||
v 0.000000 0.000000 0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 0.500000 0.125000 0.375000
|
||||
v 0.500000 0.125000 -0.375000
|
||||
v 0.500000 0.875000 0.375000
|
||||
v 0.500000 0.875000 -0.375000
|
||||
v 0.437500 0.125000 0.375000
|
||||
v 0.437500 0.125000 -0.375000
|
||||
v 0.437500 0.875000 0.375000
|
||||
v 0.437500 0.875000 -0.375000
|
||||
v -0.500000 0.250000 0.250000
|
||||
v -0.500000 0.250000 -0.250000
|
||||
v -0.500000 0.750000 0.250000
|
||||
v -0.500000 0.750000 -0.250000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 0.000000
|
||||
vt 0.031250 0.062500
|
||||
vt 0.062500 0.437500
|
||||
vt 0.031250 0.437500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.062500
|
||||
vt 0.500000 0.000000
|
||||
vt 0.062500 0.062500
|
||||
vt 0.000000 0.000000
|
||||
vt 0.062500 0.437500
|
||||
vt 0.000000 0.500000
|
||||
vt 0.437500 0.437500
|
||||
vt 0.062500 0.468750
|
||||
vt 0.437500 0.437500
|
||||
vt 0.437500 0.468750
|
||||
vt 0.468750 0.437500
|
||||
vt 0.437500 0.062500
|
||||
vt 0.468750 0.062500
|
||||
vt 0.437500 0.031250
|
||||
vt 0.062500 0.062500
|
||||
vt 0.062500 0.031250
|
||||
vt 1.000000 0.000000
|
||||
vt 0.500000 0.250000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 0.000000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.750000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.625000 0.500000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.625000 0.500000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.625000 0.500000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.625000 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -0.4472 0.0000 -0.8944
|
||||
vn -0.4472 -0.8944 0.0000
|
||||
vn -0.4472 0.0000 0.8944
|
||||
vn -0.4472 0.8944 0.0000
|
||||
s off
|
||||
f 10/5/2 5/6/2 12/7/2
|
||||
f 13/8/2 19/9/2 15/10/2
|
||||
f 12/11/3 14/12/3 10/13/3
|
||||
f 10/13/3 13/14/3 9/15/3
|
||||
f 9/15/3 15/16/3 11/17/3
|
||||
f 11/17/3 16/18/3 12/11/3
|
||||
f 15/19/4 20/20/4 16/21/4
|
||||
f 16/22/5 18/23/5 14/24/5
|
||||
f 14/25/6 17/26/6 13/27/6
|
||||
f 9/28/4 7/29/4 10/13/4
|
||||
f 11/30/5 8/31/5 9/32/5
|
||||
f 12/33/6 6/34/6 11/35/6
|
||||
f 21/36/7 24/37/7 22/38/7
|
||||
f 7/39/8 24/40/8 5/6/8
|
||||
f 8/41/9 22/42/9 7/29/9
|
||||
f 6/43/10 21/44/10 8/31/10
|
||||
f 5/45/11 23/46/11 6/34/11
|
||||
f 10/5/2 7/39/2 5/6/2
|
||||
f 13/8/2 17/26/2 19/9/2
|
||||
f 12/11/3 16/18/3 14/12/3
|
||||
f 10/13/3 14/12/3 13/14/3
|
||||
f 9/15/3 13/14/3 15/16/3
|
||||
f 11/17/3 15/16/3 16/18/3
|
||||
f 15/19/4 19/9/4 20/20/4
|
||||
f 16/22/5 20/20/5 18/23/5
|
||||
f 14/25/6 18/23/6 17/26/6
|
||||
f 9/28/4 8/41/4 7/29/4
|
||||
f 11/30/5 6/43/5 8/31/5
|
||||
f 12/33/6 5/45/6 6/34/6
|
||||
f 21/36/7 23/46/7 24/37/7
|
||||
f 7/39/8 22/47/8 24/40/8
|
||||
f 8/41/9 21/48/9 22/42/9
|
||||
f 6/43/10 23/49/10 21/44/10
|
||||
f 5/45/11 24/37/11 23/46/11
|
||||
186
src/main/resources/assets/hbm/models/blocks/toaster.obj
Normal file
186
src/main/resources/assets/hbm/models/blocks/toaster.obj
Normal file
@ -0,0 +1,186 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'toaster.blend'
|
||||
# www.blender.org
|
||||
o Plane
|
||||
v 0.093750 0.312500 -0.125000
|
||||
v 0.031250 0.312500 -0.125000
|
||||
v 0.093750 0.312500 0.125000
|
||||
v 0.031250 0.312500 0.125000
|
||||
v -0.125000 0.000000 0.250000
|
||||
v 0.125000 0.000000 0.250000
|
||||
v -0.125000 0.000000 -0.250000
|
||||
v 0.125000 0.000000 -0.250000
|
||||
v -0.125000 0.250000 0.250000
|
||||
v 0.125000 0.250000 0.250000
|
||||
v -0.125000 0.250000 -0.250000
|
||||
v 0.125000 0.250000 -0.250000
|
||||
v -0.125000 0.312500 0.187500
|
||||
v 0.125000 0.312500 0.187500
|
||||
v -0.125000 0.312500 -0.187500
|
||||
v 0.125000 0.312500 -0.187500
|
||||
v -0.031250 0.312500 -0.125000
|
||||
v -0.093750 0.312500 -0.125000
|
||||
v -0.031250 0.312500 0.125000
|
||||
v -0.093750 0.312500 0.125000
|
||||
v 0.093750 0.062500 -0.125000
|
||||
v 0.031250 0.062500 -0.125000
|
||||
v 0.093750 0.062500 0.125000
|
||||
v 0.031250 0.062500 0.125000
|
||||
v -0.031250 0.062500 0.125000
|
||||
v -0.031250 0.062500 -0.125000
|
||||
v -0.093750 0.062500 -0.125000
|
||||
v -0.093750 0.062500 0.125000
|
||||
v -0.093750 0.156250 -0.250000
|
||||
v 0.093750 0.156250 -0.250000
|
||||
v -0.093750 0.218750 -0.250000
|
||||
v 0.093750 0.218750 -0.250000
|
||||
v 0.093750 0.156250 -0.312500
|
||||
v -0.093750 0.156250 -0.312500
|
||||
v 0.093750 0.218750 -0.312500
|
||||
v -0.093750 0.218750 -0.312500
|
||||
vt 0.750000 0.812500
|
||||
vt 0.812500 0.562500
|
||||
vt 0.812500 0.812500
|
||||
vt 0.500000 0.000000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.500000 0.812500
|
||||
vt 0.437500 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.750000 0.812500
|
||||
vt 0.812500 0.562500
|
||||
vt 0.812500 0.812500
|
||||
vt 0.500000 0.250000
|
||||
vt 0.062500 0.562500
|
||||
vt 0.750000 0.000000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.750000 0.250000
|
||||
vt 0.750000 0.000000
|
||||
vt 0.375000 0.718750
|
||||
vt 0.125000 0.656250
|
||||
vt 0.375000 0.656250
|
||||
vt -0.000000 0.562500
|
||||
vt 0.062500 0.812500
|
||||
vt -0.000000 0.812500
|
||||
vt 0.125000 0.593750
|
||||
vt 0.375000 0.593750
|
||||
vt 0.125000 0.781250
|
||||
vt 0.437500 0.812500
|
||||
vt 0.500000 0.250000
|
||||
vt 0.062500 0.562500
|
||||
vt -0.000000 0.250000
|
||||
vt 0.375000 0.781250
|
||||
vt 0.500000 0.500000
|
||||
vt 0.750000 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.750000 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.750000 0.812500
|
||||
vt 0.812500 0.562500
|
||||
vt 0.812500 0.812500
|
||||
vt 0.500000 0.812500
|
||||
vt 0.750000 0.812500
|
||||
vt 0.500000 0.812500
|
||||
vt 0.500000 0.812500
|
||||
vt 0.750000 0.562500
|
||||
vt 0.812500 0.562500
|
||||
vt 0.812500 0.812500
|
||||
vt 0.500000 0.812500
|
||||
vt 0.750000 0.562500
|
||||
vt 0.750000 0.375000
|
||||
vt 0.562500 0.312500
|
||||
vt 0.750000 0.312500
|
||||
vt 0.812500 0.375000
|
||||
vt 0.812500 0.312500
|
||||
vt 0.750000 0.250000
|
||||
vt 0.562500 0.250000
|
||||
vt 0.500000 0.312500
|
||||
vt 0.562500 0.375000
|
||||
vt 0.500000 0.375000
|
||||
vt 0.562500 0.437500
|
||||
vt 0.750000 0.437500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.750000 0.250000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.125000 0.718750
|
||||
vt 0.500000 0.500000
|
||||
vt 0.437500 0.562500
|
||||
vt -0.000000 0.500000
|
||||
vt 0.750000 0.500000
|
||||
vt 0.750000 0.500000
|
||||
vt 0.500000 0.562500
|
||||
vt 0.500000 0.562500
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.7071 0.7071
|
||||
vn -1.0000 0.0000 0.0000
|
||||
s off
|
||||
f 3/1/1 24/2/1 4/3/1
|
||||
f 7/4/2 6/5/2 5/6/2
|
||||
f 11/7/3 16/8/3 12/9/3
|
||||
f 19/10/1 28/11/1 20/12/1
|
||||
f 8/13/4 14/14/4 6/5/4
|
||||
f 7/15/1 12/16/1 8/17/1
|
||||
f 6/18/5 9/19/5 5/20/5
|
||||
f 17/21/6 4/22/6 2/23/6
|
||||
f 10/24/7 13/25/7 9/26/7
|
||||
f 3/27/6 16/8/6 1/28/6
|
||||
f 20/29/6 15/30/6 13/25/6
|
||||
f 5/31/8 15/32/8 7/33/8
|
||||
f 15/30/6 18/34/6 17/21/6
|
||||
f 13/25/6 14/14/6 4/22/6
|
||||
f 23/35/6 22/36/6 24/37/6
|
||||
f 25/38/6 27/39/6 28/40/6
|
||||
f 2/41/5 21/42/5 1/43/5
|
||||
f 20/44/4 27/39/4 18/45/4
|
||||
f 4/46/4 22/36/4 2/41/4
|
||||
f 1/47/8 23/48/8 3/1/8
|
||||
f 18/45/5 26/49/5 17/50/5
|
||||
f 17/51/8 25/52/8 19/10/8
|
||||
f 36/53/1 33/54/1 34/55/1
|
||||
f 31/56/8 34/55/8 29/57/8
|
||||
f 29/58/2 33/54/2 30/59/2
|
||||
f 30/60/4 35/61/4 32/62/4
|
||||
f 32/63/6 36/53/6 31/64/6
|
||||
f 3/1/1 23/48/1 24/2/1
|
||||
f 7/4/2 8/13/2 6/5/2
|
||||
f 11/7/3 15/30/3 16/8/3
|
||||
f 19/10/1 25/52/1 28/11/1
|
||||
f 8/13/4 12/65/4 16/8/4
|
||||
f 16/8/4 14/14/4 8/13/4
|
||||
f 14/14/4 10/66/4 6/5/4
|
||||
f 7/15/1 11/67/1 12/16/1
|
||||
f 6/18/5 10/68/5 9/19/5
|
||||
f 17/21/6 19/69/6 4/22/6
|
||||
f 10/24/7 14/14/7 13/25/7
|
||||
f 3/27/6 14/14/6 16/8/6
|
||||
f 20/29/6 18/34/6 15/30/6
|
||||
f 5/31/8 9/70/8 13/71/8
|
||||
f 13/71/8 15/32/8 5/31/8
|
||||
f 15/32/8 11/72/8 7/33/8
|
||||
f 17/21/6 2/23/6 15/30/6
|
||||
f 2/23/6 1/28/6 16/8/6
|
||||
f 15/30/6 2/23/6 16/8/6
|
||||
f 3/27/6 4/22/6 14/14/6
|
||||
f 4/22/6 19/69/6 13/25/6
|
||||
f 19/69/6 20/29/6 13/25/6
|
||||
f 23/35/6 21/73/6 22/36/6
|
||||
f 25/38/6 26/74/6 27/39/6
|
||||
f 2/41/5 22/36/5 21/42/5
|
||||
f 20/44/4 28/40/4 27/39/4
|
||||
f 4/46/4 24/37/4 22/36/4
|
||||
f 1/47/8 21/75/8 23/48/8
|
||||
f 18/45/5 27/39/5 26/49/5
|
||||
f 17/51/8 26/76/8 25/52/8
|
||||
f 36/53/1 35/61/1 33/54/1
|
||||
f 31/56/8 36/53/8 34/55/8
|
||||
f 29/58/2 34/55/2 33/54/2
|
||||
f 30/60/4 33/54/4 35/61/4
|
||||
f 32/63/6 35/61/6 36/53/6
|
||||
BIN
src/main/resources/assets/hbm/textures/blocks/crt_blinking.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/crt_blinking.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 397 B |
5
src/main/resources/assets/hbm/textures/blocks/crt_blinking.png.mcmeta
Executable file
5
src/main/resources/assets/hbm/textures/blocks/crt_blinking.png.mcmeta
Executable file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 10
|
||||
}
|
||||
}
|
||||
BIN
src/main/resources/assets/hbm/textures/blocks/crt_broken.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/crt_broken.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 644 B |
BIN
src/main/resources/assets/hbm/textures/blocks/crt_bsod.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/crt_bsod.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 418 B |
BIN
src/main/resources/assets/hbm/textures/blocks/crt_clean.png
Normal file
BIN
src/main/resources/assets/hbm/textures/blocks/crt_clean.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 397 B |
Loading…
x
Reference in New Issue
Block a user