Bogeyfied

- Updated assets of train-related components
This commit is contained in:
simibubi 2022-04-09 19:49:00 +02:00
parent 46ec1dd697
commit f2850183f5
51 changed files with 662 additions and 760 deletions

View file

@ -487,7 +487,7 @@ e815bfd854c2653f10828bb11950f7fb991d7efc assets/create/blockstates/stressometer.
a2454400b1cf9889f70aebdc89c52a1be25f543c assets/create/blockstates/tiled_glass_pane.json
85b57776edf426c2f8df6698b2482ea925914a5c assets/create/blockstates/track.json
408ae1009ee8bb2f2b83753d5909c53744f7865f assets/create/blockstates/track_signal.json
aa08785f906d41933e0dd1086ea7b08f5b93aa24 assets/create/blockstates/track_station.json
60609cfbcc9be6f7e41fb493ef3147beb9750b60 assets/create/blockstates/track_station.json
29af21c8d82891139d48d69f0393f612f2b6f8f1 assets/create/blockstates/tuff_pillar.json
a8094531617e27a545c4815ab2062bf0ffca3633 assets/create/blockstates/turntable.json
c9bf881ea71aa274b2803142456f1bbed9539076 assets/create/blockstates/veridium.json
@ -542,23 +542,23 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
dde2b8043a318bc88b6d381f9de6bfd557c0f079 assets/create/lang/en_ud.json
b4a8456188b945d7e0758e5df3907b3ad169817f assets/create/lang/en_us.json
7cdc811d65d4385e44e65164c533414cab40ca12 assets/create/lang/unfinished/de_de.json
20a194a4bf5c206b3ef3de38d941a5969cc4ed60 assets/create/lang/unfinished/es_cl.json
285da3f47a1d17826431ce9e5bf7a29bbeb87358 assets/create/lang/unfinished/es_es.json
ce9fe5fc9b57716344ba1b5b287c49570045da6b assets/create/lang/unfinished/fr_fr.json
0ee1e8ce662248beb16df3af3037c9a6d12a0752 assets/create/lang/unfinished/it_it.json
4d16276d623078b1c57fd0c6667b558d5d155e2e assets/create/lang/unfinished/ja_jp.json
e304ebd9522aaf8c04f7f4e66e0c7bc22fc853e4 assets/create/lang/unfinished/ko_kr.json
6cb78b7a3b254e6357fc640e3efedd915789497e assets/create/lang/unfinished/nl_nl.json
9a7fec7d89c628b7a136b5593a71747353ca1195 assets/create/lang/unfinished/pl_pl.json
18f975b62dbf77b7af68ee57812deab21f24bc2b assets/create/lang/unfinished/pt_br.json
fc32a579445b20d481faee15d0994a35492b7fed assets/create/lang/unfinished/pt_pt.json
85025a8e9bd27893cf560bb1b78fd5eaac31bb56 assets/create/lang/unfinished/ro_ro.json
c8836cf333ce5f6e048e8e41e5f5223fff3b6c53 assets/create/lang/unfinished/ru_ru.json
12066237803248568b5ff0cbe4a07f118ef4a037 assets/create/lang/unfinished/zh_cn.json
5671f38671750050fac21fa9402a5eaab622c8f3 assets/create/lang/unfinished/zh_tw.json
7fbb25c577025ff61388c54c43401d8bb80723dd assets/create/lang/en_ud.json
d19d6fb4534f1a3cdc05d98e2368cb622cb0b35c assets/create/lang/en_us.json
b23660c03917a455183094b16eee6574790856cd assets/create/lang/unfinished/de_de.json
6afa96843a684ce21a1d86b1f92741a9683ee4b9 assets/create/lang/unfinished/es_cl.json
9d8088da986e4d2a16cd68f29db9a72170868053 assets/create/lang/unfinished/es_es.json
0b4738efc913fdee63681abe73b2eb0f30b7248b assets/create/lang/unfinished/fr_fr.json
b42daac1a01bfcbdc1b029f343175211cc6efdbd assets/create/lang/unfinished/it_it.json
0b73ce20763075102b6a034dd261796a47bbaf11 assets/create/lang/unfinished/ja_jp.json
973bfaaaffbfc6a1577073262faf3960e4b0e81d assets/create/lang/unfinished/ko_kr.json
18491774d2545653fba5471e166136e8662d8c7f assets/create/lang/unfinished/nl_nl.json
ff022ea6d4d89f0f156bebbe9305f8a114bccf0f assets/create/lang/unfinished/pl_pl.json
df3767bf9e308e77597d173fb88c6c3f113a00af assets/create/lang/unfinished/pt_br.json
ff50da076781c6545bb7dc35898d6ff91bec8952 assets/create/lang/unfinished/pt_pt.json
ed7386a57b1758cda9d43ddf12236e56f3394649 assets/create/lang/unfinished/ro_ro.json
3a3e94e9a8ef33a7d75e60404e4a3cd0356ee86c assets/create/lang/unfinished/ru_ru.json
ca9cdfbe87c61b3d0773aaa2360d6ee0a91cff60 assets/create/lang/unfinished/zh_cn.json
8f6fefc6d5aeb0bc180b80dc8229e2c4361bc036 assets/create/lang/unfinished/zh_tw.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
@ -2088,7 +2088,7 @@ b1d3d00ff05908feacad06a86800da96cc9bc65d assets/create/models/item/tiled_glass.j
a7d0b746637897209bd86b1a6501ecbfb46d8270 assets/create/models/item/tiled_glass_pane.json
6b5569f25fa2d905729a3f18deb56b6c67c5dfa4 assets/create/models/item/track.json
c317adb86ee47765dd7716539c65f31f329deb85 assets/create/models/item/track_signal.json
d6364e9d11915e53dafd8761f016e4b23c7703c8 assets/create/models/item/track_station.json
447b472ee2e4796dde9e96a2be3c12e015756845 assets/create/models/item/track_station.json
f8a4fa1ccecb16a3941cc46db7481ed8e8429a5e assets/create/models/item/tree_fertilizer.json
3f6810da54724de551591b46cd5b47a98a4737ef assets/create/models/item/tuff_pillar.json
fb24881c4e92bbb7ffa54a71e0af6b1c66d84829 assets/create/models/item/turntable.json

View file

