Dyeable Nixies, Part II

- Ponder doc
- Fixed a few colours
- Fixed text wipe on colour change
- Fixed pick block
- Nixie Tubes can now be picked up using the Wrench
This commit is contained in:
simibubi 2021-07-06 18:35:41 +02:00
parent 8f234b7fa8
commit 905b140a2f
19 changed files with 92 additions and 39 deletions

View file

@ -426,20 +426,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
f0d3897a272bda674b3da81ff96c9ff9d50a22d7 assets/create/lang/en_ud.json
44f4fa8dcf5b47c203a46d74637c8854b5ba701f assets/create/lang/en_us.json
6fc5076ae4e9fc523bbf073add657838ac938e8b assets/create/lang/unfinished/de_de.json
e3449092f901ff28d817ff9af3a9e0a8fbc43888 assets/create/lang/unfinished/es_es.json
8070fb996689e926239a0589944ab75cc0db647b assets/create/lang/unfinished/es_mx.json
501a34af8b7e9664a7a94a51e29e7df76e28f4f3 assets/create/lang/unfinished/fr_fr.json
d7be598329bef3b8562220b7de3c4fb2eb78442b assets/create/lang/unfinished/it_it.json
2b2498f5134a6de21bab104d06a4eb62881b6841 assets/create/lang/unfinished/ja_jp.json
525c169ff627b770d96f93a30a442ca62e4551cf assets/create/lang/unfinished/ko_kr.json
b0092f5eee50558444d5443c3272b8f9f71e5d16 assets/create/lang/unfinished/nl_nl.json
021294f59f8635e06ea6213d59e7de238285b9bd assets/create/lang/unfinished/pl_pl.json
e56525021c20ff54cba5c85b8f40b6be2f092209 assets/create/lang/unfinished/pt_br.json
645e40071e06935a05b67ad734f5becb93b823bc assets/create/lang/unfinished/ru_ru.json
d469d4fcdb7c255c48905adb6fdd1835c841f8eb assets/create/lang/unfinished/zh_cn.json
661e7b534cb28597767a5fefefdb78d8870656d7 assets/create/lang/unfinished/zh_tw.json
522a0425fc350937f5b93bda13f27521cd5fc210 assets/create/lang/en_us.json
e604315111ac1aef51dc1a8eb062520b0d7296db assets/create/lang/unfinished/de_de.json
767a42d8154b3e6c13737902f7bae58958ac3624 assets/create/lang/unfinished/es_es.json
a278b9c9fd61e4cfd93fdbe9120f02709661d5ec assets/create/lang/unfinished/es_mx.json
3d6d6ff6cf8c2edef0e4b33ae52ef4d495ff8686 assets/create/lang/unfinished/fr_fr.json
efe20508f0cab4bfc79ecfa639f3ae44093289a5 assets/create/lang/unfinished/it_it.json
52e837b2e672d4926d148c1ae0f9023e53c9837e assets/create/lang/unfinished/ja_jp.json
51457d522069914f3593e06eb7856550b25cc199 assets/create/lang/unfinished/ko_kr.json
7c53a95bf039c0d08799ca17ddd13b6c3fb62a11 assets/create/lang/unfinished/nl_nl.json
c90d70028e4ae17de3cb69b20f3406a444c5e763 assets/create/lang/unfinished/pl_pl.json
f772dba691c759f7aec5dabad3cac35b6346f317 assets/create/lang/unfinished/pt_br.json
e5283bda3d6fed5bebe87ad4ba992130342b8c97 assets/create/lang/unfinished/ru_ru.json
1c43fe99ec9687bc5ce396616e840ca70c0445b4 assets/create/lang/unfinished/zh_cn.json
987610aa57783ca7053c9108242d6dd46e6ef149 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
@ -1699,7 +1699,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
bbe7fc4aef29420319f59d02d4cd376a78244e70 assets/create/sounds.json
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json

View file

