Blazier Reworks

- Integrated new Blaze Burner assets by Kryppers
- Blaze burners now render independently when on a contraption
This commit is contained in:
simibubi 2022-05-30 18:43:30 +02:00
parent 79b16d6d26
commit c7b6be2e81
51 changed files with 2446 additions and 738 deletions

View file

@ -6,7 +6,6 @@ import java.util.Map;
import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Lang;
@ -137,10 +136,17 @@ public class AllBlockPartials {
SIGNAL_RED = block("track_signal/red_tube"), SIGNAL_YELLOW_CUBE = block("track_signal/yellow_cube"),
SIGNAL_YELLOW_GLOW = block("track_signal/yellow_glow"), SIGNAL_YELLOW = block("track_signal/yellow_tube"),
BLAZE_GOGGLES = block("blaze_burner/goggles"),
BLAZE_IDLE = block("blaze_burner/blaze/idle"), BLAZE_ACTIVE = block("blaze_burner/blaze/active"),
BLAZE_SUPER = block("blaze_burner/blaze/super"), BLAZE_BURNER_FLAME = block("blaze_burner/flame"),
BLAZE_BURNER_RODS = block("blaze_burner/rods_small"), BLAZE_BURNER_RODS_2 = block("blaze_burner/rods_large"),
BLAZE_BURNER_SUPER_RODS = block("blaze_burner/superheated_rods_small"),
BLAZE_BURNER_SUPER_RODS_2 = block("blaze_burner/superheated_rods_large"),
WHISTLE_MOUTH_LARGE = block("steam_whistle/large_mouth"),
WHISTLE_MOUTH_MEDIUM = block("steam_whistle/medium_mouth"),
WHISTLE_MOUTH_SMALL = block("steam_whistle/small_mouth"),
CRAFTING_BLUEPRINT_1x1 = entity("crafting_blueprint_small"),
CRAFTING_BLUEPRINT_2x2 = entity("crafting_blueprint_medium"),
CRAFTING_BLUEPRINT_3x3 = entity("crafting_blueprint_large"),
@ -155,8 +161,6 @@ public class AllBlockPartials {
public static final Map<FluidTransportBehaviour.AttachmentTypes, Map<Direction, PartialModel>> PIPE_ATTACHMENTS =
new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.class);
public static final Map<BlazeBurnerBlock.HeatLevel, PartialModel> BLAZES =
new EnumMap<>(BlazeBurnerBlock.HeatLevel.class);
public static final Map<Direction, PartialModel> METAL_GIRDER_BRACKETS = new EnumMap<>(Direction.class);
public static final Map<DyeColor, PartialModel> TOOLBOX_LIDS = new EnumMap<>(DyeColor.class);
@ -171,11 +175,6 @@ public class AllBlockPartials {
}
PIPE_ATTACHMENTS.put(type, map);
}
for (BlazeBurnerBlock.HeatLevel heat : BlazeBurnerBlock.HeatLevel.values()) {
if (heat == BlazeBurnerBlock.HeatLevel.NONE)
continue;
BLAZES.put(heat, block("blaze_burner/blaze/" + heat.getSerializedName()));
}
for (DyeColor color : DyeColor.values())
TOOLBOX_LIDS.put(color, block("toolbox/lid/" + Lang.asId(color.name())));
for (Direction d : Iterate.horizontalDirections)

View file

@ -104,6 +104,7 @@ import com.simibubi.create.content.contraptions.processing.BasinMovementBehaviou
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockItem;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerInteractionBehaviour;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerMovementBehaviour;
import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock;
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
@ -632,6 +633,7 @@ public class AllBlocks {
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.FAN_HEATERS.tag)
.loot((lt, block) -> lt.add(block, BlazeBurnerBlock.buildLootTable()))
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
.onRegister(addMovementBehaviour(new BlazeBurnerMovementBehaviour()))
.onRegister(addInteractionBehaviour(new BlazeBurnerInteractionBehaviour()))
.item(BlazeBurnerBlockItem::withBlaze)
.model(AssetLookup.<BlazeBurnerBlockItem>customBlockItemModel("blaze_burner", "block_with_blaze"))

View file

@ -205,8 +205,7 @@ public class AllShapes {
SPEED_CONTROLLER = shape(0, 0, 0, 16, 4, 16).add(1, 1, 1, 15, 13, 15)
.add(0, 8, 0, 16, 14, 16)
.build(),
HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16)
.build(),
HEATER_BLOCK_SHAPE = shape(1, 0, 1, 15, 14, 15).build(),
HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(),
CRUSHING_WHEEL_COLLISION_SHAPE = cuboid(0, 0, 0, 16, 16, 16), SEAT = cuboid(0, 0, 0, 16, 8, 16),
SEAT_COLLISION = cuboid(0, 0, 0, 16, 6, 16),

View file