@ -1,34 +1,7 @@
{
"variants": {
"assembling=false,facing=north": {
"": {
"model": "create:block/track_station/block"
},
"assembling=true,facing=north": {
"model": "create:block/track_station/block_assembling"
},
"assembling=false,facing=south": {
"model": "create:block/track_station/block",
"y": 180
},
"assembling=true,facing=south": {
"model": "create:block/track_station/block_assembling",
"y": 180
},
"assembling=false,facing=west": {
"model": "create:block/track_station/block",
"y": 270
},
"assembling=true,facing=west": {
"model": "create:block/track_station/block_assembling",
"y": 270
},
"assembling=false,facing=east": {
"model": "create:block/track_station/block",
"y": 90
},
"assembling=true,facing=east": {
"model": "create:block/track_station/block_assembling",
"y": 90
}
}
}

View file

@ -50,7 +50,7 @@
"block.create.cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186",
"block.create.content_observer": "\u0279\u01DD\u028C\u0279\u01DDsqO \u0287u\u01DD\u0287uo\u0186",
"block.create.controller_rail": "\u05DF\u0131\u0250\u1D1A \u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186",
"block.create.controls": "s\u05DFo\u0279\u0287uo\u0186",
"block.create.controls": "s\u05DFo\u0279\u0287uo\u0186 u\u0131\u0250\u0279\u27D8",
"block.create.copper_backtank": "\u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u0279\u01DDddo\u0186",
"block.create.copper_casing": "bu\u0131s\u0250\u0186 \u0279\u01DDddo\u0186",
"block.create.copper_shingle_slab": "q\u0250\u05DFS \u01DD\u05DFbu\u0131\u0265S \u0279\u01DDddo\u0186",

View file

@ -53,7 +53,7 @@
"block.create.cogwheel": "Cogwheel",
"block.create.content_observer": "Content Observer",
"block.create.controller_rail": "Controller Rail",
"block.create.controls": "Controls",
"block.create.controls": "Train Controls",
"block.create.copper_backtank": "Copper Backtank",
"block.create.copper_casing": "Copper Casing",
"block.create.copper_shingle_slab": "Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Zahnrad",
"block.create.content_observer": "Inhaltsbeobachter",
"block.create.controller_rail": "Steuerungsschiene",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
"block.create.copper_casing": "Kupferrahmen",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Engranaje",
"block.create.content_observer": "Observador de Contenidos",
"block.create.controller_rail": "Raíl Controlador",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Tanque-Mochila de Cobre",
"block.create.copper_casing": "Cubierta de Cobre",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Engranaje",
"block.create.content_observer": "Observador de contenidos",
"block.create.controller_rail": "Raíl de control",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Depósito trasero de cobre",
"block.create.copper_casing": "Revestidor de caliza",
"block.create.copper_shingle_slab": "Losa de tejas de cobre",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Roue dentée",
"block.create.content_observer": "Observateur de contenu",
"block.create.controller_rail": "Rails controlleurs",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
"block.create.copper_casing": "Revêtement en cuivre",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Ruota dentata",
"block.create.content_observer": "Osservatore dei contenuti",
"block.create.controller_rail": "Binario di controllo",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
"block.create.copper_casing": "Involucro di rame",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "歯車",
"block.create.content_observer": "コンテンツオブザーバー",
"block.create.controller_rail": "コントローラーレール",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "銅のバックタンク",
"block.create.copper_casing": "銅ケーシング",
"block.create.copper_shingle_slab": "銅の屋根板のハーフブロック",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "톱니바퀴",
"block.create.content_observer": "정보 감지기",
"block.create.controller_rail": "방향 레일",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "구리 산소통",
"block.create.copper_casing": "구리 케이스",
"block.create.copper_shingle_slab": "구리 판자 반 블록",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Tandwiel",
"block.create.content_observer": "UNLOCALIZED: Content Observer",
"block.create.controller_rail": "UNLOCALIZED: Controller Rail",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
"block.create.copper_casing": "UNLOCALIZED: Copper Casing",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Koło zębate",
"block.create.content_observer": "Detektor zawartości",
"block.create.controller_rail": "Tory sterujące",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Miedziany zbiornik w plecaku",
"block.create.copper_casing": "Miedziana Obudowa",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Roda Dentada",
"block.create.content_observer": "Observador de Conteúdo",
"block.create.controller_rail": "Trilho Controlador",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Tanque Traseiro de Cobre",
"block.create.copper_casing": "Revestimento de Cobre",
"block.create.copper_shingle_slab": "Laje de telha de cobre",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Roda Dentada",
"block.create.content_observer": "Observador de Conteúdo",
"block.create.controller_rail": "Trilho Controlador",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Tanque Traseiro de Cobre",
"block.create.copper_casing": "Revestimento de Cobre",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Roată Dințată",
"block.create.content_observer": "Observator De Conținut",
"block.create.controller_rail": "Controlor De Șină",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Backtank De Cupru",
"block.create.copper_casing": "Carcasă De Cupru",
"block.create.copper_shingle_slab": "Lespede De Șindrilă De Cupru",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "Шестерня",
"block.create.content_observer": "Наблюдатель за содержимым",
"block.create.controller_rail": "Контролирующая рельса",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "Медный баллон",
"block.create.copper_casing": "Медный корпус",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "齿轮",
"block.create.content_observer": "物品侦测器",
"block.create.controller_rail": "控制铁轨",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "铜制背罐",
"block.create.copper_casing": "铜机壳",
"block.create.copper_shingle_slab": "铜砖块台阶",

View file

@ -54,7 +54,7 @@
"block.create.cogwheel": "齒輪",
"block.create.content_observer": "物品偵測器",
"block.create.controller_rail": "控制鐵軌",
"block.create.controls": "UNLOCALIZED: Controls",
"block.create.controls": "UNLOCALIZED: Train Controls",
"block.create.copper_backtank": "銅製後背包",
"block.create.copper_casing": "銅機殼",
"block.create.copper_shingle_slab": "UNLOCALIZED: Copper Shingle Slab",

View file

@ -1,3 +1,3 @@
{
"parent": "create:block/track_station/block"
"parent": "create:block/track_station/item"
}

View file

@ -135,6 +135,9 @@ public class AllBlockPartials {
SIGNAL_ON = block("track_signal/indicator_on"), SIGNAL_OFF = block("track_signal/indicator_off"),
DATA_GATHERER_TUBE = block("data_gatherer/tube"), DATA_GATHERER_GLOW = block("data_gatherer/glow"),
STATION_ON = block("track_station/flag_on"), STATION_OFF = block("track_station/flag_off"),
STATION_ASSEMBLE = block("track_station/flag_assemble"),
SIGNAL_PANEL = block("track_signal/panel"), SIGNAL_WHITE_CUBE = block("track_signal/white_cube"),
SIGNAL_WHITE_GLOW = block("track_signal/white_glow"), SIGNAL_WHITE = block("track_signal/white_tube"),
SIGNAL_RED_CUBE = block("track_signal/red_cube"), SIGNAL_RED_GLOW = block("track_signal/red_glow"),

View file

@ -1349,13 +1349,11 @@ public class AllBlocks {
public static final BlockEntry<StationBlock> TRACK_STATION = REGISTRATE.block("track_station", StationBlock::new)
.initialProperties(SharedProperties::wooden)
.transform(axeOrPickaxe())
.blockstate((c, p) -> p.horizontalBlock(c.get(),
s -> s.getValue(StationBlock.ASSEMBLING) ? AssetLookup.partialBaseModel(c, p, "assembling")
: AssetLookup.partialBaseModel(c, p)))
.blockstate((c, p) -> p.simpleBlock(c.get(), AssetLookup.partialBaseModel(c, p)))
.onRegister(assignDataBehaviour(new StationSummaryDataSource(), "station_summary"))
.lang("Train Station")
.item(TrackTargetingBlockItem::new)
.transform(customItemModel("_", "block"))
.transform(customItemModel())
.register();
public static final BlockEntry<SignalBlock> TRACK_SIGNAL = REGISTRATE.block("track_signal", SignalBlock::new)
@ -1389,6 +1387,7 @@ public class AllBlocks {
s -> AssetLookup.partialBaseModel(c, p, s.getValue(ControlsBlock.OPEN) ? "open" : "closed")))
.onRegister(addMovementBehaviour(new ControlsMovementBehaviour()))
.onRegister(addInteractionBehaviour(new ControlsInteractionBehaviour()))
.lang("Train Controls")
.item()
.transform(customItemModel())
.register();

View file

@ -118,10 +118,7 @@ public class AllShapes {
GIRDER_BEAM_SHAFT = shape(GIRDER_BEAM.get(Axis.X)).add(SIX_VOXEL_POLE.get(Axis.Z))
.forHorizontalAxis(),
STATION = shape(0, 0, 0, 16, 5, 16).add(2, 4, 0, 14, 16, 4)
.forHorizontal(NORTH),
CONTROLS = shape(0, 0, 4, 16, 4, 16).add(0, 0, 6, 16, 14, 16)
.forHorizontal(NORTH),
CONTROLS = shape(0, 0, 6, 16, 14, 16).forHorizontal(NORTH),
NIXIE_TUBE = shape(9, 0, 5, 15, 12, 11).add(1, 0, 5, 7, 12, 11)
.forHorizontalAxis(),
@ -234,6 +231,8 @@ public class AllShapes {
.add(0, 6, 0, 16, 12, 16)
.build(),
DEPOT = shape(CASING_11PX.get(Direction.UP)).add(1, 11, 1, 15, 13, 15)
.build(),
STATION = shape(0, 0, 0, 16, 2, 16).add(1, 0, 1, 15, 8, 15)
.build()
;

View file

@ -137,6 +137,8 @@ public class CarriageContraptionEntity extends OrientedContraptionEntity {
if (contraption instanceof CarriageContraption cc)
for (Entity entity : getPassengers()) {
if (entity instanceof Player)
continue;
BlockPos seatOf = cc.getSeatOf(entity.getUUID());
if (seatOf == null)
continue;

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.statio
import java.lang.ref.WeakReference;
import java.util.List;
import com.jozufozu.flywheel.core.PartialModel;
import com.jozufozu.flywheel.util.transform.TransformStack;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.CreateClient;
@ -15,7 +16,6 @@ import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import com.simibubi.create.foundation.gui.widget.IconButton;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TextComponent;
public abstract class AbstractStationScreen extends AbstractSimiScreen {
@ -76,18 +76,27 @@ public abstract class AbstractStationScreen extends AbstractSimiScreen {
background.render(ms, x, y, this);
ms.pushPose();
TransformStack.cast(ms)
.pushPose()
TransformStack msr = TransformStack.cast(ms);
msr.pushPose()
.translate(x + background.width + 4, y + background.height + 4, 100)
.scale(40)
.rotateX(-22)
.rotateY(63);
GuiGameElement.of(te.getBlockState()
.setValue(StationBlock.FACING, Direction.EAST))
GuiGameElement.of(te.getBlockState())
.render(ms);
if (te.resolveFlagAngle()) {
msr.translate(1 / 16f, -9 / 16f, -11 / 16f);
StationRenderer.transformFlag(msr, te, partialTicks, 180, false);
GuiGameElement.of(getFlag(partialTicks))
.render(ms);
}
ms.popPose();
}
protected abstract PartialModel getFlag(float partialTicks);
protected Train getImminent() {
return te.imminentTrain == null ? null : CreateClient.RAILWAYS.trains.get(te.imminentTrain);
}

View file

@ -3,7 +3,9 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.statio
import java.lang.ref.WeakReference;
import java.util.List;
import com.jozufozu.flywheel.core.PartialModel;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.logistics.trains.entity.Carriage;
import com.simibubi.create.content.logistics.trains.entity.Train;
@ -219,5 +221,10 @@ public class AssemblyScreen extends AbstractStationScreen {
AllPackets.channel.sendToServer(new TrainEditPacket(train.id, "", !assemblyCompleted, iconId));
}
}
@Override
protected PartialModel getFlag(float partialTicks) {
return AllBlockPartials.STATION_ASSEMBLE;
}
}

View file

@ -15,11 +15,9 @@ import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
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.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition.Builder;
@ -32,7 +30,7 @@ import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.fml.DistExecutor;
public class StationBlock extends HorizontalDirectionalBlock implements ITE<StationTileEntity> {
public class StationBlock extends Block implements ITE<StationTileEntity> {
public static final BooleanProperty ASSEMBLING = BooleanProperty.create("assembling");
@ -43,7 +41,7 @@ public class StationBlock extends HorizontalDirectionalBlock implements ITE<Stat
@Override
protected void createBlockStateDefinition(Builder<Block, BlockState> pBuilder) {
super.createBlockStateDefinition(pBuilder.add(FACING, ASSEMBLING));
super.createBlockStateDefinition(pBuilder.add(ASSEMBLING));
}
@Override
@ -59,8 +57,8 @@ public class StationBlock extends HorizontalDirectionalBlock implements ITE<Stat
@Override
public void fillItemCategory(CreativeModeTab pTab, NonNullList<ItemStack> pItems) {
super.fillItemCategory(pTab, pItems);
pItems.add(AllItems.SCHEDULE.asStack());
super.fillItemCategory(pTab, pItems);
}
@Override
@ -104,14 +102,9 @@ public class StationBlock extends HorizontalDirectionalBlock implements ITE<Stat
ScreenOpener.open(assembling ? new AssemblyScreen(te, station) : new StationScreen(te, station));
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext pContext) {
return super.getStateForPlacement(pContext).setValue(FACING, pContext.getHorizontalDirection());
}
@Override
public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) {
return AllShapes.STATION.get(pState.getValue(FACING));
return AllShapes.STATION;
}
@Override

View file

@ -1,10 +1,12 @@
package com.simibubi.create.content.logistics.trains.management.edgePoint.station;
import com.jozufozu.flywheel.core.PartialModel;
import com.jozufozu.flywheel.util.transform.Transform;
import com.jozufozu.flywheel.util.transform.TransformStack;
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.content.logistics.trains.ITrackBlock;
import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour;
import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour.RenderedTrackOverlayType;
@ -56,6 +58,9 @@ public class StationRenderer extends SafeTileEntityRenderer<StationTileEntity> {
if (!te.getBlockState()
.getValue(StationBlock.ASSEMBLING) || station == null || station.getPresentTrain() != null) {
renderFlag(
te.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF, te,
partialTicks, ms, buffer, light, overlay);
ms.pushPose();
ms.translate(-pos.getX(), -pos.getY(), -pos.getZ());
TrackTargetingBehaviour.render(level, targetPosition, target.getTargetDirection(), 0xCC993B, ms, buffer,
@ -64,6 +69,8 @@ public class StationRenderer extends SafeTileEntityRenderer<StationTileEntity> {
return;
}
renderFlag(AllBlockPartials.STATION_ASSEMBLE, te, partialTicks, ms, buffer, light, overlay);
ITrackBlock track = (ITrackBlock) block;
Direction direction = te.assemblyDirection;
@ -125,13 +132,42 @@ public class StationRenderer extends SafeTileEntityRenderer<StationTileEntity> {
ms.mulPose(Vector3f.YP.rotation(yRot));
}
ms.translate(0, 3 / 32d, 2 / 16f);
ms.translate(0, 10 / 32d, 0);
ms.scale(.75f, .75f, .75f);
itemRenderer.renderStatic(itemStack, TransformType.FIXED, light, overlay, ms, buffer, 0);
ms.popPose();
}
public static void renderFlag(PartialModel flag, StationTileEntity te, float partialTicks, PoseStack ms,
MultiBufferSource buffer, int light, int overlay) {
if (!te.resolveFlagAngle())
return;
SuperByteBuffer flagBB = CachedBufferer.partial(flag, te.getBlockState());
transformFlag(flagBB, te, partialTicks, te.flagYRot, te.flagFlipped);
flagBB.translate(0.5f / 16, 0, 0)
.rotateY(te.flagFlipped ? 0 : 180)
.translate(-0.5f / 16, 0, 0)
.light(light)
.renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped()));
}
public static void transformFlag(Transform<?> flag, StationTileEntity te, float partialTicks, int yRot,
boolean flipped) {
float value = te.flag.getValue(partialTicks);
float progress = (float) (Math.pow(Math.min(value * 5, 1), 2));
if (te.flag.getChaseTarget() > 0 && !te.flag.settled() && progress == 1) {
float wiggleProgress = (value - .2f) / .8f;
progress += (Math.sin(wiggleProgress * (2 * Mth.PI) * 4) / 8f) / Math.max(1, 8f * wiggleProgress);
}
flag.centre()
.rotateY(yRot)
.translate(1 / 64f, 4.5f / 16f, flipped ? 13.5f / 16f : 2.5f / 16f)
.unCentre()
.rotateX((flipped ? 1 : -1) * (progress * 60 + 300));
}
@Override
public boolean shouldRenderOffScreen(StationTileEntity pBlockEntity) {
return true;

View file

@ -4,8 +4,10 @@ import java.lang.ref.WeakReference;
import java.util.List;
import java.util.function.Consumer;
import com.jozufozu.flywheel.core.PartialModel;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.logistics.trains.entity.Carriage;
import com.simibubi.create.content.logistics.trains.entity.Train;
import com.simibubi.create.content.logistics.trains.entity.TrainIconType;
@ -181,7 +183,7 @@ public class StationScreen extends AbstractStationScreen {
boolean trainAtStation = trainPresent();
disassembleTrainButton.active = trainAtStation && te.trainCanDisassemble;
dropScheduleButton.active = te.trainHasSchedule;
if (te.trainHasSchedule)
dropScheduleButton.setToolTip(
Lang.translate(te.trainHasAutoSchedule ? "station.remove_auto_schedule" : "station.remove_schedule"));
@ -322,4 +324,9 @@ public class StationScreen extends AbstractStationScreen {
.sendToServer(new TrainEditPacket(train.id, trainNameBox.getValue(), false, train.icon.getId()));
}
@Override
protected PartialModel getFlag(float partialTicks) {
return te.flag.getValue(partialTicks) > 0.75f ? AllBlockPartials.STATION_ON : AllBlockPartials.STATION_OFF;
}
}

View file

@ -39,6 +39,8 @@ import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.NBTHelper;
import com.simibubi.create.foundation.utility.WorldAttached;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
import net.minecraft.core.BlockPos;
import net.minecraft.core.BlockPos.MutableBlockPos;
@ -68,6 +70,7 @@ import net.minecraftforge.network.PacketDistributor;
public class StationTileEntity extends SmartTileEntity {
public TrackTargetingBehaviour<GlobalStation> edgePoint;
public LerpedFloat flag;
protected int failedCarriageIndex;
protected AssemblyException lastException;
@ -82,6 +85,9 @@ public class StationTileEntity extends SmartTileEntity {
boolean trainHasSchedule;
boolean trainHasAutoSchedule;
int flagYRot = -1;
boolean flagFlipped;
public StationTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
super(type, pos, state);
setLazyTickRate(20);
@ -89,6 +95,8 @@ public class StationTileEntity extends SmartTileEntity {
failedCarriageIndex = -1;
autoSchedule = new StationInventory();
capability = LazyOptional.of(() -> autoSchedule);
flag = LerpedFloat.linear()
.startWithValue(0);
}
@Override
@ -179,8 +187,22 @@ public class StationTileEntity extends SmartTileEntity {
refreshAssemblyInfo();
super.tick();
if (level.isClientSide)
if (level.isClientSide) {
float currentTarget = flag.getChaseTarget();
if (currentTarget == 0 || flag.settled()) {
int target = trainPresent || isAssembling() ? 1 : 0;
if (target != currentTarget) {
flag.chase(target, 0.1f, Chaser.LINEAR);
if (target == 1)
AllSoundEvents.CONTRAPTION_ASSEMBLE.playAt(level, worldPosition, 1, 2, true);
}
}
boolean settled = flag.getValue() > .15f;
flag.tickChaser();
if (currentTarget == 0 && settled != flag.getValue() > .15f)
AllSoundEvents.CONTRAPTION_DISASSEMBLE.playAt(level, worldPosition, 0.75f, 1.5f, true);
return;
}
GlobalStation station = getStation();
if (station == null)
@ -604,12 +626,42 @@ public class StationTileEntity extends SmartTileEntity {
if (!(level instanceof ServerLevel server))
return;
Vec3 v = Vec3.atCenterOf(worldPosition);
server.sendParticles(ParticleTypes.HAPPY_VILLAGER, v.x, v.y, v.z, 8, 0.35, 0.05, 0.35, 1);
server.sendParticles(ParticleTypes.END_ROD, v.x, v.y + .25f, v.z, 10, 0.05, 1, 0.05, 0.005f);
}
public boolean resolveFlagAngle() {
if (flagYRot != -1)
return true;
BlockState target = edgePoint.getTrackBlockState();
if (!(target.getBlock()instanceof ITrackBlock def))
return false;
Vec3 axis = null;
BlockPos trackPos = edgePoint.getGlobalPosition();
for (Vec3 vec3 : def.getTrackAxes(level, trackPos, target))
axis = vec3.scale(edgePoint.getTargetDirection()
.getStep());
if (axis == null)
return false;
Direction nearest = Direction.getNearest(axis.x, 0, axis.z);
flagYRot = (int) (-nearest.toYRot() - 90);
Vec3 diff = Vec3.atLowerCornerOf(trackPos.subtract(worldPosition))
.multiply(1, 0, 1);
if (diff.lengthSqr() == 0)
return true;
flagFlipped = diff.dot(Vec3.atLowerCornerOf(nearest.getClockWise()
.getNormal())) > 0;
return true;
}
private class StationInventory extends ItemStackHandler {
public StationInventory() {

View file

@ -2,54 +2,32 @@
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/brass_casing_belt",
"3": "create:block/brass_funnel_plating",
"4": "create:block/blaze_burner_side",
"5": "create:block/blaze_heater_brazier",
"particle": "create:block/brass_casing"
"8": "create:block/controls",
"9": "create:block/signal_box_top",
"particle": "create:block/bogey/particle"
},
"elements": [
{
"from": [0, 0, 4],
"to": [16, 4, 8],
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#4"},
"east": {"uv": [12, 0, 16, 4], "rotation": 90, "texture": "#4"},
"west": {"uv": [12, 12, 16, 16], "rotation": 90, "texture": "#4"},
"up": {"uv": [8, 0, 16, 2], "texture": "#5"},
"down": {"uv": [6, 8, 8, 16], "rotation": 90, "texture": "#5"}
}
},
{
"from": [0, 0, 8],
"to": [8, 6, 16],
"to": [16, 5, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#5"},
"south": {"uv": [2, 5, 6, 8], "texture": "#5"},
"west": {"uv": [2, 5, 6, 8], "texture": "#5"},
"down": {"uv": [0, 8, 4, 11], "texture": "#5"}
"north": {"uv": [0, 8, 8, 10.5], "texture": "#8"},
"east": {"uv": [16, 5.5, 12, 8], "texture": "#8"},
"south": {"uv": [0, 5.5, 8, 8], "texture": "#8"},
"west": {"uv": [12, 5.5, 16, 8], "texture": "#8"},
"down": {"uv": [0, 4, 16, 12], "texture": "#9"}
}
},
{
"from": [8, 0, 8],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#5"},
"east": {"uv": [2, 5, 6, 8], "texture": "#5"},
"south": {"uv": [2, 5, 6, 8], "texture": "#5"},
"down": {"uv": [4, 8, 8, 11], "texture": "#5"}
}
},
{
"from": [0, 6, 6],
"from": [0, 5, 6],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [10, 1, 14, 9], "rotation": 270, "texture": "#3"},
"east": {"uv": [3, 0, 8, 4], "texture": "#0"},
"south": {"uv": [8, 0, 16, 4], "texture": "#0"},
"west": {"uv": [0, 0, 5, 4], "texture": "#0"},
"up": {"uv": [9, 1, 14, 9], "rotation": 270, "texture": "#3"},
"down": {"uv": [10, 1, 15, 9], "rotation": 270, "texture": "#3"}
"north": {"uv": [8, 11, 16, 15.5], "texture": "#8"},
"east": {"uv": [16, 0, 11, 4.5], "texture": "#8"},
"south": {"uv": [0, 0, 8, 4.5], "texture": "#8"},
"west": {"uv": [11, 0, 16, 4.5], "texture": "#8"},
"up": {"uv": [0, 11, 8, 16], "rotation": 180, "texture": "#8"},
"down": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#8"}
}
}
],
@ -58,7 +36,7 @@
"name": "closed",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3]
"children": [0, 1]
}
]
}

View file

@ -2,92 +2,63 @@
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/brass_casing_belt",
"1": "create:block/brass_block",
"2": "create:block/brass_funnel_back",
"3": "create:block/brass_funnel_plating",
"5": "create:block/blaze_burner_side",
"6": "create:block/blaze_heater_brazier",
"particle": "create:block/brass_casing"
"7": "create:block/controls",
"8": "create:block/signal_box_top",
"particle": "create:block/bogey/particle"
},
"elements": [
{
"from": [14, 6, 6],
"from": [14, 5, 6],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [10, 8, 14, 9], "rotation": 90, "texture": "#3"},
"east": {"uv": [7, 0, 16, 8], "texture": "#particle"},
"south": {"uv": [15, 0, 16, 4], "texture": "#0"},
"west": {"uv": [0, 0, 10, 6], "texture": "#1"},
"up": {"uv": [9, 8, 14, 9], "rotation": 270, "texture": "#3"},
"down": {"uv": [10, 8, 15, 9], "rotation": 270, "texture": "#3"}
"north": {"uv": [8, 11, 9, 15.5], "texture": "#7"},
"east": {"uv": [16, 0, 11, 4.5], "texture": "#7"},
"south": {"uv": [7, 0, 8, 4.5], "texture": "#7"},
"west": {"uv": [11, 0, 16, 4.5], "texture": "#7"},
"up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#7"},
"down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#7"}
}
},
{
"from": [2, 6, 14],
"from": [2, 5, 14],
"to": [14, 14, 16],
"faces": {
"north": {"uv": [2, 0, 14, 6], "texture": "#1"},
"south": {"uv": [9, 0, 15, 4], "texture": "#0"},
"up": {"uv": [10, 1, 14, 2], "rotation": 180, "texture": "#3"}
"north": {"uv": [1, 0, 7, 4.5], "texture": "#7"},
"south": {"uv": [1, 0, 7, 4.5], "texture": "#7"},
"up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#7"}
}
},
{
"from": [0, 6, 6],
"from": [0, 5, 6],
"to": [2, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [10, 9, 14, 8], "rotation": 90, "texture": "#3"},
"east": {"uv": [10, 0, 0, 6], "texture": "#1"},
"south": {"uv": [9, 0, 8, 4], "texture": "#0"},
"west": {"uv": [16, 0, 7, 8], "texture": "#particle"},
"up": {"uv": [9, 9, 14, 8], "rotation": 270, "texture": "#3"},
"down": {"uv": [10, 9, 15, 8], "rotation": 270, "texture": "#3"}
"north": {"uv": [15, 11, 16, 15.5], "texture": "#7"},
"east": {"uv": [16, 0, 11, 4.5], "texture": "#7"},
"south": {"uv": [0, 0, 1, 4.5], "texture": "#7"},
"west": {"uv": [11, 0, 16, 4.5], "texture": "#7"},
"up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#7"},
"down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#7"}
}
},
{
"from": [2, 6, 7],
"to": [14, 13, 14],
"from": [2, 5, 7],
"to": [14, 13, 15],
"faces": {
"north": {"uv": [0, 8, 3.5, 14], "rotation": 270, "texture": "#2"},
"up": {"uv": [2.5, 8, 6, 14], "rotation": 90, "texture": "#2"},
"down": {"uv": [2.5, 8, 6, 14], "rotation": 90, "texture": "#2"}
"north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#7"},
"up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"},
"down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"}
}
},
{
"from": [0, 0, 8],
"to": [8, 6, 16],
"to": [16, 5, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#6"},
"east": {"uv": [0, 0, 0, 0], "texture": "#6"},
"south": {"uv": [2, 5, 6, 8], "texture": "#6"},
"west": {"uv": [2, 5, 6, 8], "texture": "#6"},
"up": {"uv": [0, 0, 0, 0], "texture": "#6"},
"down": {"uv": [0, 8, 4, 11], "texture": "#6"}
}
},
{
"from": [8, 0, 8],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#6"},
"east": {"uv": [2, 5, 6, 8], "texture": "#6"},
"south": {"uv": [2, 5, 6, 8], "texture": "#6"},
"west": {"uv": [0, 0, 0, 0], "texture": "#6"},
"up": {"uv": [0, 0, 0, 0], "texture": "#6"},
"down": {"uv": [4, 8, 8, 11], "texture": "#6"}
}
},
{
"from": [0, 0, 4],
"to": [16, 4, 8],
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#5"},
"east": {"uv": [12, 0, 16, 4], "rotation": 90, "texture": "#5"},
"south": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#6"},
"west": {"uv": [12, 12, 16, 16], "rotation": 90, "texture": "#5"},
"up": {"uv": [8, 0, 16, 2], "texture": "#6"},
"down": {"uv": [6, 8, 8, 16], "rotation": 90, "texture": "#6"}
"north": {"uv": [0, 8, 8, 10.5], "texture": "#7"},
"east": {"uv": [16, 5.5, 12, 8], "texture": "#7"},
"south": {"uv": [0, 5.5, 8, 8], "texture": "#7"},
"west": {"uv": [12, 5.5, 16, 8], "texture": "#7"},
"down": {"uv": [0, 4, 16, 12], "texture": "#8"}
}
}
],
@ -98,8 +69,6 @@
"color": 0,
"children": [0, 1, 2, 3]
},
4,
5,
6
4
]
}

