View difference between Paste ID: 6biVL53D and 5ftCQwvi
SHOW: | | - or go back to the newest paste.
1
--Variables --
2
mouseWidth = 0
3
mouseHeight = 0
4
5
currentMob = "None"
6
currentFarmStatus = "On  "
7
currentSpawnerStatus = "On  "
8
9
--Set turtle connection --
10
rednet.open("bottom")
11
Turtle = 17
12
13
14
--Set monitor properties
15
monitor = peripheral.wrap("left")
16
monitor.clear()
17
18
monitor.setCursorPos(1,1)
19
20
w,h=monitor.getSize()
21
22
--Write spawner status data --
23
monitor.setBackgroundColor((colors.blue))
24
monitor.setCursorPos(2,2)
25
monitor.write("Farm control     ")
26
27
monitor.setBackgroundColor((colors.blue))
28
monitor.setCursorPos(2,4)
29
monitor.write("Status ")
30
31
--Write farm status data --
32
monitor.setBackgroundColor((colors.blue))
33
monitor.setCursorPos(20,2)
34
monitor.write("Spawner control ")
35
36
monitor.setBackgroundColor((colors.blue))
37
monitor.setCursorPos(20,4)
38
monitor.write("Status ")
39
40
function setCurrentSpawnerStatusData()
41
	if currentFarmStatus == "On  " then
42
		monitor.setBackgroundColor((colors.green))
43
	elseif currentFarmStatus == "Off " then
44
		monitor.setBackgroundColor((colors.red))
45
	end
46
	monitor.setCursorPos(28,4)
47
	monitor.write(currentFarmStatus)
48
end
49
50
function setCurrentFarmStatusData()
51
	if currentSpawnerStatus == "On  " then
52
		monitor.setBackgroundColor((colors.green))
53
	elseif currentSpawnerStatus == "Off " then
54
		monitor.setBackgroundColor((colors.red))
55
	end
56
	monitor.setCursorPos(10,4)
57
	monitor.write(currentSpawnerStatus)
58
end
59
60
function setCurrentMobData()
61
	--Write first list of mobs
62
	monitor.setBackgroundColor((colors.red))
63
	
64
	if currentMob == "Enderman" then
65
		monitor.setBackgroundColor((colors.green))
66
	end
67
	monitor.setCursorPos(2,6)
68
	monitor.write("  Enderman  ")
69
	monitor.setBackgroundColor((colors.red))
70
71
	if currentMob == "Skeleton" then
72
		monitor.setBackgroundColor((colors.green))
73
	end
74
	monitor.setCursorPos(2,8)
75
	monitor.write("  Skeleton  ")
76
	monitor.setBackgroundColor((colors.red))
77
78
	if currentMob == "Blaze" then
79
		monitor.setBackgroundColor((colors.green))
80
	end
81
	monitor.setCursorPos(2,10)
82
	monitor.write("  Blaze     ")
83
	monitor.setBackgroundColor((colors.red))
84
85
	if currentMob == "Whisp" then
86
		monitor.setBackgroundColor((colors.green))
87
	end
88
	monitor.setCursorPos(2,12)
89
	monitor.write("  Whisp     ")
90
	monitor.setBackgroundColor((colors.red))
91
92
	if currentMob == "Cow" then
93
		monitor.setBackgroundColor((colors.green))
94
	end
95
	monitor.setCursorPos(2,14)
96
	monitor.write("  Cow       ")
97
	monitor.setBackgroundColor((colors.red))
98
99
	--Write second list of mobs
100
	if currentMob == "Ghast" then
101
		monitor.setBackgroundColor((colors.green))
102
	end
103
	monitor.setCursorPos(16,6)
104
	monitor.write("  Ghast     ")
105
	monitor.setBackgroundColor((colors.red))
106
	
107
	if currentMob == "Chicken" then
108
		monitor.setBackgroundColor((colors.green))
109
	end
110
	monitor.setCursorPos(16,8)
111
	monitor.write("  Chicken   ")
112
	monitor.setBackgroundColor((colors.red))
113
114
	monitor.setCursorPos(16,10)
115
	monitor.write("  None	   ")
116
	monitor.setBackgroundColor((colors.red))
117
118
	monitor.setCursorPos(16,12)
119
	monitor.write("  None	   ")
120
	monitor.setBackgroundColor((colors.red))
121
122
	if currentMob == "None" then
123
		monitor.setBackgroundColor((colors.green))