@ -2062,6 +2062,7 @@
"create.ponder.nixie_tube.header": "Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "Piston Extension Poles",
"create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1107",
"_": "Missing Localizations: 1108",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 870",
"_": "Missing Localizations: 871",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1474",
"_": "Missing Localizations: 1475",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1359",
"_": "Missing Localizations: 1360",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 887",
"_": "Missing Localizations: 888",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 19",
"_": "Missing Localizations: 20",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "ニキシー管の使い方",
"create.ponder.nixie_tube.text_1": "ニキシー管は受けたレッドストーン信号の強度を表示します",
"create.ponder.nixie_tube.text_2": "金床で名付けた名札を使って、好きな文字を表示することもできます",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "ピストン延長ポール",
"create.ponder.piston_pole.text_1": "ポールが無いとメカニカルピストンは動きません",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 265",
"_": "Missing Localizations: 266",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "표시등의 이용",
"create.ponder.nixie_tube.text_1": "레드스톤 신호를 받으면, 표시등은 레드스톤 신호의 전력을 표시합니다",
"create.ponder.nixie_tube.text_2": "모루로 이름을 바꾼 이름표를 사용하면 원하는 글씨를 표시할 수 있습니다",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "피스톤 연장대",
"create.ponder.piston_pole.text_1": "연결된 연장대가 없다면, 기계식 피스톤은 사용할 수 없습니다",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1740",
"_": "Missing Localizations: 1741",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 229",
"_": "Missing Localizations: 230",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "Używanie lamp cyfrowych",
"create.ponder.nixie_tube.text_1": "Kiedy zasilone, lampy cyfrowe wyświetlą siłę sygnału Redstone, jaki otrzymują",
"create.ponder.nixie_tube.text_2": "Używając znaczników i kowadła można wyświetlić własny tekst",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "Przedłużenia tłoka",
"create.ponder.piston_pole.text_1": "Bez przyłączonych przedłużeń, mechaniczny tłok nie może się wysunąć",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1781",
"_": "Missing Localizations: 1782",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 260",
"_": "Missing Localizations: 261",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "Использовании Газоразрядных индикаторов",
"create.ponder.nixie_tube.text_1": "При подаче Редстоун сигнала, Газоразрядные индикаторы отобразят его силу.",
"create.ponder.nixie_tube.text_2": "С помощью бирок, отредактированных на наковальне, вы можете отобразить любой текст.",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "Удлиннителях Поршня",
"create.ponder.piston_pole.text_1": "Без присоединённых Удлиннителей, Механический Поршень не может двигаться",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 270",
"_": "Missing Localizations: 271",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "使用辉光管",
"create.ponder.nixie_tube.text_1": "通入红石信号后,辉光管会显示出红石信号的强度",
"create.ponder.nixie_tube.text_2": "使用命名牌在铁砧上为其命名,可以自定义它的显示文本",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "活塞延长杆",
"create.ponder.piston_pole.text_1": "若无相接的延长杆,动力活塞无法移动其他方块",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 265",
"_": "Missing Localizations: 266",
"_": "->------------------------] Game Elements [------------------------<-",
@ -2063,6 +2063,7 @@
"create.ponder.nixie_tube.header": "使用真空管顯示器",
"create.ponder.nixie_tube.text_1": "通入紅石訊號後,真空管顯示器會顯示出紅石訊號的強度",
"create.ponder.nixie_tube.text_2": "使用命名牌在鐵砧上為其命名,可以自訂它的顯示文本",
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
"create.ponder.piston_pole.header": "活塞延長杆",
"create.ponder.piston_pole.text_1": "若無相接的延長杆,動力活塞無法移動其他方塊",

View file

@ -28,8 +28,8 @@
"trigger": "create:bracket_apply",
"conditions": {
"accepted_entries": [
"create:large_cogwheel",
"create:cogwheel"
"create:cogwheel",
"create:large_cogwheel"
]
}
},

View file