View file

@ -1,16 +1,10 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "create:block/brass_casing_belt",
"1": "create:block/brass_block",
"2": "create:block/brass_funnel_back",
"3": "create:block/brass_funnel_plating",
"5": "block/lever",
"6": "create:block/blaze_heater_brazier",
"7": "create:block/chute",
"1_5": "create:block/blaze_burner_side",
"particle": "create:block/brass_casing"
"8": "create:block/signal_box_top",
"12": "create:block/train_controls",
"1_7": "create:block/controls",
"particle": "create:block/bogey/particle"
},
"elements": [
{
@ -18,11 +12,12 @@
"to": [6, 11, 9],
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
"faces": {
"north": {"uv": [7, 6, 9, 8], "rotation": 180, "texture": "#5"},
"east": {"uv": [7, 6, 9, 16], "rotation": 90, "texture": "#5"},
"west": {"uv": [7, 6, 9, 16], "rotation": 270, "texture": "#5"},
"up": {"uv": [7, 6, 9, 16], "texture": "#5"},
"down": {"uv": [7, 6, 9, 16], "rotation": 180, "texture": "#5"}
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"},
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"},
"south": {"uv": [0, 0, 0, 0], "texture": "#12"},
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"},
"up": {"uv": [0, 6, 2, 16], "texture": "#12"},
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"}
}
},
{
@ -30,114 +25,75 @@
"to": [12, 11, 9],
"rotation": {"angle": 22.5, "axis": "x", "origin": [0, 10, 11]},
"faces": {
"north": {"uv": [7, 6, 9, 8], "rotation": 180, "texture": "#5"},
"east": {"uv": [7, 6, 9, 16], "rotation": 90, "texture": "#5"},
"west": {"uv": [7, 6, 9, 16], "rotation": 270, "texture": "#5"},
"up": {"uv": [7, 6, 9, 16], "texture": "#5"},
"down": {"uv": [7, 6, 9, 16], "rotation": 180, "texture": "#5"}
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"},
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"},
"south": {"uv": [0, 0, 0, 0], "texture": "#12"},
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"},
"up": {"uv": [0, 6, 2, 16], "texture": "#12"},
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"}
}
},
{
"from": [14, 6, 6],
"from": [2, 4.95, 6.75],
"to": [14, 13.2, 14],
"faces": {
"north": {"uv": [2, 5, 14, 13], "texture": "#12"},
"up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"},
"down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"}
}
},
{
"from": [14, 5, 6],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [10, 8, 14, 9], "rotation": 90, "texture": "#3"},
"east": {"uv": [7, 0, 16, 8], "texture": "#particle"},
"south": {"uv": [15, 0, 16, 4], "texture": "#0"},
"west": {"uv": [0, 0, 10, 6], "texture": "#1"},
"up": {"uv": [9, 8, 14, 9], "rotation": 270, "texture": "#3"},
"down": {"uv": [10, 8, 15, 9], "rotation": 270, "texture": "#3"}
"north": {"uv": [8, 11, 9, 15.5], "texture": "#1_7"},
"east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"},
"south": {"uv": [7, 0, 8, 4.5], "texture": "#1_7"},
"west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"},
"up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"},
"down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#1_7"}
}
},
{
"from": [2, 6, 14],
"from": [2, 5, 14],
"to": [14, 14, 16],
"faces": {
"north": {"uv": [2, 0, 14, 6], "texture": "#1"},
"south": {"uv": [9, 0, 15, 4], "texture": "#0"},
"up": {"uv": [10, 1, 14, 2], "rotation": 180, "texture": "#3"}
"north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
"south": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
"up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#1_7"}
}
},
{
"from": [0, 6, 6],
"from": [0, 5, 6],
"to": [2, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [10, 9, 14, 8], "rotation": 90, "texture": "#3"},
"east": {"uv": [10, 0, 0, 6], "texture": "#1"},
"south": {"uv": [9, 0, 8, 4], "texture": "#0"},
"west": {"uv": [16, 0, 7, 8], "texture": "#particle"},
"up": {"uv": [9, 9, 14, 8], "rotation": 270, "texture": "#3"},
"down": {"uv": [10, 9, 15, 8], "rotation": 270, "texture": "#3"}
"north": {"uv": [15, 11, 16, 15.5], "texture": "#1_7"},
"east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"},
"south": {"uv": [0, 0, 1, 4.5], "texture": "#1_7"},
"west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"},
"up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"},
"down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#1_7"}
}
},
{
"from": [2, 6, 7],
"to": [14, 13, 14],
"from": [2, 5, 7],
"to": [14, 13, 15],
"faces": {
"north": {"uv": [0, 8, 3.5, 14], "rotation": 270, "texture": "#2"},
"up": {"uv": [2.5, 8, 6, 14], "rotation": 90, "texture": "#2"},
"down": {"uv": [2.5, 8, 6, 14], "rotation": 90, "texture": "#2"}
"north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#1_7"},
"up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"},
"down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"}
}
},
{
"from": [0, 0, 8],
"to": [8, 6, 16],
"to": [16, 5, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#6"},
"east": {"uv": [0, 0, 0, 0], "texture": "#6"},
"south": {"uv": [2, 5, 6, 8], "texture": "#6"},
"west": {"uv": [2, 5, 6, 8], "texture": "#6"},
"up": {"uv": [0, 0, 0, 0], "texture": "#6"},
"down": {"uv": [0, 8, 4, 11], "texture": "#6"}
}
},
{
"from": [8, 0, 8],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [2, 5, 6, 8], "texture": "#6"},
"east": {"uv": [2, 5, 6, 8], "texture": "#6"},
"south": {"uv": [2, 5, 6, 8], "texture": "#6"},
"west": {"uv": [0, 0, 0, 0], "texture": "#6"},
"up": {"uv": [0, 0, 0, 0], "texture": "#6"},
"down": {"uv": [4, 8, 8, 11], "texture": "#6"}
}
},
{
"from": [0, 0, 4],
"to": [16, 4, 8],
"faces": {
"north": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#1_5"},
"east": {"uv": [12, 0, 16, 4], "rotation": 90, "texture": "#1_5"},
"south": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#6"},
"west": {"uv": [12, 12, 16, 16], "rotation": 90, "texture": "#1_5"},
"up": {"uv": [8, 0, 16, 2], "texture": "#6"},
"down": {"uv": [6, 8, 8, 16], "rotation": 90, "texture": "#6"}
}
},
{
"from": [6, 6.25, 6.75],
"to": [10, 13.25, 14.75],
"faces": {
"north": {"uv": [8.5, 1, 12, 3], "rotation": 270, "texture": "#7"},
"up": {"uv": [8.5, 1, 12.5, 3], "rotation": 270, "texture": "#7"}
}
},
{
"from": [0, 6.25, 6.75],
"to": [4, 13.25, 14.75],
"faces": {
"north": {"uv": [12, 1, 15.5, 3], "rotation": 90, "texture": "#7"},
"up": {"uv": [11.5, 1, 15.5, 3], "rotation": 90, "texture": "#7"}
}
},
{
"from": [12, 6.25, 6.75],
"to": [16, 13.25, 14.75],
"faces": {
"north": {"uv": [12, 1, 15.5, 3], "rotation": 90, "texture": "#7"},
"up": {"uv": [11.5, 1, 15.5, 3], "rotation": 90, "texture": "#7"}
"north": {"uv": [0, 8, 8, 10.5], "texture": "#1_7"},
"east": {"uv": [16, 5.5, 12, 8], "texture": "#1_7"},
"south": {"uv": [0, 5.5, 8, 8], "texture": "#1_7"},
"west": {"uv": [12, 5.5, 16, 8], "texture": "#1_7"},
"down": {"uv": [0, 4, 16, 12], "texture": "#8"}
}
}
],
@ -166,7 +122,7 @@
},
"gui": {
"rotation": [30, 225, 0],
"translation": [1, 0, 0],
"translation": [1.5, -0.25, 0],
"scale": [0.625, 0.625, 0.625]
},
"head": {
@ -175,41 +131,5 @@
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "lever",
"origin": [8, 8, 8],
"color": 0,
"children": [0]
},
{
"name": "lever",
"origin": [8, 8, 8],
"color": 0,
"children": [1]
},
{
"name": "block_open",
"origin": [8, 8, 8],
"color": 0,
"children": [
{
"name": "open",
"origin": [0, 0, 0],
"color": 0,
"children": [2, 3, 4, 5]
},
6,
7,
8
]
},
{
"name": "cover",
"origin": [8, 8, 8],
"color": 0,
"children": [9, 10, 11]
}
]
}
}