124
	end
125
	monitor.setCursorPos(16,14)
126
	monitor.write("  None	   ")
127
end
128
	
129
-- Perform clicked action --
130
function checkClickPosition()
131
	--Farm Status --
132
	if(mouseWidth > 9 and mouseWidth < 14 and mouseHeight == 4) then
133
		--Clicked Status --
134
		if(currentFarmStatus == "On  ") then
135
			currentFarmStatus = "Off "
136
			redstone.setOutput("right", false)
137
		elseif(currentFarmStatus == "Off ") then
138
			currentFarmStatus = "On  "
139
			redstone.setOutput("right", true)
140
		end
141
		setCurrentFarmStatusData()
142
	end	
143
	--Spawner Status --
144
	if(mouseWidth > 27 and mouseWidth < 32 and mouseHeight == 4) then
145
		--Clicked Status --
146
		if(currentSpawnerStatus == "On  ") then
147
			currentSpawnerStatus = "Off "
148
			rednet.send(Turtle, "Off")	
149
		elseif(currentSpawnerStatus == "Off ") then
150
			currentSpawnerStatus = "On  "
151
			rednet.send(Turtle, "On")	
152
		end
153
		setCurrentSpawnerStatusData()
154
	end	
155
	-- 1st Row --
156
	if(mouseWidth > 1 and mouseWidth < 13 and mouseHeight == 6) then
157
		--Clicked Enderman --
158
		currentMob = "Enderman"
159
		setCurrentMobData()		
160
		rednet.send(Turtle, 1)	
161
	elseif(mouseWidth > 15 and mouseWidth < 27 and mouseHeight == 6) then
162
		--Clicked Ghast--
163
		currentMob = "Ghast"
164
		setCurrentMobData()
165
	rednet.send(Turtle, 6)	
166
	-- 2nd Row --
167
	elseif(mouseWidth > 1 and mouseWidth < 13 and mouseHeight == 8) then
168
		--Clicked Skeleton --
169
		currentMob = "Skeleton"
170
		setCurrentMobData()
171
		rednet.send(Turtle, 2)		
172
	elseif(mouseWidth > 15 and mouseWidth < 27 and mouseHeight == 8) then
173
		--Clicked Chicken --
174
		currentMob = "Chicken"
175
		setCurrentMobData()
176
		rednet.send(Turtle, 7)	
177
	-- 3rd Row --
178
	elseif(mouseWidth > 1 and mouseWidth < 13 and mouseHeight == 10) then
179
		--Clicked Blaze
180
		currentMob = "Blaze"
181
		setCurrentMobData()	
182
		rednet.send(Turtle, 3)	
183
	elseif(mouseWidth > 15 and mouseWidth < 27 and mouseHeight == 10) then
184
		--Clicked None --
185
		currentMob = "None"
186
		setCurrentMobData()
187
		rednet.send(Turtle, "Stop")		
188
189
	-- 4th Row --
190
	elseif(mouseWidth > 1 and mouseWidth < 13 and mouseHeight == 12) then
191
		--Clicked Whisp --
192
		currentMob = "Whisp"
193
		setCurrentMobData()	
194
		rednet.send(Turtle, 4)	
195
	elseif(mouseWidth > 15 and mouseWidth < 27 and mouseHeight == 12) then
196
		--Clicked None --
197
		currentMob = "None"
198
		setCurrentMobData()
199
		rednet.send(Turtle, "Stop")	
200
201
	-- 5th Row --
202
	elseif(mouseWidth > 1 and mouseWidth < 13 and mouseHeight == 14) then
203
		--Clicked Cow --
204
		currentMob = "Cow"
205
		setCurrentMobData()
206
		rednet.send(Turtle, 5)		
207
	elseif(mouseWidth > 15 and mouseWidth < 27 and mouseHeight == 14) then
208
		--Clicked None --
209
		currentMob = "None"
210
		setCurrentMobData()
211
		rednet.send(Turtle, "Stop")	
212
	end
213
end
214
215
--First time data setup --
216
setCurrentMobData()
217
setCurrentFarmStatusData()
218
setCurrentSpawnerStatusData()
219
220
repeat
221
	event,p1,p2,p3 = os.pullEvent()
222
223
	if event == "monitor_touch" then
224
		mouseWidth = p2
225
		mouseHeight = p3
226
		checkClickPosition()
227
	end
228
until event=="char" and p1==("x")