@ -5,6 +5,7 @@ import java.util.Random;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.DyeHelper;
import com.simibubi.create.foundation.utility.Iterate;
@ -26,6 +27,7 @@ import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.vector.Vector3d;
@ -33,7 +35,7 @@ import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
public class NixieTubeBlock extends HorizontalBlock implements ITE<NixieTubeTileEntity> {
public class NixieTubeBlock extends HorizontalBlock implements ITE<NixieTubeTileEntity>, IWrenchable {
public static final BooleanProperty CEILING = BooleanProperty.create("ceiling");
private DyeColor color;
@ -92,12 +94,12 @@ public class NixieTubeBlock extends HorizontalBlock implements ITE<NixieTubeTile
while (true) {
final int rowPosition = index;
if (display)
if (display)
withTileEntityDo(world, currentPos, te -> te.displayCustomNameOf(heldItem, rowPosition));
if (dye != null)
if (dye != null)
world.setBlockState(currentPos, withColor(state, dye));
BlockPos nextPos = currentPos.offset(right);
if (!areNixieBlocksEqual(world.getBlockState(nextPos), state))
break;
@ -113,6 +115,13 @@ public class NixieTubeBlock extends HorizontalBlock implements ITE<NixieTubeTile
super.fillStateContainer(builder.add(CEILING, HORIZONTAL_FACING));
}
@Override
public void onReplaced(BlockState p_196243_1_, World p_196243_2_, BlockPos p_196243_3_, BlockState p_196243_4_,
boolean p_196243_5_) {
if (!(p_196243_4_.getBlock() instanceof NixieTubeBlock))
p_196243_2_.removeTileEntity(p_196243_3_);
}
@Override
public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_,
ISelectionContext p_220053_4_) {
@ -121,6 +130,15 @@ public class NixieTubeBlock extends HorizontalBlock implements ITE<NixieTubeTile
.getAxis());
}
@Override
public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos,
PlayerEntity player) {
if (color != DyeColor.ORANGE)
return AllBlocks.ORANGE_NIXIE_TUBE.get()
.getPickBlock(state, target, world, pos, player);
return super.getPickBlock(state, target, world, pos, player);
}
@Override
public BlockState getStateForPlacement(BlockItemUseContext context) {
BlockPos pos = context.getPos();

View file

@ -30,10 +30,10 @@ public class NixieTubeRenderer extends SafeTileEntityRenderer<NixieTubeTileEntit
// DyeColor, ( Front RGB, Back RGB )
.put(DyeColor.BLACK, Couple.create(0x45403B, 0x21201F))
.put(DyeColor.RED, Couple.create(0xB13937, 0x632737))
.put(DyeColor.GREEN, Couple.create(0xC04488, 0x1D6045))
.put(DyeColor.GREEN, Couple.create(0x208A46, 0x1D6045))
.put(DyeColor.BROWN, Couple.create(0xAC855C, 0x68533E))
.put(DyeColor.BLUE, Couple.create(0xC04488, 0xC04488))
.put(DyeColor.BLUE, Couple.create(0x5391E1, 0x504B90))
.put(DyeColor.GRAY, Couple.create(0x5D666F, 0x313538))
.put(DyeColor.LIGHT_GRAY, Couple.create(0x95969B, 0x707070))
.put(DyeColor.PURPLE, Couple.create(0x9F54AE, 0x63366C))

View file

@ -1,5 +1,6 @@
package com.simibubi.create.foundation.ponder.content;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.StickerTileEntity;
import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity;
@ -9,6 +10,7 @@ import com.simibubi.create.content.logistics.block.diodes.PoweredLatchBlock;
import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterBlock;
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock;
import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity;
import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlock;
import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity;
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlock;
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity;
@ -22,6 +24,7 @@ import com.simibubi.create.foundation.ponder.elements.WorldSectionElement;
import com.simibubi.create.foundation.utility.Pointing;
import net.minecraft.block.RedstoneWireBlock;
import net.minecraft.item.DyeColor;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
@ -676,8 +679,26 @@ public class RedstoneScenes {
.placeNearTarget()
.text("Using name tags edited with an anvil, custom text can be displayed")
.pointAt(util.vector.topOf(util.grid.at(3, 1, 3))
.add(.25, -.05f, 0));
scene.idle(70);
.add(-.75, -.05f, 0));
scene.idle(90);
InputWindowElement input =
new InputWindowElement(util.vector.blockSurface(util.grid.at(3, 1, 3), Direction.UP), Pointing.DOWN)
.withItem(new ItemStack(Items.BLUE_DYE));
scene.overlay.showControls(input, 30);
scene.idle(7);
scene.world.setBlocks(util.select.fromTo(1, 1, 3, 3, 1, 3), AllBlocks.NIXIE_TUBES.get(DyeColor.BLUE)
.getDefaultState()
.with(NixieTubeBlock.HORIZONTAL_FACING, Direction.NORTH), false);
scene.idle(10);
scene.overlay.showText(80)
.colored(PonderPalette.BLUE)
.text("Right-Click with Dye to change their display colour")
.attachKeyFrame()
.pointAt(util.vector.topOf(util.grid.at(3, 1, 3))
.add(-.75, -.05f, 0))
.placeNearTarget();
scene.idle(60);
}
public static void redstoneLink(SceneBuilder scene, SceneBuildingUtil util) {