View file

@ -1,33 +1,61 @@
{
"credit": "Made with Blockbench",
"textures": {
"7": "create:block/chute",
"particle": "create:block/brass_casing"
"12": "create:block/train_controls",
"particle": "create:block/bogey/particle"
},
"elements": [
{
"from": [6, 6.25, 6.75],
"to": [10, 13.25, 14.75],
"from": [2, 4.95, 6.75],
"to": [14, 13.2, 14],
"faces": {
"north": {"uv": [8.5, 1, 12, 3], "rotation": 270, "texture": "#7"},
"up": {"uv": [8.5, 1, 12.5, 3], "rotation": 270, "texture": "#7"}
"north": {"uv": [2, 5, 14, 13], "texture": "#12"},
"up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"},
"down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
{
"from": [0, 6.25, 6.75],
"to": [4, 13.25, 14.75],
"faces": {
"north": {"uv": [12, 1, 15.5, 3], "rotation": 90, "texture": "#7"},
"up": {"uv": [11.5, 1, 15.5, 3], "rotation": 90, "texture": "#7"}
}
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"translation": [1, 0, 0],
"scale": [0.625, 0.625, 0.625]
},
"head": {
"translation": [0, 8.5, -2.25]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"from": [12, 6.25, 6.75],
"to": [16, 13.25, 14.75],
"faces": {
"north": {"uv": [12, 1, 15.5, 3], "rotation": 90, "texture": "#7"},
"up": {"uv": [11.5, 1, 15.5, 3], "rotation": 90, "texture": "#7"}
}
"name": "cover",
"origin": [8, 8, 8],
"color": 0,
"children": [0]
}
]
}

View file

@ -1,8 +1,7 @@
{
"credit": "Made with Blockbench",
"textures": {
"5": "block/lever",
"particle": "create:block/brass_casing"
"5": "create:block/train_controls"
},
"elements": [
{
@ -10,11 +9,11 @@
"to": [6, 11, 9],
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
"faces": {
"north": {"uv": [7, 6, 9, 8], "rotation": 180, "texture": "#5"},
"east": {"uv": [7, 6, 9, 16], "rotation": 90, "texture": "#5"},
"west": {"uv": [7, 6, 9, 16], "rotation": 270, "texture": "#5"},
"up": {"uv": [7, 6, 9, 16], "texture": "#5"},
"down": {"uv": [7, 6, 9, 16], "rotation": 180, "texture": "#5"}
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#5"},
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#5"},
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#5"},
"up": {"uv": [0, 6, 2, 16], "texture": "#5"},
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#5"}
}
}
]

View file

@ -4,8 +4,7 @@
"textures": {
"0": "create:block/signal_box",
"1": "create:block/signal_box_top",
"2": "create:block/indicator/0",
"particle": "create:block/signal_box"
"1_2": "create:block/indicator/6"
},
"elements": [
{
@ -87,12 +86,12 @@
"to": [16, 11, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
"faces": {
"north": {"uv": [2, 6, 4, 8], "texture": "#2"},
"east": {"uv": [0, 3, 2, 5], "texture": "#2"},
"south": {"uv": [2, 4, 4, 6], "texture": "#2"},
"west": {"uv": [2, 3, 4, 5], "texture": "#2"},
"up": {"uv": [0, 2, 2, 4], "rotation": 270, "texture": "#2"},
"down": {"uv": [0, 6, 2, 8], "rotation": 90, "texture": "#2"}
"north": {"uv": [2, 6, 4, 8], "texture": "#1_2"},
"east": {"uv": [0, 3, 2, 5], "texture": "#1_2"},
"south": {"uv": [2, 4, 4, 6], "texture": "#1_2"},
"west": {"uv": [2, 3, 4, 5], "texture": "#1_2"},
"up": {"uv": [0, 2, 2, 4], "rotation": 270, "texture": "#1_2"},
"down": {"uv": [0, 6, 2, 8], "rotation": 90, "texture": "#1_2"}
}
},
{
@ -100,13 +99,28 @@
"to": [9, 11, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
"faces": {
"north": {"uv": [2, 3, 4, 5], "texture": "#2"},
"east": {"uv": [2, 6, 4, 8], "texture": "#2"},
"south": {"uv": [0, 3, 2, 5], "texture": "#2"},
"west": {"uv": [2, 4, 4, 6], "texture": "#2"},
"up": {"uv": [0, 2, 2, 4], "texture": "#2"},
"down": {"uv": [0, 6, 2, 8], "texture": "#2"}
"north": {"uv": [2, 3, 4, 5], "texture": "#1_2"},
"east": {"uv": [2, 6, 4, 8], "texture": "#1_2"},
"south": {"uv": [0, 3, 2, 5], "texture": "#1_2"},
"west": {"uv": [2, 4, 4, 6], "texture": "#1_2"},
"up": {"uv": [0, 2, 2, 4], "texture": "#1_2"},
"down": {"uv": [0, 6, 2, 8], "texture": "#1_2"}
}
}
],
"groups": [
0,
1,
2,
3,
4,
5,
6,
{
"name": "indicator_on",
"origin": [8, 8, 8],
"color": 0,
"children": [7, 8]
}
]
}

View file

@ -1,79 +0,0 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/signal",
"3": "create:block/nixie_tube",
"particle": "create:block/signal"
},
"elements": [
{
"name": "connector3",
"from": [5, 0, 9],
"to": [11, 3, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [1, 12, 7, 15], "texture": "#2"},
"east": {"uv": [1, 12, 7, 15], "texture": "#2"},
"south": {"uv": [1, 12, 7, 15], "texture": "#2"},
"west": {"uv": [1, 12, 7, 15], "texture": "#2"},
"up": {"uv": [9, 9, 15, 15], "rotation": 90, "texture": "#2"},
"down": {"uv": [9, 9, 15, 15], "rotation": 270, "texture": "#2"}
}
},
{
"name": "connector4",
"from": [5, 0, 1],
"to": [11, 3, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [1, 12, 7, 15], "texture": "#2"},
"east": {"uv": [1, 12, 7, 15], "texture": "#2"},
"south": {"uv": [1, 12, 7, 15], "texture": "#2"},
"west": {"uv": [1, 12, 7, 15], "texture": "#2"},
"up": {"uv": [9, 9, 15, 15], "rotation": 90, "texture": "#2"},
"down": {"uv": [9, 9, 15, 15], "rotation": 270, "texture": "#2"}
}
},
{
"name": "tube4",
"from": [5, 3, 9],
"to": [11, 12, 15],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"east": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"south": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"west": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"up": {"uv": [11, 2, 14, 5], "texture": "#3"}
}
},
{
"name": "tube5",
"from": [5, 3, 1],
"to": [11, 12, 7],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"east": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"south": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"west": {"uv": [8, 2.5, 11, 7], "texture": "#3"},
"up": {"uv": [11, 2, 14, 5], "texture": "#3"}
}
}
],
"groups": [
{
"name": "group",
"origin": [17, 14, 13],
"color": 0,
"children": []
},
{
"name": "group",
"origin": [17, 14, 13],
"color": 0,
"children": [0, 1, 2, 3]
}
]
}