@ -25,6 +25,11 @@ public class AllSpriteShifts {
public static final Map<DyeColor, SpriteShiftEntry> DYED_BELTS = new IdentityHashMap<>(),
DYED_OFFSET_BELTS = new IdentityHashMap<>(), DYED_DIAGONAL_BELTS = new IdentityHashMap<>();
public static final SpriteShiftEntry BURNER_FLAME =
SpriteShifter.get("block/blaze_burner_flame", "block/blaze_burner_flame_scroll"),
SUPER_BURNER_FLAME =
SpriteShifter.get("block/blaze_burner_flame", "block/blaze_burner_flame_superheated_scroll");
public static final CTSpriteShiftEntry FRAMED_GLASS =
getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
HORIZONTAL_FRAMED_GLASS =
@ -51,8 +56,7 @@ public class AllSpriteShifts {
CHASSIS_STICKY = omni("linear_chassis_end_sticky");
public static final CTSpriteShiftEntry BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"),
FLUID_TANK = getCT(CTType.RECTANGLE, "fluid_tank"),
FLUID_TANK_TOP = getCT(CTType.RECTANGLE, "fluid_tank_top"),
FLUID_TANK = getCT(CTType.RECTANGLE, "fluid_tank"), FLUID_TANK_TOP = getCT(CTType.RECTANGLE, "fluid_tank_top"),
CREATIVE_FLUID_TANK = getCT(CTType.CROSS, "creative_fluid_tank");
public static final Couple<CTSpriteShiftEntry> VAULT_TOP = vault("top"), VAULT_FRONT = vault("front"),

View file

@ -2,13 +2,22 @@ package com.simibubi.create.compat.jei.category.animations;
import com.jozufozu.flywheel.core.PartialModel;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.util.Mth;
import net.minecraft.world.level.block.Blocks;
public class AnimatedBlazeBurner extends AnimatedKinetics {
@ -26,19 +35,61 @@ public class AnimatedBlazeBurner extends AnimatedKinetics {
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
int scale = 23;
blockElement(AllBlocks.BLAZE_BURNER.getDefaultState())
.atLocal(0, 1.65, 0)
float offset = (Mth.sin(AnimationTickHolder.getRenderTime() / 16f) + 0.5f) / 16f;
blockElement(AllBlocks.BLAZE_BURNER.getDefaultState()).atLocal(0, 1.65, 0)
.scale(scale)
.render(matrixStack);
float offset = (Mth.sin(AnimationTickHolder.getRenderTime() / 16f) + 0.5f) / 16f;
PartialModel blaze = AllBlockPartials.BLAZES.get(heatLevel);
blockElement(blaze)
.atLocal(1, 1.65 + offset, 1)
PartialModel blaze =
heatLevel == HeatLevel.SEETHING ? AllBlockPartials.BLAZE_SUPER : AllBlockPartials.BLAZE_ACTIVE;
PartialModel rods2 = heatLevel == HeatLevel.SEETHING ? AllBlockPartials.BLAZE_BURNER_SUPER_RODS_2
: AllBlockPartials.BLAZE_BURNER_RODS_2;
blockElement(blaze).atLocal(1, 1.8, 1)
.rotate(0, 180, 0)
.scale(scale)
.render(matrixStack);
blockElement(rods2).atLocal(1, 1.7 + offset, 1)
.rotate(0, 180, 0)
.scale(scale)
.render(matrixStack);
matrixStack.scale(scale, -scale, scale);
matrixStack.translate(0, -1.8, 0);
SpriteShiftEntry spriteShift =
heatLevel == HeatLevel.SEETHING ? AllSpriteShifts.SUPER_BURNER_FLAME : AllSpriteShifts.BURNER_FLAME;
float spriteWidth = spriteShift.getTarget()
.getU1()
- spriteShift.getTarget()
.getU0();
float spriteHeight = spriteShift.getTarget()
.getV1()
- spriteShift.getTarget()
.getV0();
float time = AnimationTickHolder.getRenderTime(Minecraft.getInstance().level);
float speed = 1 / 32f + 1 / 64f * heatLevel.ordinal();
double vScroll = speed * time;
vScroll = vScroll - Math.floor(vScroll);
vScroll = vScroll * spriteHeight / 2;
double uScroll = speed * time / 2;
uScroll = uScroll - Math.floor(uScroll);
uScroll = uScroll * spriteWidth / 2;
Minecraft mc = Minecraft.getInstance();
MultiBufferSource.BufferSource buffer = mc.renderBuffers()
.bufferSource();
VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped());
CachedBufferer.partial(AllBlockPartials.BLAZE_BURNER_FLAME, Blocks.AIR.defaultBlockState())
.shiftUVScrolling(spriteShift, (float) uScroll, (float) vScroll)
.light(LightTexture.FULL_BRIGHT)
.renderInto(matrixStack, vb);
matrixStack.popPose();
}

View file

@ -35,6 +35,7 @@ import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
@ -57,7 +58,7 @@ import net.minecraftforge.common.util.FakePlayer;
@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity>, IWrenchable {
public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE<BlazeBurnerTileEntity>, IWrenchable {
public static final EnumProperty<HeatLevel> HEAT_LEVEL = EnumProperty.create("blaze", HeatLevel.class);
@ -69,7 +70,7 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
@Override
protected void createBlockStateDefinition(Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(HEAT_LEVEL);
builder.add(HEAT_LEVEL, FACING);
}
@Override
@ -111,8 +112,27 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand,
BlockHitResult blockRayTraceResult) {
ItemStack heldItem = player.getItemInHand(hand);
HeatLevel heat = state.getValue(HEAT_LEVEL);
if (state.getValue(HEAT_LEVEL) == HeatLevel.NONE) {
if (AllItems.GOGGLES.isIn(heldItem) && heat != HeatLevel.NONE)
return onTileEntityUse(world, pos, bbte -> {
if (bbte.goggles)
return InteractionResult.PASS;
bbte.goggles = true;
bbte.notifyUpdate();
return InteractionResult.SUCCESS;
});
if (heldItem.isEmpty() && heat != HeatLevel.NONE)
return onTileEntityUse(world, pos, bbte -> {
if (!bbte.goggles)
return InteractionResult.PASS;
bbte.goggles = false;
bbte.notifyUpdate();
return InteractionResult.SUCCESS;
});
if (heat == HeatLevel.NONE) {
if (heldItem.getItem() instanceof FlintAndSteelItem) {
world.playSound(player, pos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F,
world.random.nextFloat() * 0.4F + 0.8F);
@ -180,7 +200,9 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
return defaultState;
HeatLevel initialHeat =
((BlazeBurnerBlockItem) item).hasCapturedBlaze() ? HeatLevel.SMOULDERING : HeatLevel.NONE;
return defaultState.setValue(HEAT_LEVEL, initialHeat);
return defaultState.setValue(HEAT_LEVEL, initialHeat)
.setValue(FACING, context.getHorizontalDirection()
.getOpposite());
}
@Override

View file

@ -0,0 +1,125 @@
package com.simibubi.create.content.contraptions.processing.burner;
import java.util.Random;
import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.content.logistics.trains.entity.CarriageContraption;
import com.simibubi.create.content.logistics.trains.entity.CarriageContraptionEntity;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlazeBurnerMovementBehaviour implements MovementBehaviour {
@Override
public boolean renderAsNormalTileEntity() {
return false;
}
@Override
public void tick(MovementContext context) {
if (!context.world.isClientSide())
return;
if (!shouldRender(context))
return;
Random r = context.world.getRandom();
Vec3 c = context.position;
Vec3 v = c.add(VecHelper.offsetRandomly(Vec3.ZERO, r, .125f)
.multiply(1, 0, 1));
if (r.nextInt(3) == 0)
context.world.addParticle(ParticleTypes.LARGE_SMOKE, v.x, v.y, v.z, 0, 0, 0);
LerpedFloat headAngle = getHeadAngle(context);
boolean quickTurn = shouldRenderHat(context) && !Mth.equal(context.relativeMotion.length(), 0);
headAngle.chase(
headAngle.getValue() + AngleHelper.getShortestAngleDiff(headAngle.getValue(), getTargetAngle(context)), .5f,
quickTurn ? Chaser.EXP : Chaser.exp(5));
headAngle.tickChaser();
}
public void invalidate(MovementContext context) {
context.data.remove("Conductor");
}
private boolean shouldRender(MovementContext context) {
return context.state.getOptionalValue(BlazeBurnerBlock.HEAT_LEVEL)
.orElse(HeatLevel.NONE) != HeatLevel.NONE;
}
private LerpedFloat getHeadAngle(MovementContext context) {
if (!(context.temporaryData instanceof LerpedFloat))
context.temporaryData = LerpedFloat.angular()
.startWithValue(getTargetAngle(context));
return (LerpedFloat) context.temporaryData;
}
private float getTargetAngle(MovementContext context) {
if (shouldRenderHat(context) && !Mth.equal(context.relativeMotion.length(), 0)
&& context.contraption.entity instanceof CarriageContraptionEntity cce) {
float angle = AngleHelper.deg(-Mth.atan2(context.relativeMotion.x, context.relativeMotion.z));
return cce.getInitialOrientation()
.getAxis() == Axis.X ? angle + 180 : angle;
}
Entity player = Minecraft.getInstance().cameraEntity;
if (player != null) {
Vec3 applyRotation = context.contraption.entity.reverseRotation(player.position()
.subtract(context.position), 1);
double dx = applyRotation.x;
double dz = applyRotation.z;
return AngleHelper.deg(-Mth.atan2(dz, dx)) - 90;
}
return 0;
}
private boolean shouldRenderHat(MovementContext context) {
CompoundTag data = context.data;
if (!data.contains("Conductor"))
data.putBoolean("Conductor", determineIfConducting(context));
return data.getBoolean("Conductor") && (context.contraption.entity instanceof CarriageContraptionEntity cce)
&& cce.hasSchedule();
}
private boolean determineIfConducting(MovementContext context) {
Contraption contraption = context.contraption;
if (!(contraption instanceof CarriageContraption carriageContraption))
return false;
Direction assemblyDirection = carriageContraption.getAssemblyDirection();
for (Direction direction : Iterate.directionsInAxis(assemblyDirection.getAxis()))
if (carriageContraption.inControl(context.localPos, direction))
return true;
return false;
}
@Override
@OnlyIn(Dist.CLIENT)
public void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld,
ContraptionMatrices matrices, MultiBufferSource buffer) {
if (!shouldRender(context))
return;
BlazeBurnerRenderer.renderInContraption(context, renderWorld, matrices, buffer, getHeadAngle(context),
shouldRenderHat(context));
}
}

View file

@ -1,14 +1,23 @@
package com.simibubi.create.content.contraptions.processing.burner;
import javax.annotation.Nullable;
import com.jozufozu.flywheel.core.PartialModel;
import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
@ -16,11 +25,12 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.core.Direction;
import net.minecraft.util.Mth;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
public class BlazeBurnerRenderer extends SafeTileEntityRenderer<BlazeBurnerTileEntity> {
public BlazeBurnerRenderer(BlockEntityRendererProvider.Context context) {
}
public BlazeBurnerRenderer(BlockEntityRendererProvider.Context context) {}
@Override
protected void renderSafe(BlazeBurnerTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer,
@ -29,14 +39,112 @@ public class BlazeBurnerRenderer extends SafeTileEntityRenderer<BlazeBurnerTileE
if (heatLevel == HeatLevel.NONE)
return;
float renderTick = AnimationTickHolder.getRenderTime(te.getLevel()) + (te.hashCode() % 13) * 16f;
float offset = (Mth.sin((float) ((renderTick / 16f) % (2 * Math.PI))) + .5f) / 16f;
float horizontalAngle = AngleHelper.rad(te.headAngle.getValue(partialTicks));
Level level = te.getLevel();
int hashCode = te.hashCode();
float animation = te.headAnimation.getValue(partialTicks) * .175f;
BlockState blockState = te.getBlockState();
boolean drawGoggles = te.goggles;
boolean drawHat = false;
PartialModel blazeModel = AllBlockPartials.BLAZES.get(heatLevel);
SuperByteBuffer blazeBuffer = CachedBufferer.partial(blazeModel, te.getBlockState());
blazeBuffer.rotateCentered(Direction.UP, AngleHelper.rad(te.headAngle.getValue(partialTicks)));
blazeBuffer.translate(0, offset, 0);
blazeBuffer.light(LightTexture.FULL_BRIGHT)
.renderInto(ms, buffer.getBuffer(RenderType.solid()));
renderShared(level, buffer, null, ms, blockState, horizontalAngle, animation, drawGoggles, drawHat, hashCode);
}
public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld,
ContraptionMatrices matrices, MultiBufferSource buffer, LerpedFloat headAngle, boolean conductor) {
BlockState state = context.state;
if (BlazeBurnerBlock.getHeatLevelOf(state) == HeatLevel.KINDLED)
state = state.setValue(BlazeBurnerBlock.HEAT_LEVEL, HeatLevel.FADING);
float value = AngleHelper.rad(headAngle.getValue(AnimationTickHolder.getPartialTicks(context.world)));
renderShared(context.world, buffer, matrices.getModel(), matrices.getViewProjection(), state, value, 0,
context.tileData.contains("Goggles"), conductor, context.hashCode());
}
private static void renderShared(Level level, MultiBufferSource buffer, @Nullable PoseStack modelTransform,
PoseStack ms, BlockState blockState, float horizontalAngle, float animation, boolean drawGoggles,
boolean drawHat, int hashCode) {
HeatLevel heatLevel = BlazeBurnerBlock.getHeatLevelOf(blockState);
float time = AnimationTickHolder.getRenderTime(level);
float renderTick = time + (hashCode % 13) * 16f;
float offsetMult = heatLevel.isAtLeast(HeatLevel.FADING) ? 64 : 16;
float offset = Mth.sin((float) ((renderTick / 16f) % (2 * Math.PI))) / offsetMult;
float offset1 = Mth.sin((float) ((renderTick / 16f + Math.PI) % (2 * Math.PI))) / offsetMult;
float offset2 = Mth.sin((float) ((renderTick / 16f + Math.PI / 2) % (2 * Math.PI))) / offsetMult;
VertexConsumer solid = buffer.getBuffer(RenderType.solid());
VertexConsumer cutout = buffer.getBuffer(RenderType.cutoutMipped());
ms.pushPose();
if (modelTransform == null && heatLevel.isAtLeast(HeatLevel.FADING)) {
SpriteShiftEntry spriteShift =
heatLevel == HeatLevel.SEETHING ? AllSpriteShifts.SUPER_BURNER_FLAME : AllSpriteShifts.BURNER_FLAME;
float spriteWidth = spriteShift.getTarget()
.getU1()
- spriteShift.getTarget()
.getU0();
float spriteHeight = spriteShift.getTarget()
.getV1()
- spriteShift.getTarget()
.getV0();
float speed = 1 / 32f + 1 / 64f * heatLevel.ordinal();
double vScroll = speed * time;
vScroll = vScroll - Math.floor(vScroll);
vScroll = vScroll * spriteHeight / 2;
double uScroll = speed * time / 2;
uScroll = uScroll - Math.floor(uScroll);
uScroll = uScroll * spriteWidth / 2;
draw(CachedBufferer.partial(AllBlockPartials.BLAZE_BURNER_FLAME, blockState)
.shiftUVScrolling(spriteShift, (float) uScroll, (float) vScroll), horizontalAngle, modelTransform, ms,
cutout);
}
PartialModel blazeModel = heatLevel == HeatLevel.SEETHING ? AllBlockPartials.BLAZE_SUPER
: heatLevel == HeatLevel.KINDLED ? AllBlockPartials.BLAZE_ACTIVE : AllBlockPartials.BLAZE_IDLE;
PartialModel rods = heatLevel == HeatLevel.SEETHING ? AllBlockPartials.BLAZE_BURNER_SUPER_RODS
: AllBlockPartials.BLAZE_BURNER_RODS;
PartialModel rods2 = heatLevel == HeatLevel.SEETHING ? AllBlockPartials.BLAZE_BURNER_SUPER_RODS_2
: AllBlockPartials.BLAZE_BURNER_RODS_2;
float headY = offset - (animation * .75f);
draw(CachedBufferer.partial(blazeModel, blockState)
.translate(0, headY, 0), horizontalAngle, modelTransform, ms, solid);
if (drawGoggles)
draw(CachedBufferer.partial(AllBlockPartials.BLAZE_GOGGLES, blockState)
.translate(0, headY + 8 / 16f, 0), horizontalAngle, modelTransform, ms, solid);
if (drawHat && modelTransform != null)
CachedBufferer.partial(AllBlockPartials.TRAIN_HAT, blockState)
.transform(modelTransform)
.translate(0, headY + 0.75f, 0)
.rotateCentered(Direction.UP, horizontalAngle + Mth.PI)
.translate(0.5f, 0, 0.5f)
.light(LightTexture.FULL_BRIGHT)
.renderInto(ms, solid);
draw(CachedBufferer.partial(rods, blockState)
.translate(0, offset1 + animation, 0), 0, modelTransform, ms, solid);
draw(CachedBufferer.partial(rods2, blockState)
.translate(0, offset2 + animation - .25f, 0), 0, modelTransform, ms, solid);
ms.popPose();
}
private static void draw(SuperByteBuffer blazeBuffer, float horizontalAngle, @Nullable PoseStack modelTransform,
PoseStack ms, VertexConsumer vb) {
if (modelTransform != null)
blazeBuffer.transform(modelTransform);
blazeBuffer.rotateCentered(Direction.UP, horizontalAngle)
.light(LightTexture.FULL_BRIGHT)
.renderInto(ms, vb);
}
}

View file

@ -5,18 +5,19 @@ import java.util.Random;
import com.simibubi.create.AllItems;
import com.simibubi.create.AllTags.AllItemTags;
import com.simibubi.create.content.contraptions.particle.CubeParticleData;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.Color;
import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
@ -24,37 +25,33 @@ import net.minecraft.util.Mth;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.ForgeHooks;
public class BlazeBurnerTileEntity extends SmartTileEntity {
public static final int MAX_HEAT_CAPACITY = 10000;
private final static Color[][] PARTICLE_COLORS = {
{ },
{ new Color(0x3B141A), new Color(0x47141A), new Color(0x7A3B24), new Color(0x854D26) },
{ new Color(0x2A0103), new Color(0x741B0A), new Color(0xC38246), new Color(0xCCBD78) },
{ new Color(0x630B03), new Color(0x8B3503), new Color(0xBC8200), new Color(0xCCC849) },
{ new Color(0x1C6378), new Color(0x4798B5), new Color(0x4DA6C0), new Color(0xBAC8CE) }
};
private final static Color[] CREATIVE_PARTICLE_COLORS = {
new Color(0x54295D),
new Color(0x6E3C76),
new Color(0xA5479F),
new Color(0x85157C)
};
protected FuelType activeFuel;
protected int remainingBurnTime;
protected LerpedFloat headAnimation;
protected LerpedFloat headAngle;
protected boolean isCreative;
protected boolean goggles;
public BlazeBurnerTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
super(type, pos, state);
activeFuel = FuelType.NONE;
remainingBurnTime = 0;
headAnimation = LerpedFloat.linear();
headAngle = LerpedFloat.angular();
isCreative = false;
goggles = false;
headAngle.startWithValue((AngleHelper.horizontalAngle(state.getOptionalValue(BlazeBurnerBlock.FACING)
.orElse(Direction.SOUTH)) + 180) % 360);
}
public FuelType getActiveFuel() {
@ -74,7 +71,7 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
super.tick();
if (level.isClientSide) {
tickRotation();
tickAnimation();
spawnParticles(getHeatLevelFromBlock(), 1);
return;
}
@ -99,26 +96,38 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
updateBlockState();
}
private void tickRotation() {
float target = 0;
LocalPlayer player = Minecraft.getInstance().player;
if (player != null) {
double x;
double z;
if (isVirtual()) {
x = -4;
z = -10;
} else {
x = player.getX();
z = player.getZ();
@OnlyIn(Dist.CLIENT)
private void tickAnimation() {
boolean active = getHeatLevelFromBlock().isAtLeast(HeatLevel.FADING);
if (!active) {
float target = 0;
LocalPlayer player = Minecraft.getInstance().player;
if (player != null) {
double x;
double z;
if (isVirtual()) {
x = -4;
z = -10;
} else {
x = player.getX();
z = player.getZ();
}
double dx = x - (getBlockPos().getX() + 0.5);
double dz = z - (getBlockPos().getZ() + 0.5);
target = AngleHelper.deg(-Mth.atan2(dz, dx)) - 90;
}
double dx = x - (getBlockPos().getX() + 0.5);
double dz = z - (getBlockPos().getZ() + 0.5);
target = AngleHelper.deg(-Mth.atan2(dz, dx)) - 90;
target = headAngle.getValue() + AngleHelper.getShortestAngleDiff(headAngle.getValue(), target);
headAngle.chase(target, .25f, Chaser.exp(5));
headAngle.tickChaser();
} else {
headAngle.chase((AngleHelper.horizontalAngle(getBlockState().getOptionalValue(BlazeBurnerBlock.FACING)
.orElse(Direction.SOUTH)) + 180) % 360, .125f, Chaser.EXP);
headAngle.tickChaser();
}
target = headAngle.getValue() + AngleHelper.getShortestAngleDiff(headAngle.getValue(), target);
headAngle.chase(target, .25f, Chaser.exp(5));
headAngle.tickChaser();
headAnimation.chase(active ? 1 : 0, .25f, Chaser.exp(.25f));
headAnimation.tickChaser();
}
@Override
@ -129,9 +138,10 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
if (!isCreative) {
compound.putInt("fuelLevel", activeFuel.ordinal());
compound.putInt("burnTimeRemaining", remainingBurnTime);
} else {
} else
compound.putBoolean("isCreative", true);
}
if (goggles)
compound.putBoolean("Goggles", true);
super.write(compound, clientPacket);
}
@ -140,6 +150,7 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
activeFuel = FuelType.values()[compound.getInt("fuelLevel")];
remainingBurnTime = compound.getInt("burnTimeRemaining");
isCreative = compound.getBoolean("isCreative");
goggles = compound.contains("Goggles");
super.read(compound, clientPacket);
}
@ -203,34 +214,37 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
remainingBurnTime = newBurnTime;
if (level.isClientSide) {
HeatLevel level = getHeatLevelFromFuelType(activeFuel);
for (int i = 0; i < 20; i++)
spawnParticles(level, 1 + (.25 * (i / 4)));
} else {
playSound();
updateBlockState();
spawnParticleBurst(activeFuel == FuelType.SPECIAL);
return true;
}
HeatLevel prev = getHeatLevelFromBlock();
playSound();
updateBlockState();
if (prev != getHeatLevelFromBlock())
level.playSound(null, worldPosition, SoundEvents.BLAZE_AMBIENT, SoundSource.BLOCKS,
.125f + level.random.nextFloat() * .125f, 1.15f - level.random.nextFloat() * .25f);
return true;
}
protected void applyCreativeFuel() {
boolean wasCreative = isCreative;
activeFuel = FuelType.NONE;
remainingBurnTime = 0;
isCreative = true;
HeatLevel next = getHeatLevelFromBlock().nextActiveLevel();
if (level.isClientSide) {
for (int i = 0; i < 30; i++) {
double burstMult = 1 + (.25 * (i / 4));
spawnParticle(CREATIVE_PARTICLE_COLORS, 0.04F, 35, false, 0.03 * burstMult, 0.15 * burstMult);
}
} else {
playSound();
if (wasCreative)
setBlockHeat(getHeatLevelFromBlock().nextActiveLevel());
spawnParticleBurst(next.isAtLeast(HeatLevel.SEETHING));
return;
}
playSound();
if (next == HeatLevel.FADING)
next = next.nextActiveLevel();
setBlockHeat(next);
}
public boolean isCreativeFuel(ItemStack stack) {
@ -266,50 +280,49 @@ public class BlazeBurnerTileEntity extends SmartTileEntity {
return;
Random r = level.getRandom();
switch (heatLevel) {
case SMOULDERING:
if (r.nextDouble() > 0.25)
return;
spawnParticle(heatLevel, 0.03F, 15, false, 0.015 * burstMult, 0.1 * burstMult);
break;
case FADING:
if (r.nextDouble() > 0.5)
return;
spawnParticle(heatLevel, 0.035F, 18, false, 0.03 * burstMult, 0.15 * burstMult);
break;
case KINDLED:
spawnParticle(heatLevel, 0.04F, 35, true, 0.05 * burstMult, 0.2 * burstMult);
break;
case SEETHING:
for (int i = 0; i < 2; i++) {
if (r.nextDouble() > 0.6)
return;
spawnParticle(heatLevel, 0.045F, 35, true, 0.06 * burstMult, 0.22 * burstMult);
}
break;
default:
break;
}
}
protected void spawnParticle(Color color, float scale, int avgAge, boolean hot, double speed, double spread) {
Random random = level.getRandom();
level.addAlwaysVisibleParticle(
new CubeParticleData(color.getRedAsFloat(), color.getGreenAsFloat(), color.getBlueAsFloat(), scale, avgAge, hot),
(double) worldPosition.getX() + 0.5D + (random.nextDouble() * 2.0 - 1D) * spread,
(double) worldPosition.getY() + 0.6D + (random.nextDouble() / 4.0),
(double) worldPosition.getZ() + 0.5D + (random.nextDouble() * 2.0 - 1D) * spread, 0.0D, speed, 0.0D);
}
Vec3 c = VecHelper.getCenterOf(worldPosition);
Vec3 v = c.add(VecHelper.offsetRandomly(Vec3.ZERO, r, .125f)
.multiply(1, 0, 1));
protected void spawnParticle(Color[] colors, float scale, int avgAge, boolean hot, double speed, double spread) {
if (colors.length == 0)
if (r.nextInt(3) == 0)
level.addParticle(ParticleTypes.LARGE_SMOKE, v.x, v.y, v.z, 0, 0, 0);
if (r.nextInt(2) != 0)
return;
spawnParticle(colors[(int) (Math.random() * colors.length)], scale, avgAge, hot, speed, spread);
boolean empty = level.getBlockState(worldPosition.above())
.getCollisionShape(level, worldPosition.above())
.isEmpty();
double yMotion = empty ? .0625f : r.nextDouble() * .0125f;
Vec3 v2 = c.add(VecHelper.offsetRandomly(Vec3.ZERO, r, .5f)
.multiply(1, .25f, 1)
.normalize()
.scale((empty ? .25f : .5) + r.nextDouble() * .125f))
.add(0, .5, 0);
if (heatLevel.isAtLeast(HeatLevel.SEETHING)) {
level.addParticle(ParticleTypes.SOUL_FIRE_FLAME, v2.x, v2.y, v2.z, 0, yMotion, 0);
} else if (heatLevel.isAtLeast(HeatLevel.FADING)) {
level.addParticle(ParticleTypes.FLAME, v2.x, v2.y, v2.z, 0, yMotion, 0);
}
return;
}
protected void spawnParticle(HeatLevel heatLevel, float scale, int avgAge, boolean hot, double speed, double spread) {
spawnParticle(PARTICLE_COLORS[heatLevel.ordinal()], scale, avgAge, hot, speed, spread);
public void spawnParticleBurst(boolean soulFlame) {
Vec3 c = VecHelper.getCenterOf(worldPosition);
Random r = level.random;
for (int i = 0; i < 20; i++) {
Vec3 offset = VecHelper.offsetRandomly(Vec3.ZERO, r, .5f)
.multiply(1, .25f, 1)
.normalize();
Vec3 v = c.add(offset.scale(.5 + r.nextDouble() * .125f))
.add(0, .125, 0);
Vec3 m = offset.scale(1 / 32f);
level.addParticle(soulFlame ? ParticleTypes.SOUL_FIRE_FLAME : ParticleTypes.FLAME, v.x, v.y, v.z, m.x, m.y,
m.z);
}
}
public enum FuelType {

View file

@ -130,7 +130,7 @@ public class TrackGraphSync {
Couple<Integer> key = Couple.create(node.getNetId(), node2.getNetId());
currentPacket.addedEdges.add(Pair.of(key, edge.getTurn()));
currentPacket.syncEdgeData(node, node2, edge);
});
});//FIXME these edges will have missing nodes
if (sent++ < 1000)
continue;

View file

@ -567,7 +567,7 @@ public class CarriageContraptionEntity extends OrientedContraptionEntity {
carriage.train.targetSpeed = topSpeed * targetSpeed;
if (slow)
carriage.train.targetSpeed /= 6;
boolean counteringAcceleration = Math.abs(Math.signum(targetSpeed) - Math.signum(carriage.train.speed)) > 1.5f;
carriage.train.manualTick = true;
carriage.train.approachTargetSpeed(counteringAcceleration ? 2 : 1);

View file

@ -153,6 +153,7 @@ public class BuilderTransformers {
public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing(
Supplier<CTSpriteShiftEntry> ct) {
return b -> b.initialProperties(SharedProperties::stone)
.properties(p -> p.sound(SoundType.WOOD))
.transform(axeOrPickaxe())
.blockstate((c, p) -> p.simpleBlock(c.get()))
.onRegister(connectedTextures(() -> new EncasedCTBehaviour(ct.get())))

View file

@ -85,19 +85,24 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
return;
Matrix4f modelMat = input.last()
.pose()
.copy();
.pose()
.copy();
Matrix4f localTransforms = transforms.last()
.pose();
.pose();
modelMat.multiply(localTransforms);
Matrix3f normalMat;
if (fullNormalTransform) {
normalMat = input.last().normal().copy();
Matrix3f localNormalTransforms = transforms.last().normal();
normalMat = input.last()
.normal()
.copy();
Matrix3f localNormalTransforms = transforms.last()
.normal();
normalMat.mul(localNormalTransforms);
} else {
normalMat = transforms.last().normal().copy();
normalMat = transforms.last()
.normal()
.copy();
}
if (useWorldLight) {
@ -109,7 +114,8 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
final Vector4f lightPos = new Vector4f();
DiffuseLightCalculator diffuseCalculator = ForcedDiffuseState.getForcedCalculator();
final boolean disableDiffuseMult = this.disableDiffuseMult || (OptifineHandler.isUsingShaders() && diffuseCalculator == null);
final boolean disableDiffuseMult =
this.disableDiffuseMult || (OptifineHandler.isUsingShaders() && diffuseCalculator == null);
if (diffuseCalculator == null) {
diffuseCalculator = this.diffuseCalculator;
if (diffuseCalculator == null) {
@ -268,16 +274,16 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
@Override
public SuperByteBuffer mulPose(Matrix4f pose) {
transforms.last()
.pose()
.multiply(pose);
.pose()
.multiply(pose);
return this;
}
@Override
public SuperByteBuffer mulNormal(Matrix3f normal) {
transforms.last()
.normal()
.mul(normal);
.normal()
.mul(normal);
return this;
}
@ -328,8 +334,9 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
}
/**
* Prevents vertex colors from being multiplied by the diffuse value calculated from the final transformed normal vector.
* Useful for entity rendering, when diffuse is applied automatically later.
* Prevents vertex colors from being multiplied by the diffuse value calculated
* from the final transformed normal vector. Useful for entity rendering, when
* diffuse is applied automatically later.
*/
public SuperByteBuffer disableDiffuseMult() {
disableDiffuseMult = true;
@ -353,10 +360,15 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
}
public SuperByteBuffer shiftUVScrolling(SpriteShiftEntry entry, float scrollV) {
return this.shiftUVScrolling(entry, 0, scrollV);
}
public SuperByteBuffer shiftUVScrolling(SpriteShiftEntry entry, float scrollU, float scrollV) {
this.spriteShiftFunc = (builder, u, v) -> {
float targetU = u - entry.getOriginal()
.getU0() + entry.getTarget()
.getU0();
.getU0()
+ scrollU;
float targetV = v - entry.getOriginal()
.getV0() + entry.getTarget()
.getV0()
@ -412,8 +424,9 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
}
/**
* Uses max light from calculated light (world light or custom light) and vertex light for the final light value.
* Ineffective if any other light method was not called.
* Uses max light from calculated light (world light or custom light) and vertex
* light for the final light value. Ineffective if any other light method was
* not called.
*/
public SuperByteBuffer hybridLight() {
hybridLight = true;
@ -421,7 +434,8 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
}
/**
* Transforms normals not only by the local matrix stack, but also by the passed matrix stack.
* Transforms normals not only by the local matrix stack, but also by the passed
* matrix stack.
*/
public SuperByteBuffer fullNormalTransform() {
fullNormalTransform = true;

View file

@ -1,8 +1,8 @@
{
"credit": "Made with Blockbench",
"textures": {
"2": "create:block/blaze_kindled",
"particle": "create:block/blaze_kindled"
"2": "create:block/blaze_active",
"particle": "create:block/blaze_active"
},
"elements": [
{

View file

@ -1,23 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"2": "create:block/blaze_smouldering",
"particle": "create:block/blaze_smouldering"
},
"elements": [
{
"name": "Blaze 3",
"from": [5, 6, 5],
"to": [11, 12, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 7]},
"faces": {
"north": {"uv": [6, 0, 12, 6], "texture": "#2"},
"east": {"uv": [0, 0, 6, 6], "texture": "#2"},
"south": {"uv": [0, 0, 6, 6], "texture": "#2"},
"west": {"uv": [0, 0, 6, 6], "texture": "#2"},
"up": {"uv": [0, 6, 6, 12], "texture": "#2"},
"down": {"uv": [6, 6, 12, 12], "texture": "#2"}
}
}
]
}

View file

@ -0,0 +1,23 @@
{
"credit": "Made with Blockbench",
"textures": {
"2": "create:block/blaze_idle",
"particle": "create:block/blaze_idle"
},
"elements": [
{
"name": "Blaze 4",
"from": [4, 6, 4],
"to": [12, 14, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]},
"faces": {
"north": {"uv": [8, 0, 16, 8], "texture": "#2"},
"east": {"uv": [0, 0, 8, 8], "texture": "#2"},
"south": {"uv": [0, 0, 8, 8], "texture": "#2"},
"west": {"uv": [0, 0, 8, 8], "texture": "#2"},
"up": {"uv": [0, 8, 8, 16], "texture": "#2"},
"down": {"uv": [8, 8, 16, 16], "texture": "#2"}
}
}
]
}

View file

@ -1,22 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"2": "create:block/blaze_smouldering",
"particle": "create:block/blaze_smouldering"
},
"elements": [
{
"name": "Blaze",
"from": [6, 6, 6],
"to": [10, 10, 10],
"faces": {
"north": {"uv": [0, 12, 4, 16], "texture": "#2"},
"east": {"uv": [8, 12, 4, 16], "texture": "#2"},
"south": {"uv": [4, 12, 8, 16], "texture": "#2"},
"west": {"uv": [4, 12, 8, 16], "texture": "#2"},
"up": {"uv": [8, 12, 12, 16], "texture": "#2"},
"down": {"uv": [12, 12, 16, 16], "texture": "#2"}
}
}
]
}

View file

@ -1,7 +1,7 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "create:block/blaze_seething"
"1": "create:block/blaze_super"
},
"elements": [
{

View file

@ -0,0 +1,14 @@
# Blender MTL File: 'Burner V3blend.blend'
# Material Count: 1
newmtl m_0
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd #0
map_d #0

View file

@ -0,0 +1,300 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib blaze_cage.mtl
o cube
v 0.125000 0.000000 0.875000
v 0.125000 0.250000 0.875000
v 0.125000 0.000000 0.125000
v 0.125000 0.250000 0.125000
v 0.875000 0.000000 0.875000
v 0.875000 0.250000 0.875000
v 0.875000 0.000000 0.125000
v 0.875000 0.250000 0.125000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.562500 0.000000
vt 0.937500 0.000000
vt 0.562500 0.562500
vt 0.937500 0.562500
vt 0.937500 0.937500
vt 0.562500 0.937500
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 -0.7071 0.7071
vn 0.7071 -0.7071 -0.0000
vn -0.0000 -0.7071 -0.7071
vn -0.7071 -0.7071 0.0000
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 0.7071
vn 0.7071 0.0000 -0.7071
vn -0.7071 0.0000 -0.7071
vn 0.0000 0.7071 -0.7071
vn -0.7071 0.7071 0.0000
vn 0.0000 0.7071 0.7071
vn 0.7071 0.7071 -0.0000
usemtl m_0
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 3/17/5 7/18/5 5/13/5 1/16/5
f 8/19/6 4/20/6 2/21/6 6/22/6
f 11/23/4 12/24/4 10/25/4 9/26/4
f 11/27/7 9/28/7 13/29/7 14/30/7
f 10/25/7 12/24/7 16/31/7 15/32/7
f 19/33/3 20/34/3 18/35/3 17/36/3
f 19/37/8 17/38/8 21/39/8 22/40/8
f 18/35/8 20/34/8 24/41/8 23/42/8
f 27/43/2 28/44/2 26/45/2 25/46/2
f 27/47/9 25/48/9 29/49/9 30/50/9
f 26/45/9 28/44/9 32/51/9 31/52/9
f 35/53/1 36/54/1 34/55/1 33/56/1
f 35/57/10 33/58/10 37/59/10 38/60/10
f 34/55/10 36/54/10 40/61/10 39/62/10
f 41/63/11 42/64/11 44/65/11 43/66/11
f 45/67/12 46/68/12 48/69/12 47/70/12
f 49/71/13 50/72/13 52/73/13 51/74/13
f 53/75/14 54/76/14 56/77/14 55/78/14
f 59/79/2 57/80/2 58/81/2 60/82/2
f 59/83/15 62/84/15 61/85/15 57/86/15
f 58/81/15 63/87/15 64/88/15 60/82/15
f 67/89/1 65/90/1 66/91/1 68/92/1
f 67/93/16 70/94/16 69/95/16 65/96/16
f 66/91/16 71/97/16 72/98/16 68/92/16
f 75/99/4 73/100/4 74/101/4 76/102/4
f 75/103/17 78/104/17 77/105/17 73/106/17
f 74/101/17 79/107/17 80/108/17 76/102/17
f 83/109/3 81/110/3 82/111/3 84/112/3
f 83/113/18 86/114/18 85/115/18 81/116/18
f 82/111/18 87/117/18 88/118/18 84/112/18
f 89/119/13 91/120/13 92/121/13 90/122/13
f 93/123/14 95/124/14 96/125/14 94/126/14
f 97/127/11 99/128/11 100/129/11 98/130/11
f 101/131/12 103/132/12 104/133/12 102/134/12

View file

@ -0,0 +1,13 @@
# Blender MTL File: 'Burner V3blend.blend'
# Material Count: 1
newmtl m_0
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd #0

View file

@ -0,0 +1,170 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib blaze_flame.mtl
o cube
v 0.125000 1.000000 0.875000
v 0.875000 1.000000 0.875000
v 0.187500 0.937500 0.812500
v 0.812500 0.937500 0.812500
v 0.187500 0.375000 0.812500
v 0.812500 0.375000 0.812500
v 0.312500 0.250000 0.687500
v 0.687500 0.250000 0.687500
v 0.875000 1.000000 0.875000
v 0.875000 1.000000 0.125000
v 0.812500 0.937500 0.812500
v 0.812500 0.937500 0.187500
v 0.812500 0.375000 0.812500
v 0.812500 0.375000 0.187500
v 0.687500 0.250000 0.687500
v 0.687500 0.250000 0.312500
v 0.875000 1.000000 0.125000
v 0.125000 1.000000 0.125000
v 0.812500 0.937500 0.187500
v 0.187500 0.937500 0.187500
v 0.812500 0.375000 0.187500
v 0.187500 0.375000 0.187500
v 0.687500 0.250000 0.312500
v 0.312500 0.250000 0.312500
v 0.125000 1.000000 0.125000
v 0.125000 1.000000 0.875000
v 0.187500 0.937500 0.187500
v 0.187500 0.937500 0.812500
v 0.187500 0.375000 0.187500
v 0.187500 0.375000 0.812500
v 0.312500 0.250000 0.312500
v 0.312500 0.250000 0.687500
v 0.125000 1.000000 0.875000
v 0.875000 1.000000 0.875000
v 0.187500 0.937500 0.812500
v 0.812500 0.937500 0.812500
v 0.187500 0.375000 0.812500
v 0.812500 0.375000 0.812500
v 0.312500 0.250000 0.687500
v 0.687500 0.250000 0.687500
v 0.875000 1.000000 0.875000
v 0.875000 1.000000 0.125000
v 0.812500 0.937500 0.812500
v 0.812500 0.937500 0.187500
v 0.812500 0.375000 0.812500
v 0.812500 0.375000 0.187500
v 0.687500 0.250000 0.687500
v 0.687500 0.250000 0.312500
v 0.875000 1.000000 0.125000
v 0.125000 1.000000 0.125000
v 0.812500 0.937500 0.187500
v 0.187500 0.937500 0.187500
v 0.812500 0.375000 0.187500
v 0.187500 0.375000 0.187500
v 0.687500 0.250000 0.312500
v 0.312500 0.250000 0.312500
v 0.125000 1.000000 0.125000
v 0.125000 1.000000 0.875000
v 0.187500 0.937500 0.187500
v 0.187500 0.937500 0.812500
v 0.187500 0.375000 0.187500
v 0.187500 0.375000 0.812500
v 0.312500 0.250000 0.312500
v 0.312500 0.250000 0.687500
vt 0.937500 1.000000
vt 0.062500 1.000000
vt 0.125000 0.937500
vt 0.875000 0.937500
vt 0.125000 0.250000
vt 0.875000 0.250000
vt 0.250000 -0.000000
vt 0.750000 -0.000000
vt 0.937500 1.000000
vt 0.062500 1.000000
vt 0.125000 0.937500
vt 0.875000 0.937500
vt 0.125000 0.250000
vt 0.875000 0.250000
vt 0.250000 -0.000000
vt 0.750000 -0.000000
vt 0.937500 1.000000
vt 0.062500 1.000000
vt 0.125000 0.937500
vt 0.875000 0.937500
vt 0.125000 0.250000
vt 0.875000 0.250000
vt 0.250000 -0.000000
vt 0.750000 -0.000000
vt 0.937500 1.000000
vt 0.062500 1.000000
vt 0.125000 0.937500
vt 0.875000 0.937500
vt 0.125000 0.250000
vt 0.875000 0.250000
vt 0.250000 -0.000000
vt 0.750000 -0.000000
vt 0.937500 1.000000
vt 0.875000 0.937500
vt 0.125000 0.937500
vt 0.062500 1.000000
vt 0.875000 0.250000
vt 0.125000 0.250000
vt 0.750000 -0.000000
vt 0.250000 -0.000000
vt 0.937500 1.000000
vt 0.875000 0.937500
vt 0.125000 0.937500
vt 0.062500 1.000000
vt 0.875000 0.250000
vt 0.125000 0.250000
vt 0.750000 -0.000000
vt 0.250000 -0.000000
vt 0.937500 1.000000
vt 0.875000 0.937500
vt 0.125000 0.937500
vt 0.062500 1.000000
vt 0.875000 0.250000
vt 0.125000 0.250000
vt 0.750000 -0.000000
vt 0.250000 -0.000000
vt 0.937500 1.000000
vt 0.875000 0.937500
vt 0.125000 0.937500
vt 0.062500 1.000000
vt 0.875000 0.250000
vt 0.125000 0.250000
vt 0.750000 -0.000000
vt 0.250000 -0.000000
vn 0.0000 0.7071 -0.7071
vn 0.0000 0.0000 -1.0000
vn -0.7071 0.7071 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.7071 0.7071
vn 0.0000 0.0000 1.0000
vn 0.7071 0.7071 -0.0000
vn 1.0000 0.0000 -0.0000
vn 0.0000 -0.7071 0.7071
vn 0.7071 -0.7071 0.0000
vn -0.0000 -0.7071 -0.7071
vn -0.7071 -0.7071 0.0000
usemtl m_0
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/4/2 4/3/2 6/5/2 5/6/2
f 5/6/1 6/5/1 8/7/1 7/8/1
f 9/9/3 10/10/3 12/11/3 11/12/3
f 11/12/4 12/11/4 14/13/4 13/14/4
f 13/14/3 14/13/3 16/15/3 15/16/3
f 17/17/5 18/18/5 20/19/5 19/20/5
f 19/20/6 20/19/6 22/21/6 21/22/6
f 21/22/5 22/21/5 24/23/5 23/24/5
f 25/25/7 26/26/7 28/27/7 27/28/7
f 27/28/8 28/27/8 30/29/8 29/30/8
f 29/30/7 30/29/7 32/31/7 31/32/7
f 33/33/9 35/34/9 36/35/9 34/36/9
f 35/34/6 37/37/6 38/38/6 36/35/6
f 37/37/9 39/39/9 40/40/9 38/38/9
f 41/41/10 43/42/10 44/43/10 42/44/10
f 43/42/8 45/45/8 46/46/8 44/43/8
f 45/45/10 47/47/10 48/48/10 46/46/10
f 49/49/11 51/50/11 52/51/11 50/52/11
f 51/50/2 53/53/2 54/54/2 52/51/2
f 53/53/11 55/55/11 56/56/11 54/54/11
f 57/57/12 59/58/12 60/59/12 58/60/12
f 59/58/4 61/61/4 62/62/4 60/59/4
f 61/61/12 63/63/12 64/64/12 62/62/12

View file

@ -0,0 +1,14 @@
# Blender MTL File: 'Burner V3blend.blend'
# Material Count: 1
newmtl m_0
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 1
map_Kd #0
map_d #0

View file

@ -0,0 +1,148 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib blaze_rods.mtl
o cube
v 0.093750 0.500000 0.218750
v 0.093750 1.000000 0.218750
v 0.093750 0.500000 0.093750
v 0.093750 1.000000 0.093750
v 0.218750 0.500000 0.218750
v 0.218750 1.000000 0.218750
v 0.218750 0.500000 0.093750
v 0.218750 1.000000 0.093750
v 0.218750 0.500000 0.906250
v 0.218750 1.000000 0.906250
v 0.093750 0.500000 0.906250
v 0.093750 1.000000 0.906250
v 0.218750 0.500000 0.781250
v 0.218750 1.000000 0.781250
v 0.093750 0.500000 0.781250
v 0.093750 1.000000 0.781250
v 0.906250 0.500000 0.781250
v 0.906250 1.000000 0.781250
v 0.906250 0.500000 0.906250
v 0.906250 1.000000 0.906250
v 0.781250 0.500000 0.781250
v 0.781250 1.000000 0.781250
v 0.781250 0.500000 0.906250
v 0.781250 1.000000 0.906250
v 0.781250 0.500000 0.093750
v 0.781250 1.000000 0.093750
v 0.906250 0.500000 0.093750
v 0.906250 1.000000 0.093750
v 0.781250 0.500000 0.218750
v 0.781250 1.000000 0.218750
v 0.906250 0.500000 0.218750
v 0.906250 1.000000 0.218750
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl m_0
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 3/4/5 7/9/5 5/17/5 1/18/5
f 8/19/6 4/20/6 2/2/6 6/11/6
f 9/21/4 10/22/4 12/23/4 11/24/4
f 11/25/1 12/26/1 16/27/1 15/28/1
f 15/29/2 16/30/2 14/31/2 13/32/2
f 13/33/3 14/34/3 10/35/3 9/36/3
f 11/24/5 15/29/5 13/37/5 9/38/5
f 16/39/6 12/40/6 10/22/6 14/31/6
f 17/41/3 18/42/3 20/43/3 19/44/3
f 19/45/4 20/46/4 24/47/4 23/48/4
f 23/49/1 24/50/1 22/51/1 21/52/1
f 21/53/2 22/54/2 18/55/2 17/56/2
f 19/44/5 23/49/5 21/57/5 17/58/5
f 24/59/6 20/60/6 18/42/6 22/51/6
f 25/61/2 26/62/2 28/63/2 27/64/2
f 27/65/3 28/66/3 32/67/3 31/68/3
f 31/69/4 32/70/4 30/71/4 29/72/4
f 29/73/1 30/74/1 26/75/1 25/76/1
f 27/64/5 31/69/5 29/77/5 25/78/5
f 32/79/6 28/80/6 26/62/6 30/71/6

View file

@ -0,0 +1,148 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib blaze_rods.mtl
o cube
v 0.093750 0.281250 0.437500
v 0.093750 0.531250 0.437500
v 0.093750 0.281250 0.312500
v 0.093750 0.531250 0.312500
v 0.218750 0.281250 0.437500
v 0.218750 0.531250 0.437500
v 0.218750 0.281250 0.312500
v 0.218750 0.531250 0.312500
v 0.437500 0.281250 0.906250
v 0.437500 0.531250 0.906250
v 0.312500 0.281250 0.906250
v 0.312500 0.531250 0.906250
v 0.437500 0.281250 0.781250
v 0.437500 0.531250 0.781250
v 0.312500 0.281250 0.781250
v 0.312500 0.531250 0.781250
v 0.906250 0.281250 0.562500
v 0.906250 0.531250 0.562500
v 0.906250 0.281250 0.687500
v 0.906250 0.531250 0.687500
v 0.781250 0.281250 0.562500
v 0.781250 0.531250 0.562500
v 0.781250 0.281250 0.687500
v 0.781250 0.531250 0.687500
v 0.562500 0.281250 0.093750
v 0.562500 0.531250 0.093750
v 0.687500 0.281250 0.093750
v 0.687500 0.531250 0.093750
v 0.562500 0.281250 0.218750
v 0.562500 0.531250 0.218750
v 0.687500 0.281250 0.218750
v 0.687500 0.531250 0.218750
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl m_0
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/9/3 8/10/3 6/11/3 5/12/3
f 5/13/4 6/14/4 2/15/4 1/16/4
f 3/17/5 7/18/5 5/13/5 1/16/5
f 8/7/6 4/6/6 2/19/6 6/20/6
f 9/21/4 10/22/4 12/23/4 11/24/4
f 11/25/1 12/26/1 16/27/1 15/28/1
f 15/29/2 16/30/2 14/31/2 13/32/2
f 13/33/3 14/34/3 10/35/3 9/36/3
f 11/37/5 15/38/5 13/33/5 9/36/5
f 16/27/6 12/26/6 10/39/6 14/40/6
f 17/41/3 18/42/3 20/43/3 19/44/3
f 19/45/4 20/46/4 24/47/4 23/48/4
f 23/49/1 24/50/1 22/51/1 21/52/1
f 21/53/2 22/54/2 18/55/2 17/56/2
f 19/57/5 23/58/5 21/53/5 17/56/5
f 24/47/6 20/46/6 18/59/6 22/60/6
f 25/61/2 26/62/2 28/63/2 27/64/2
f 27/65/3 28/66/3 32/67/3 31/68/3
f 31/69/4 32/70/4 30/71/4 29/72/4
f 29/73/1 30/74/1 26/75/1 25/76/1
f 27/77/5 31/78/5 29/73/5 25/76/5
f 32/67/6 28/66/6 26/79/6 30/80/6

View file

@ -1,171 +1,20 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_cage.obj",
"textures": {
"1": "create:block/blaze_burner_inner",
"2": "create:block/blaze_burner_side",
"3": "create:block/dark_metal_block",
"0": "create:block/blaze_heater_brazier",
"particle": "create:block/dark_metal_block"
},
"elements": [
{
"name": "Brazier Sides 1",
"from": [2, 5, 2],
"to": [14, 14, 14],
"faces": {
"north": {"uv": [0, 6, 12, 15], "texture": "#2"},
"east": {"uv": [0, 6, 12, 15], "texture": "#2"},
"south": {"uv": [0, 6, 12, 15], "texture": "#2"},
"west": {"uv": [0, 6, 12, 15], "texture": "#2"}
}
"display": {
"gui": {
"rotation": [30, 225, 0],
"scale": [0.7, 0.7, 0.7]
},
{
"name": "Brazier Sides 2",
"from": [2, 5, 14],
"to": [14, 14, 15],
"faces": {
"north": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 3",
"from": [1, 5, 2],
"to": [2, 14, 14],
"faces": {
"east": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 4",
"from": [2, 5, 1],
"to": [14, 14, 2],
"faces": {
"south": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 5",
"from": [14, 5, 2],
"to": [15, 14, 14],
"faces": {
"west": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1",
"from": [2, 14, 13],
"to": [14, 17, 14],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"south": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 2",
"from": [2, 14, 2],
"to": [3, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"west": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 3",
"from": [2, 14, 2],
"to": [14, 17, 3],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"north": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 4",
"from": [13, 14, 2],
"to": [14, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"east": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 14],
"to": [14, 17, 15],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"north": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [1, 14, 2],
"to": [2, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"east": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 1],
"to": [14, 17, 2],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"south": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [14, 14, 2],
"to": [15, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"west": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Base",
"from": [0, 0, 0],
"to": [16, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]},
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"east": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"south": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"west": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3", "cullface": "down"}
}
},
{
"name": "Brazier bottom",
"from": [2, 4, 2],
"to": [14, 5, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]},
"faces": {
"north": {"uv": [0, 15, 12, 16], "texture": "#2"},
"east": {"uv": [0, 15, 12, 16], "texture": "#2"},
"south": {"uv": [0, 15, 12, 16], "texture": "#2"},
"west": {"uv": [0, 15, 12, 16], "texture": "#2"},
"up": {"uv": [2, 2, 14, 14], "texture": "#1"}
}
"fixed": {
"rotation": [0, 0, 0],
"scale": [0.5, 0.5, 0.5]
}
],
"groups": [
{
"name": "Brazier",
"origin": [0.5, 0.5, 0.5],
"children": [
{
"name": "Brazier Sides",
"origin": [0.5, 0.5, 0.5],
"children": [0, 1, 2, 3, 4]
},
{
"name": "Brazier Spikes",
"origin": [0.5, 0.5, 0.5],
"children": [5, 6, 7, 8, 9, 10, 11, 12]
}, 13, 14]
}
]
}
}

View file

@ -1,191 +1,21 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/item.obj",
"textures": {
"1": "create:block/blaze_burner_inner",
"2": "create:block/blaze_burner_side",
"3": "create:block/dark_metal_block",
"particle": "create:block/dark_metal_block",
"2_2": "create:block/blaze_kindled"
"0": "create:block/blaze_heater_brazier",
"1": "create:block/blaze_idle",
"particle": "create:block/dark_metal_block"
},
"elements": [
{
"name": "Brazier Sides 1",
"from": [2, 5, 2],
"to": [14, 14, 14],
"faces": {
"north": {"uv": [0, 6, 12, 15], "texture": "#2"},
"east": {"uv": [0, 6, 12, 15], "texture": "#2"},
"south": {"uv": [0, 6, 12, 15], "texture": "#2"},
"west": {"uv": [0, 6, 12, 15], "texture": "#2"}
}
"display": {
"gui": {
"rotation": [30, 315, 0],
"scale": [0.7, 0.7, 0.7]
},
{
"name": "Brazier Sides 2",
"from": [2, 5, 14],
"to": [14, 14, 15],
"faces": {
"north": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 3",
"from": [1, 5, 2],
"to": [2, 14, 14],
"faces": {
"east": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 4",
"from": [2, 5, 1],
"to": [14, 14, 2],
"faces": {
"south": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 5",
"from": [14, 5, 2],
"to": [15, 14, 14],
"faces": {
"west": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1",
"from": [2, 14, 13],
"to": [14, 17, 14],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"south": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 2",
"from": [2, 14, 2],
"to": [3, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"west": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 3",
"from": [2, 14, 2],
"to": [14, 17, 3],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"north": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 4",
"from": [13, 14, 2],
"to": [14, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"east": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 14],
"to": [14, 17, 15],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"north": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [1, 14, 2],
"to": [2, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"east": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 1],
"to": [14, 17, 2],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"south": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [14, 14, 2],
"to": [15, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"west": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Base",
"from": [0, 0, 0],
"to": [16, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]},
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2", "cullface": "west"},
"east": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2", "cullface": "west"},
"south": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2", "cullface": "west"},
"west": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2", "cullface": "west"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3", "cullface": "down"}
}
},
{
"name": "Brazier bottom",
"from": [2, 4, 2],
"to": [14, 5, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]},
"faces": {
"north": {"uv": [0, 15, 12, 16], "texture": "#2"},
"east": {"uv": [0, 15, 12, 16], "texture": "#2"},
"south": {"uv": [0, 15, 12, 16], "texture": "#2"},
"west": {"uv": [0, 15, 12, 16], "texture": "#2"},
"up": {"uv": [2, 2, 14, 14], "texture": "#1"}
}
},
{
"name": "Blaze 4",
"from": [4, 6, 4],
"to": [12, 14, 12],
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [8, 0, 16, 8], "texture": "#2_2"},
"east": {"uv": [0, 0, 8, 8], "texture": "#2_2"},
"south": {"uv": [0, 0, 8, 8], "texture": "#2_2"},
"west": {"uv": [0, 0, 8, 8], "texture": "#2_2"},
"up": {"uv": [0, 8, 8, 16], "texture": "#2_2"},
"down": {"uv": [8, 8, 16, 16], "texture": "#2_2"}
}
"fixed": {
"rotation": [0, 180, 0],
"scale": [0.5, 0.5, 0.5]
}
],
"groups": [
{
"name": "Brazier",
"origin": [0.5, 0.5, 0.5],
"children": [
{
"name": "Brazier Sides",
"origin": [0.5, 0.5, 0.5],
"children": [0, 1, 2, 3, 4]
},
{
"name": "Brazier Spikes",
"origin": [0.5, 0.5, 0.5],
"children": [5, 6, 7, 8, 9, 10, 11, 12]
}, 13, 14]
},
{
"name": "kindled",
"origin": [8, 8, 8],
"children": [15]
}
]
}
}

View file

@ -1,202 +1,11 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/campfire.obj",
"textures": {
"1": "create:block/blaze_burner_inner",
"2": "create:block/blaze_burner_side",
"3": "create:block/dark_metal_block",
"particle": "create:block/dark_metal_block",
"fire": "block/campfire_fire"
},
"elements": [
{
"name": "Brazier Sides 1",
"from": [2, 5, 2],
"to": [14, 14, 14],
"faces": {
"north": {"uv": [0, 6, 12, 15], "texture": "#2"},
"east": {"uv": [0, 6, 12, 15], "texture": "#2"},
"south": {"uv": [0, 6, 12, 15], "texture": "#2"},
"west": {"uv": [0, 6, 12, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 2",
"from": [2, 5, 14],
"to": [14, 14, 15],
"faces": {
"north": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 3",
"from": [1, 5, 2],
"to": [2, 14, 14],
"faces": {
"east": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 4",
"from": [2, 5, 1],
"to": [14, 14, 2],
"faces": {
"south": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Sides 5",
"from": [14, 5, 2],
"to": [15, 14, 14],
"faces": {
"west": {"uv": [12, 6, 0, 15], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1",
"from": [2, 14, 13],
"to": [14, 17, 14],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"south": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 2",
"from": [2, 14, 2],
"to": [3, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"west": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 3",
"from": [2, 14, 2],
"to": [14, 17, 3],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"north": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 4",
"from": [13, 14, 2],
"to": [14, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"east": {"uv": [0, 3, 12, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 14],
"to": [14, 17, 15],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"north": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [1, 14, 2],
"to": [2, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"east": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 1],
"to": [14, 17, 2],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"south": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [14, 14, 2],
"to": [15, 17, 14],
"rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"west": {"uv": [12, 3, 0, 6], "texture": "#2"}
}
},
{
"name": "Base",
"from": [0, 0, 0],
"to": [16, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]},
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"east": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"south": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"west": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#3", "cullface": "down"}
}
},
{
"name": "Brazier bottom",
"from": [2, 4, 2],
"to": [14, 5, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]},
"faces": {
"north": {"uv": [0, 15, 12, 16], "texture": "#2"},
"east": {"uv": [0, 15, 12, 16], "texture": "#2"},
"south": {"uv": [0, 15, 12, 16], "texture": "#2"},
"west": {"uv": [0, 15, 12, 16], "texture": "#2"},
"up": {"uv": [2, 2, 14, 14], "texture": "#1"}
}
},
{
"from": [0.8, 1, 8],
"to": [15.2, 17, 8],
"shade": false,
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#fire"},
"south": {"uv": [0, 0, 16, 16], "texture": "#fire"}
}
},
{
"from": [8, 1, 0.8],
"to": [8, 17, 15.2],
"shade": false,
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true},
"faces": {
"east": {"uv": [0, 0, 16, 16], "texture": "#fire"},
"west": {"uv": [0, 0, 16, 16], "texture": "#fire"}
}
}
],
"display": {
"head": {
"translation": [0, 10.5, 0]
}
},
"groups": [
{
"name": "Brazier",
"origin": [0.5, 0.5, 0.5],
"children": [
{
"name": "Brazier Sides",
"origin": [0.5, 0.5, 0.5],
"children": [0, 1, 2, 3, 4]
},
{
"name": "Brazier Spikes",
"origin": [0.5, 0.5, 0.5],
"children": [5, 6, 7, 8, 9, 10, 11, 12]
}, 13, 14]
},
{
"name": "campfire",
"origin": [8, 8, 8],
"children": [15, 16]
}
]
"0": "create:block/blaze_heater_brazier",
"1": "block/campfire_fire",
"particle": "create:block/dark_metal_block"
}
}

View file

@ -1,6 +1,11 @@
{
"parent": "create:block/blaze_burner/block_with_fire",
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/campfire.obj",
"textures": {
"fire": "block/soul_campfire_fire"
"0": "create:block/blaze_heater_brazier_soul",
"1": "block/soul_campfire_fire",
"particle": "create:block/dark_metal_block"
}
}

View file

@ -0,0 +1,25 @@
# Blender MTL File: 'Burner V3blend.blend'
# Material Count: 2
newmtl Blazier
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd #0
map_d #0
newmtl Campfire
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd #1

View file

@ -0,0 +1,343 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib campfire.mtl
o Plane
v 0.146445 1.250000 0.853550
v 0.146445 0.250000 0.146444
v 0.853552 0.250000 0.853550
v 0.853552 0.250000 0.146443
v 0.853552 1.250000 0.853551
v 0.146445 1.250000 0.146444
v 0.146445 0.250000 0.853551
v 0.146445 1.250000 0.853550
v 0.853552 1.250000 0.146444
v 0.853552 1.250000 0.853550
v 0.853552 0.250000 0.146444
v 0.146445 0.250000 0.853551
v 0.146445 1.250000 0.146444
v 0.853552 1.250000 0.146444
v 0.146445 0.250000 0.146444
v 0.853552 0.250000 0.853551
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vn -0.7071 -0.0000 -0.7071
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 -0.7071
vn 0.7071 -0.0000 0.7071
usemtl Campfire
s off
f 1/1/1 9/2/1 11/3/1 12/4/1
f 5/5/2 6/6/2 15/7/2 16/8/2
f 13/9/3 10/10/3 3/11/3 2/12/3
f 14/13/4 8/14/4 7/15/4 4/16/4
o cube
v 0.125000 0.000000 0.875000
v 0.125000 0.250000 0.875000
v 0.125000 0.000000 0.125000
v 0.125000 0.250000 0.125000
v 0.875000 0.000000 0.875000
v 0.875000 0.250000 0.875000
v 0.875000 0.000000 0.125000
v 0.875000 0.250000 0.125000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.562500 0.000000
vt 0.937500 0.000000
vt 0.562500 0.562500
vt 0.937500 0.562500
vt 0.937500 0.937500
vt 0.562500 0.937500
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 -0.7071 0.7071
vn 0.7071 -0.7071 -0.0000
vn -0.0000 -0.7071 -0.7071
vn -0.7071 -0.7071 0.0000
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 0.7071
vn 0.7071 0.0000 -0.7071
vn -0.7071 0.0000 -0.7071
vn 0.0000 0.7071 -0.7071
vn -0.7071 0.7071 0.0000
vn 0.0000 0.7071 0.7071
vn 0.7071 0.7071 -0.0000
usemtl Blazier
s off
f 17/17/5 18/18/5 20/19/5 19/20/5
f 19/21/6 20/22/6 24/23/6 23/24/6
f 23/25/7 24/26/7 22/27/7 21/28/7
f 21/29/8 22/30/8 18/31/8 17/32/8
f 19/33/9 23/34/9 21/29/9 17/32/9
f 24/35/10 20/36/10 18/37/10 22/38/10
f 27/39/8 28/40/8 26/41/8 25/42/8
f 27/43/11 25/44/11 29/45/11 30/46/11
f 26/41/11 28/40/11 32/47/11 31/48/11
f 35/49/7 36/50/7 34/51/7 33/52/7
f 35/53/12 33/54/12 37/55/12 38/56/12
f 34/51/12 36/50/12 40/57/12 39/58/12
f 43/59/6 44/60/6 42/61/6 41/62/6
f 43/63/13 41/64/13 45/65/13 46/66/13
f 42/61/13 44/60/13 48/67/13 47/68/13
f 51/69/5 52/70/5 50/71/5 49/72/5
f 51/73/14 49/74/14 53/75/14 54/76/14
f 50/71/14 52/70/14 56/77/14 55/78/14
f 57/79/15 58/80/15 60/81/15 59/82/15
f 61/83/16 62/84/16 64/85/16 63/86/16
f 65/87/17 66/88/17 68/89/17 67/90/17
f 69/91/18 70/92/18 72/93/18 71/94/18
f 75/95/6 73/96/6 74/97/6 76/98/6
f 75/99/19 78/100/19 77/101/19 73/102/19
f 74/97/19 79/103/19 80/104/19 76/98/19
f 83/105/5 81/106/5 82/107/5 84/108/5
f 83/109/20 86/110/20 85/111/20 81/112/20
f 82/107/20 87/113/20 88/114/20 84/108/20
f 91/115/8 89/116/8 90/117/8 92/118/8
f 91/119/21 94/120/21 93/121/21 89/122/21
f 90/117/21 95/123/21 96/124/21 92/118/21
f 99/125/7 97/126/7 98/127/7 100/128/7
f 99/129/22 102/130/22 101/131/22 97/132/22
f 98/127/22 103/133/22 104/134/22 100/128/22
f 105/135/17 107/136/17 108/137/17 106/138/17
f 109/139/18 111/140/18 112/141/18 110/142/18
f 113/143/15 115/144/15 116/145/15 114/146/15
f 117/147/16 119/148/16 120/149/16 118/150/16

View file

@ -0,0 +1,9 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_flame.obj",
"textures": {
"0": "create:block/blaze_burner_flame"
}
}

View file

@ -0,0 +1,19 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "create:block/hat_test",
"particle": "create:block/hat_test"
},
"elements": [
{
"from": [3.5, 0, 3.5],
"to": [12.5, 4, 12.5],
"faces": {
"north": {"uv": [8, 2, 16, 6], "texture": "#0"},
"east": {"uv": [0, 2, 8, 6], "texture": "#0"},
"south": {"uv": [8, 10, 16, 14], "texture": "#0"},
"west": {"uv": [0, 10, 8, 14], "texture": "#0"}
}
}
]
}

View file

@ -0,0 +1,26 @@
# Blender MTL File: 'Burner V3blend.blend'
# Material Count: 2
newmtl m_0
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd #0
map_d #0
newmtl m_1
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 1
map_Kd #1
map_d #1

View file

@ -0,0 +1,634 @@
# Blender v3.1.2 OBJ File: 'Burner V3blend.blend'
# www.blender.org
mtllib item.mtl
o cube
v 0.250000 0.375000 0.750000
v 0.750000 0.375000 0.750000
v 0.750000 0.875000 0.750000
v 0.250000 0.875000 0.750000
v 0.250000 0.375000 0.250000
v 0.250000 0.875000 0.250000
v 0.750000 0.375000 0.250000
v 0.750000 0.875000 0.250000
vt 0.500000 0.500000
vt 1.000000 0.500000
vt 1.000000 1.000000
vt 0.500000 1.000000
vt 0.000000 0.500000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.000000 0.500000
vt 0.500000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.500000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 0.0000 -0.0000
vn -0.0000 1.0000 -0.0000
vn 0.0000 -1.0000 0.0000
usemtl m_1
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/5/2 1/1/2 4/4/2 6/6/2
f 7/7/3 5/8/3 6/9/3 8/10/3
f 2/11/4 7/12/4 8/13/4 3/14/4
f 8/15/5 6/16/5 4/17/5 3/18/5
f 2/19/6 1/20/6 5/21/6 7/12/6
o cube2
v 0.093750 0.281250 0.437500
v 0.093750 0.531250 0.437500
v 0.093750 0.281250 0.312500
v 0.093750 0.531250 0.312500
v 0.218750 0.281250 0.437500
v 0.218750 0.531250 0.437500
v 0.218750 0.281250 0.312500
v 0.218750 0.531250 0.312500
v 0.437500 0.281250 0.906250
v 0.437500 0.531250 0.906250
v 0.312500 0.281250 0.906250
v 0.312500 0.531250 0.906250
v 0.437500 0.281250 0.781250
v 0.437500 0.531250 0.781250
v 0.312500 0.281250 0.781250
v 0.312500 0.531250 0.781250
v 0.906250 0.281250 0.562500
v 0.906250 0.531250 0.562500
v 0.906250 0.281250 0.687500
v 0.906250 0.531250 0.687500
v 0.781250 0.281250 0.562500
v 0.781250 0.531250 0.562500
v 0.781250 0.281250 0.687500
v 0.781250 0.531250 0.687500
v 0.562500 0.281250 0.093750
v 0.562500 0.531250 0.093750
v 0.687500 0.281250 0.093750
v 0.687500 0.531250 0.093750
v 0.562500 0.281250 0.218750
v 0.562500 0.531250 0.218750
v 0.687500 0.281250 0.218750
v 0.687500 0.531250 0.218750
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.125000 0.625000
vt 0.125000 0.875000
vt 0.000000 0.875000
vt 0.000000 0.625000
vt 0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt -0.000000 1.000000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl m_1
s off
f 9/22/7 10/23/7 12/24/7 11/25/7
f 11/26/8 12/27/8 16/28/8 15/29/8
f 15/30/9 16/31/9 14/32/9 13/33/9
f 13/34/10 14/35/10 10/36/10 9/37/10
f 11/38/11 15/39/11 13/34/11 9/37/11
f 16/28/12 12/27/12 10/40/12 14/41/12
f 17/42/10 18/43/10 20/44/10 19/45/10
f 19/46/7 20/47/7 24/48/7 23/49/7
f 23/50/8 24/51/8 22/52/8 21/53/8
f 21/54/9 22/55/9 18/56/9 17/57/9
f 19/58/11 23/59/11 21/54/11 17/57/11
f 24/48/12 20/47/12 18/60/12 22/61/12
f 25/62/9 26/63/9 28/64/9 27/65/9
f 27/66/10 28/67/10 32/68/10 31/69/10
f 31/70/7 32/71/7 30/72/7 29/73/7
f 29/74/8 30/75/8 26/76/8 25/77/8
f 27/78/11 31/79/11 29/74/11 25/77/11
f 32/68/12 28/67/12 26/80/12 30/81/12
f 33/82/8 34/83/8 36/84/8 35/85/8
f 35/86/9 36/87/9 40/88/9 39/89/9
f 39/90/10 40/91/10 38/92/10 37/93/10
f 37/94/7 38/95/7 34/96/7 33/97/7
f 35/98/11 39/99/11 37/94/11 33/97/11
f 40/88/12 36/87/12 34/100/12 38/101/12
o cube3
v 0.093750 0.300000 0.218750
v 0.093750 0.800000 0.218750
v 0.093750 0.300000 0.093750
v 0.093750 0.800000 0.093750
v 0.218750 0.300000 0.218750
v 0.218750 0.800000 0.218750
v 0.218750 0.300000 0.093750
v 0.218750 0.800000 0.093750
v 0.218750 0.300000 0.906250
v 0.218750 0.800000 0.906250
v 0.093750 0.300000 0.906250
v 0.093750 0.800000 0.906250
v 0.218750 0.300000 0.781250
v 0.218750 0.800000 0.781250
v 0.093750 0.300000 0.781250
v 0.093750 0.800000 0.781250
v 0.906250 0.300000 0.781250
v 0.906250 0.800000 0.781250
v 0.906250 0.300000 0.906250
v 0.906250 0.800000 0.906250
v 0.781250 0.300000 0.781250
v 0.781250 0.800000 0.781250
v 0.781250 0.300000 0.906250
v 0.781250 0.800000 0.906250
v 0.781250 0.300000 0.093750
v 0.781250 0.800000 0.093750
v 0.906250 0.300000 0.093750
v 0.906250 0.800000 0.093750
v 0.781250 0.300000 0.218750
v 0.781250 0.800000 0.218750
v 0.906250 0.300000 0.218750
v 0.906250 0.800000 0.218750
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.500000
vt 0.125000 1.000000
vt 0.000000 1.000000
vt -0.000000 0.500000
vt 0.125000 0.625000
vt 0.000000 0.625000
vt -0.000000 0.875000
vt 0.125000 0.875000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
usemtl m_1
s off
f 41/102/13 42/103/13 44/104/13 43/105/13
f 43/106/14 44/107/14 48/108/14 47/109/14
f 47/110/15 48/111/15 46/112/15 45/113/15
f 45/114/16 46/115/16 42/116/16 41/117/16
f 43/105/17 47/110/17 45/118/17 41/119/17
f 48/120/18 44/121/18 42/103/18 46/112/18
f 49/122/16 50/123/16 52/124/16 51/125/16
f 51/126/13 52/127/13 56/128/13 55/129/13
f 55/130/14 56/131/14 54/132/14 53/133/14
f 53/134/15 54/135/15 50/136/15 49/137/15
f 51/125/17 55/130/17 53/138/17 49/139/17
f 56/140/18 52/141/18 50/123/18 54/132/18
f 57/142/15 58/143/15 60/144/15 59/145/15
f 59/146/16 60/147/16 64/148/16 63/149/16
f 63/150/13 64/151/13 62/152/13 61/153/13
f 61/154/14 62/155/14 58/156/14 57/157/14
f 59/145/17 63/150/17 61/158/17 57/159/17
f 64/160/18 60/161/18 58/143/18 62/152/18
f 65/162/14 66/163/14 68/164/14 67/165/14
f 67/166/15 68/167/15 72/168/15 71/169/15
f 71/170/16 72/171/16 70/172/16 69/173/16
f 69/174/13 70/175/13 66/176/13 65/177/13
f 67/165/17 71/170/17 69/178/17 65/179/17
f 72/180/18 68/181/18 66/163/18 70/172/18
o cube4
v 0.125000 0.000000 0.875000
v 0.125000 0.250000 0.875000
v 0.125000 0.000000 0.125000
v 0.125000 0.250000 0.125000
v 0.875000 0.000000 0.875000
v 0.875000 0.250000 0.875000
v 0.875000 0.000000 0.125000
v 0.875000 0.250000 0.125000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.062500 0.250000 0.875000
v 0.937500 0.250000 0.875000
v 0.062500 0.937500 1.000000
v 0.937500 0.937500 1.000000
v 0.937500 0.312500 0.937500
v 0.937500 0.875000 0.937500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.875000 0.250000 0.937500
v 0.875000 0.250000 0.062500
v 1.000000 0.937500 0.937500
v 1.000000 0.937500 0.062500
v 0.937500 0.312500 0.062500
v 0.937500 0.875000 0.062500
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.937500 0.250000 0.125000
v 0.062500 0.250000 0.125000
v 0.937500 0.937500 0.000000
v 0.062500 0.937500 0.000000
v 0.062500 0.312500 0.062500
v 0.062500 0.875000 0.062500
v 0.062500 0.312500 0.937500
v 0.062500 0.875000 0.937500
v 0.125000 0.250000 0.062500
v 0.125000 0.250000 0.937500
v 0.000000 0.937500 0.062500
v 0.000000 0.937500 0.937500
v 0.875000 0.000000 0.875000
v 1.000000 0.000000 1.000000
v 0.875000 0.312500 0.875000
v 1.000000 0.312500 1.000000
v 0.875000 0.000000 0.125000
v 1.000000 0.000000 0.000000
v 0.875000 0.312500 0.125000
v 1.000000 0.312500 0.000000
v 0.125000 0.000000 0.125000
v 0.000000 0.000000 0.000000
v 0.125000 0.312500 0.125000
v 0.000000 0.312500 0.000000
v 0.125000 0.000000 0.875000
v 0.000000 0.000000 1.000000
v 0.125000 0.312500 0.875000
v 0.000000 0.312500 1.000000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.937500 0.375000
vt 0.937500 0.500000
vt 0.562500 0.500000
vt 0.562500 0.375000
vt 0.562500 0.000000
vt 0.937500 0.000000
vt 0.562500 0.562500
vt 0.937500 0.562500
vt 0.937500 0.937500
vt 0.562500 0.937500
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.468750 0.531250
vt 0.468750 0.812500
vt 0.031250 0.812500
vt 0.031250 0.531250
vt 0.031250 0.500000
vt 0.468750 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.468750 0.843750
vt 0.031250 0.843750
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.906250 0.343750
vt 1.000000 0.343750
vt 1.000000 0.500000
vt 0.906250 0.500000
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.468750 0.531250
vt 0.031250 0.531250
vt 0.031250 0.812500
vt 0.468750 0.812500
vt 0.031250 0.500000
vt 0.031250 0.531250
vt 0.468750 0.531250
vt 0.468750 0.500000
vt 0.031250 0.843750
vt 0.468750 0.843750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vt 0.906250 0.343750
vt 0.906250 0.500000
vt 1.000000 0.500000
vt 1.000000 0.343750
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 -0.7071 0.7071
vn 0.7071 -0.7071 -0.0000
vn -0.0000 -0.7071 -0.7071
vn -0.7071 -0.7071 0.0000
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 0.7071
vn 0.7071 0.0000 -0.7071
vn -0.7071 0.0000 -0.7071
vn 0.0000 0.7071 -0.7071
vn -0.7071 0.7071 0.0000
vn 0.0000 0.7071 0.7071
vn 0.7071 0.7071 -0.0000
usemtl m_0
s off
f 73/182/19 74/183/19 76/184/19 75/185/19
f 75/186/20 76/187/20 80/188/20 79/189/20
f 79/190/21 80/191/21 78/192/21 77/193/21
f 77/194/22 78/195/22 74/196/22 73/197/22
f 75/198/23 79/199/23 77/194/23 73/197/23
f 80/200/24 76/201/24 74/202/24 78/203/24
f 83/204/22 84/205/22 82/206/22 81/207/22
f 83/208/25 81/209/25 85/210/25 86/211/25
f 82/206/25 84/205/25 88/212/25 87/213/25
f 91/214/21 92/215/21 90/216/21 89/217/21
f 91/218/26 89/219/26 93/220/26 94/221/26
f 90/216/26 92/215/26 96/222/26 95/223/26
f 99/224/20 100/225/20 98/226/20 97/227/20
f 99/228/27 97/229/27 101/230/27 102/231/27
f 98/226/27 100/225/27 104/232/27 103/233/27
f 107/234/19 108/235/19 106/236/19 105/237/19
f 107/238/28 105/239/28 109/240/28 110/241/28
f 106/236/28 108/235/28 112/242/28 111/243/28
f 113/244/29 114/245/29 116/246/29 115/247/29
f 117/248/30 118/249/30 120/250/30 119/251/30
f 121/252/31 122/253/31 124/254/31 123/255/31
f 125/256/32 126/257/32 128/258/32 127/259/32
f 131/260/20 129/261/20 130/262/20 132/263/20
f 131/264/33 134/265/33 133/266/33 129/267/33
f 130/262/33 135/268/33 136/269/33 132/263/33
f 139/270/19 137/271/19 138/272/19 140/273/19
f 139/274/34 142/275/34 141/276/34 137/277/34
f 138/272/34 143/278/34 144/279/34 140/273/34
f 147/280/22 145/281/22 146/282/22 148/283/22
f 147/284/35 150/285/35 149/286/35 145/287/35
f 146/282/35 151/288/35 152/289/35 148/283/35
f 155/290/21 153/291/21 154/292/21 156/293/21
f 155/294/36 158/295/36 157/296/36 153/297/36
f 154/292/36 159/298/36 160/299/36 156/293/36
f 161/300/31 163/301/31 164/302/31 162/303/31
f 165/304/32 167/305/32 168/306/32 166/307/32
f 169/308/29 171/309/29 172/310/29 170/311/29
f 173/312/30 175/313/30 176/314/30 174/315/30

View file

@ -0,0 +1,9 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_rods_large.obj",
"textures": {
"0": "create:block/blaze_active"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_rods_small.obj",
"textures": {
"0": "create:block/blaze_active"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_rods_large.obj",
"textures": {
"0": "create:block/blaze_super"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "create:models/block/blaze_burner/blaze_rods_small.obj",
"textures": {
"0": "create:block/blaze_super"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

View file

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B