datablock fxDTSBrickData(LogicGate_DiodeUp_Data)
{
	brickFile = $LuaLogic::Path @ "bricks/blb/1x1fU_1i_1o.blb";
	category = "Logic Bricks";
	subCategory = "Diode";
	uiName = "Diode Up";
	iconName = $LuaLogic::Path @ "icons/Diode Up";
	hasPrint = 1;
	printAspectRatio = "Logic";
	orientationFix = 3;

	isLogic = true;
	isLogicGate = true;
	isLogicInput = false;

	logicUIName = "Diode Up";
	logicUIDesc = "B is A";
	
	logicForceColor = "GREEN";
	logicForcePrint = "UPARROW";

	logicUpdate = "return function(gate) Gate.setportstate(gate, 2, Gate.getportstate(gate, 1)) end";
	logicCFunction = 1;

	numLogicPorts = 2;

	logicPortType[0] = 1;
	logicPortPos[0] = "0 0 0";
	logicPortDir[0] = 5;
	logicPortCauseUpdate[0] = true;
	logicPortUIName[0] = "A";

	logicPortType[1] = 0;
	logicPortPos[1] = "0 0 0";
	logicPortDir[1] = 4;
	logicPortUIName[1] = "B";
};
lualogic_registergatedefinition("LogicGate_DiodeUp_Data");

datablock fxDTSBrickData(LogicGate_DiodeDown_Data : LogicGate_DiodeUp_Data)
{
	brickFile = $LuaLogic::Path @ "bricks/blb/1x1fD_1i_1o.blb";
	uiName = "Diode Down";
	iconName = $LuaLogic::Path @ "icons/Diode Down";

	logicUIName = "Diode Down";
	
	logicForcePrint = "DOWNARROW";
	
	logicUpdate = "return function(gate) Gate.setportstate(gate, 2, Gate.getportstate(gate, 1)) end";
	logicCFunction = 1;

	logicPortDir[0] = 4;
	logicPortDir[1] = 5;
};
lualogic_registergatedefinition("LogicGate_DiodeDown_Data");

$ND::ManualSymmetryZDB["Diode Up"  ] = "Diode Down";
$ND::ManualSymmetryZDB["Diode Down"] = "Diode Up"  ;