View file

@ -1,185 +1,45 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"texture_size": [32, 32],
"textures": {
"0": "create:block/train_workstation_base",
"1": "create:block/train_station",
"particle": "create:block/brass_casing"
"6": "create:block/bogey/frame",
"1_1": "create:block/signal_box_top",
"particle": "create:block/signal_box",
"1_0": "create:block/signal_box"
},
"elements": [
{
"name": "Workstation_base",
"from": [1, 6, 1],
"to": [15, 8, 15],
"faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"up": {"uv": [1, 1, 15, 15], "texture": "#1_1"}
}
},
{
"from": [1, 2, 1],
"to": [15, 6, 15],
"faces": {
"north": {"uv": [0, 4, 7, 6], "texture": "#6"},
"east": {"uv": [0, 4, 7, 6], "texture": "#6"},
"south": {"uv": [0, 4, 7, 6], "texture": "#6"},
"west": {"uv": [0, 4, 7, 6], "texture": "#6"}
}
},
{
"from": [0, 0, 0],
"to": [16, 5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.5, 0, 0]},
"to": [16, 2, 16],
"faces": {
"north": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"east": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"south": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"west": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"up": {"uv": [8, 0, 16, 8], "texture": "#0"},
"down": {"uv": [0, 0, 8, 8], "texture": "#0"}
"north": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1_1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1_1"}
}
},
{
"name": "top",
"from": [3, 6, 8],
"to": [4, 7, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 1.5, -1]},
"faces": {
"north": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"},
"east": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"},
"south": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"},
"west": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"},
"up": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"},
"down": {"uv": [0.5, 6.5, 1, 7], "texture": "#1"}
}
},
{
"name": "ink_vial",
"from": [2, 5, 7],
"to": [5, 6, 10],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 1, -1.5]},
"faces": {
"north": {"uv": [3.5, 8.5, 5, 9], "texture": "#1"},
"east": {"uv": [3.5, 8.5, 5, 9], "texture": "#1"},
"south": {"uv": [3.5, 8.5, 5, 9], "texture": "#1"},
"west": {"uv": [3.5, 8.5, 5, 9], "texture": "#1"},
"up": {"uv": [3.5, 8.5, 5, 10], "texture": "#1"},
"down": {"uv": [3.5, 8.5, 5, 10], "texture": "#1"}
}
},
{
"name": "Paper",
"from": [5.5, 5.1, 3.75],
"to": [12.5, 5.1, 12.75],
"rotation": {"angle": -45, "axis": "y", "origin": [7.5, 7, 11]},
"faces": {
"up": {"uv": [0, 5.5, 3.5, 10], "texture": "#1"},
"down": {"uv": [0, 5.5, 3.5, 10], "texture": "#1"}
}
},
{
"name": "pen2",
"from": [3.25, 6.75, 8],
"to": [3.25, 10.75, 9],
"rotation": {"angle": 22.5, "axis": "z", "origin": [4, 7.5, 8.5]},
"faces": {
"east": {"uv": [5, 8, 5.5, 10], "texture": "#1"},
"west": {"uv": [5, 8, 5.5, 10], "texture": "#1"}
}
},
{
"name": "pen1",
"from": [2.75, 6.75, 8.5],
"to": [3.75, 10.75, 8.5],
"rotation": {"angle": 22.5, "axis": "z", "origin": [4, 7.5, 8.5]},
"faces": {
"north": {"uv": [5, 8, 5.5, 10], "texture": "#1"},
"south": {"uv": [5, 8, 5.5, 10], "texture": "#1"}
}
},
{
"name": "cabinet",
"from": [2, 5, 0],
"to": [14, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -2]},
"faces": {
"north": {"uv": [6, 0, 12, 5.5], "texture": "#1"},
"east": {"uv": [12, 0, 14, 5.5], "texture": "#1"},
"south": {"uv": [0, 0, 6, 5.5], "texture": "#1"},
"west": {"uv": [12, 0, 14, 5.5], "texture": "#1"},
"up": {"uv": [6, 5.5, 12, 7.5], "texture": "#1"}
}
},
{
"name": "scroll1",
"from": [4, 6, 3],
"to": [6, 8, 6],
"rotation": {"angle": -22.5, "axis": "y", "origin": [5, 7, 4]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
},
{
"name": "scroll2",
"from": [4, 11.5, 2.5],
"to": [6, 13.5, 5.5],
"rotation": {"angle": -22.5, "axis": "z", "origin": [5, 12.5, 2]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
},
{
"name": "scroll3",
"from": [10, 10.75, 2.25],
"to": [12, 12.75, 5.25],
"rotation": {"angle": -22.5, "axis": "x", "origin": [11, 12.5, 2]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 45, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
0,
{
"name": "Desk_toppings",
"origin": [0, 0, 0],
"color": 0,
"children": [1, 2, 3, 4, 5]
},
{
"name": "Cabinet_toppings",
"origin": [8, 8, 8],
"color": 0,
"children": [6, 7, 8, 9]
}
]
}

View file

@ -1,137 +0,0 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"texture_size": [32, 32],
"textures": {
"0": "create:block/train_workstation_base",
"1": "create:block/train_station",
"particle": "create:block/brass_casing"
},
"elements": [
{
"name": "Workstation_base",
"from": [0, 0, 0],
"to": [16, 5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.5, 0, 0]},
"faces": {
"north": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"east": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"south": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"west": {"uv": [0, 8, 8, 10.5], "texture": "#0"},
"up": {"uv": [8, 0, 16, 8], "texture": "#0"},
"down": {"uv": [0, 0, 8, 8], "texture": "#0"}
}
},
{
"name": "Paper",
"from": [0.75, 5.1, 6],
"to": [14.75, 5.1, 14],
"rotation": {"angle": -22.5, "axis": "y", "origin": [7.5, 7, 11]},
"faces": {
"west": {"uv": [0, 0, 0, 0], "texture": "#1"},
"up": {"uv": [1, 11, 8, 15], "texture": "#1"}
}
},
{
"name": "cabinet",
"from": [2, 5, 0],
"to": [14, 16, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -2]},
"faces": {
"north": {"uv": [6, 0, 12, 5.5], "texture": "#1"},
"east": {"uv": [12, 0, 14, 5.5], "texture": "#1"},
"south": {"uv": [0, 0, 6, 5.5], "texture": "#1"},
"west": {"uv": [12, 0, 14, 5.5], "texture": "#1"},
"up": {"uv": [6, 5.5, 12, 7.5], "texture": "#1"}
}
},
{
"name": "scroll1",
"from": [4, 6, 3],
"to": [6, 8, 6],
"rotation": {"angle": -22.5, "axis": "y", "origin": [5, 7, 4]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
},
{
"name": "scroll2",
"from": [4, 11.5, 2.5],
"to": [6, 13.5, 5.5],
"rotation": {"angle": -22.5, "axis": "z", "origin": [5, 12.5, 2]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
},
{
"name": "scroll3",
"from": [10, 10.75, 2.25],
"to": [12, 12.75, 5.25],
"rotation": {"angle": -22.5, "axis": "x", "origin": [11, 12.5, 2]},
"faces": {
"north": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"east": {"uv": [4, 5.5, 5.5, 6.5], "texture": "#1"},
"south": {"uv": [5, 5.5, 6, 6.5], "texture": "#1"},
"west": {"uv": [3.5, 5.5, 5, 6.5], "texture": "#1"},
"up": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"},
"down": {"uv": [4, 5.5, 5.5, 6.5], "rotation": 90, "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 45, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
0,
{
"name": "Desk_toppings",
"origin": [0, 0, 0],
"color": 0,
"children": [1]
},
{
"name": "Cabinet_toppings",
"origin": [8, 8, 8],
"color": 0,
"children": [2, 3, 4, 5]
}
]
}

View file

@ -0,0 +1,76 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"ambientocclusion": false,
"texture_size": [32, 32],
"textures": {
"2": "create:entity/blueprint_small",
"6": "create:block/bogey/frame",
"particle": "create:block/signal_box",
"1_0": "create:block/signal_box"
},
"elements": [
{
"from": [0, 1, -1],
"to": [1, 13, 1],
"faces": {
"north": {"uv": [3.5, 7, 4, 13], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 13], "texture": "#6"},
"south": {"uv": [4, 7, 4.5, 13], "texture": "#6"},
"west": {"uv": [3.5, 7, 4.5, 13], "texture": "#6"},
"up": {"uv": [3.5, 7.5, 4.5, 7], "rotation": 90, "texture": "#6"}
}
},
{
"from": [0, -1, -1],
"to": [1, 1, 1],
"faces": {
"north": {"uv": [4, 7, 3.5, 8], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"south": {"uv": [4.5, 7, 4, 8], "texture": "#6"},
"west": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"down": {"uv": [3.5, 8, 4.5, 7.5], "rotation": 270, "texture": "#6"}
}
},
{
"from": [0.5, 9, -7],
"to": [0.5, 13, 0],
"faces": {
"east": {"uv": [1, 9, 5, 2], "rotation": 90, "texture": "#2"},
"west": {"uv": [1, 2, 5, 9], "rotation": 90, "texture": "#2"},
"down": {"uv": [0, 14, 4, 14], "rotation": 270, "texture": "#1_0"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
}
}

View file

@ -0,0 +1,43 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/indicator/0",
"6": "create:block/bogey/frame",
"particle": "create:block/signal_box",
"1_0": "create:block/signal_box"
},
"elements": [
{
"from": [0, 1, -1],
"to": [1, 13, 1],
"faces": {
"north": {"uv": [3.5, 7, 4, 13], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 13], "texture": "#6"},
"south": {"uv": [4, 7, 4.5, 13], "texture": "#6"},
"west": {"uv": [3.5, 7, 4.5, 13], "texture": "#6"},
"up": {"uv": [3.5, 7.5, 4.5, 7], "rotation": 90, "texture": "#6"}
}
},
{
"from": [0, -1, -1],
"to": [1, 1, 1],
"faces": {
"north": {"uv": [4, 7, 3.5, 8], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"south": {"uv": [4.5, 7, 4, 8], "texture": "#6"},
"west": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"down": {"uv": [3.5, 8, 4.5, 7.5], "rotation": 270, "texture": "#6"}
}
},
{
"from": [0.5, 9, -7],
"to": [0.5, 13, 0],
"faces": {
"east": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#2"},
"west": {"uv": [0, 0, 4, 7], "rotation": 270, "texture": "#2"},
"down": {"uv": [0, 14, 4, 14], "rotation": 270, "texture": "#1_0"}
}
}
]
}

View file

@ -0,0 +1,43 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/indicator/6",
"6": "create:block/bogey/frame",
"particle": "create:block/signal_box",
"1_0": "create:block/signal_box"
},
"elements": [
{
"from": [0, 1, -1],
"to": [1, 13, 1],
"faces": {
"north": {"uv": [3.5, 7, 4, 13], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 13], "texture": "#6"},
"south": {"uv": [4, 7, 4.5, 13], "texture": "#6"},
"west": {"uv": [3.5, 7, 4.5, 13], "texture": "#6"},
"up": {"uv": [3.5, 7.5, 4.5, 7], "rotation": 90, "texture": "#6"}
}
},
{
"from": [0, -1, -1],
"to": [1, 1, 1],
"faces": {
"north": {"uv": [4, 7, 3.5, 8], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"south": {"uv": [4.5, 7, 4, 8], "texture": "#6"},
"west": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"down": {"uv": [3.5, 8, 4.5, 7.5], "rotation": 270, "texture": "#6"}
}
},
{
"from": [0.5, 9, -7],
"to": [0.5, 13, 0],
"faces": {
"east": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#2"},
"west": {"uv": [0, 0, 4, 7], "rotation": 270, "texture": "#2"},
"down": {"uv": [0, 14, 4, 14], "rotation": 270, "texture": "#1_0"}
}
}
]
}

View file

@ -0,0 +1,108 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/indicator/6",
"6": "create:block/bogey/frame",
"1_1": "create:block/signal_box_top",
"particle": "create:block/signal_box",
"1_0": "create:block/signal_box"
},
"elements": [
{
"from": [1, 6, 1],
"to": [15, 8, 15],
"faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"up": {"uv": [1, 1, 15, 15], "texture": "#1_1"}
}
},
{
"from": [1, 2, 1],
"to": [15, 6, 15],
"faces": {
"north": {"uv": [0, 4, 7, 6], "texture": "#6"},
"east": {"uv": [0, 4, 7, 6], "texture": "#6"},
"south": {"uv": [0, 4, 7, 6], "texture": "#6"},
"west": {"uv": [0, 4, 7, 6], "texture": "#6"}
}
},
{
"from": [0, 0, 0],
"to": [16, 2, 16],
"faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#1_0"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1_1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1_1"}
}
},
{
"from": [15, 5.5, 12.5],
"to": [16, 17.5, 14.5],
"faces": {
"north": {"uv": [3.5, 7, 4, 13], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 13], "texture": "#6"},
"south": {"uv": [4, 7, 4.5, 13], "texture": "#6"},
"west": {"uv": [3.5, 7, 4.5, 13], "texture": "#6"},
"up": {"uv": [3.5, 7.5, 4.5, 7], "rotation": 90, "texture": "#6"}
}
},
{
"from": [15, 3.5, 12.5],
"to": [16, 5.5, 14.5],
"faces": {
"north": {"uv": [4, 7, 3.5, 8], "texture": "#6"},
"east": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"south": {"uv": [4.5, 7, 4, 8], "texture": "#6"},
"west": {"uv": [4.5, 7, 3.5, 8], "texture": "#6"},
"down": {"uv": [3.5, 8, 4.5, 7.5], "rotation": 270, "texture": "#6"}
}
},
{
"from": [15.5, 13.5, 6.5],
"to": [15.5, 17.5, 13.5],
"faces": {
"east": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#2"},
"west": {"uv": [0, 0, 4, 7], "rotation": 270, "texture": "#2"},
"down": {"uv": [0, 14, 4, 14], "rotation": 270, "texture": "#1_0"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 225, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B