1 <img src="https://github.com/oilboi/Crafter/blob/master/menu/header.png">
3 > Designed for Minetest 5.2.0
5 >Built using textures from <a href="https://forum.minetest.net/viewtopic.php?t=16407">Mineclone 2</a>
9 ## Be sure to install the clientside mod for this game mode: <a href="https://github.com/oilboi/crafter_client">Download here</a>
13 # ALPHA STATE CHANGELOG
15 > <a href="https://github.com/oilboi/Crafter/blob/master/old_changelog.md">Old Version Changelogs</a>
18 > It's A Real Game! Update
21 - buckets water farmland
22 - pickaxe required to mine stone based nodes
24 - Farming with hoes, grass drops seeds, bread, etc
26 - running out of a node when placing tries to replace it with another of the same item in inventory
28 - add in default furnace
29 - add backgrounds to all gui elements
30 - make furnaces drop all items on destroy instead of not allowing you to mine them
31 - added glass - smelt sand
33 - rightclicking with tool places torch
35 - make chest drop all items when you mine them
37 - torch, repeater, comparator, inverter, piston, player detector,light,
38 - redstone ore - drops 4,5 redstone dust, turns on when punched
39 - pressure plate, detects players (output max), detects items (output based on number of items)
40 - fix item size based on number of items in stack to fixed size
43 - add function to check which nodes drop the item
44 - fix hoppers not activating furnace
45 - make pigs head turn smoothly
46 - Add in fences, walls, windows
51 - 2 Music tracks (day and morning)
54 - Add snow and snowballs
55 - Make snow falling node
57 - Add trap chest and sticky piston
58 - Added Et QtFunny font info
59 - Added footers and books
72 - breaker (mines whatever is in front of it)
73 - dispenser (shoots out first item in inventory, or shoots item into pipe)
74 - sticky piston (pulls node in front of it)
75 - piston in general (if node is falling and piston is pointing up then FLING IT, if detects falling node entity FLING IT)
83 > #1 idea, - make mobs pathfind
87 - sheep can be punched to drop wool without damage
88 - you can dye a sheep with colored dye and it will change color, then will drop the color you dyed it
92 - disable pig aggression
93 - make porkchop look nicer
97 - make the default player model whited out
98 - ghosts can pass through any nodes
100 - will follow you groaning about "diamonds", "need food", and "join us"
101 - they will fling you up in the air or punch you
102 - ghosts can drag you down into nodes and suffocate you
103 - spawn with cave sounds
108 - gets built out of nodes in the area
109 - will probabaly destroy you
110 - drops all nodes that it's made of when killed
114 - sneaks up on you and then explodes
122 - xp (edit the node drops code to check if node has tag for xp)
124 - enchanting/upgrading
125 - magic (wands, spells, etc)
126 - better combat ( sweep hit enemies, falling while hitting deals more damage )
134 ### mechanics (mechanical tools and machines)
135 - compressor (compresses nodes down)
136 - auto miner (digs whatever is in front of it)
137 - decompressor (opposite of compressor
145 - pipes should be able to move objects quickly
151 - corn and corn stalks
154 - costumes (somehow?)
156 - make grass and leaves orange during the month of October
157 - (Use a simple date check and override nodes)
162 - Soul cake, make with cake and soul
166 - add fertilizer (pig drops bone randomly)
167 - fertilizer is made out of bone -
168 - fertilizer can make tall grass grow on regular grass
169 - bread - 3 bread in a row
170 - make sandwich with bread and cooked porkchop
171 - fertilizer used on saplings randomly make tree grow (make sapling growth a function)
175 - have a rod that you can cast into water
176 - bobber entity which goes under water when fish on line
184 > These don't seem to fit into any theme so list them all here
186 - sugar and sugar cane (grow near water on sand)
187 - rope and tnt arrows
188 - vehicles (car, powered minecarts, trains)
198 > These ideas are all over the place but are good for future updates
200 - make pistons able to push and pull any node that does not use meta or inv
201 - make pistons able to push and pull deactivated pistons
202 - upgrade minecart physics even more
203 - make torches abm that checks if player in area
204 - make furnace abm that checks if player in area
206 - make tnt hurt player
208 - fix tool rightclick torch placement to replace buildable to nodes
209 - if placed last node put another stack into hand
210 - have falling node hurt player?
211 - add a function to set a velocity goal to entities and then implement it with all entities
212 - ^make a value if below then stop?
213 - colored chat messages
214 - check if everyone is in bed before going to next night
215 - also lock player in bed until they get out or daytime
216 - create a function to check if a node or group is below
217 - ^ set meta for player so that all mods can use it without calculating it
218 - ^ over and over again (saves cpu cycles)
219 - cars buildable in crafting table
220 - require gas pumps refine oil
221 - drive next to gas pump and car will fill with gas
222 - maybe have pump be rightclickable and then manually fill with gass using nozel
223 - minecart car train? - off rail use
224 - automatic step height for off rail use
225 - make cars follow each other
226 - oil which spawns underground in pools
227 - powered minecart car (engine car)
229 - player controls engine car
230 - make entities push against players
236 ## Possible Applications
238 > causes object to magnetize towards player or other objects and stop after an inner radius
239 > use for better item magnet?
241 if object:is_player() and object:get_player_name() ~= self.rider then
242 local player_pos = object:getpos()
246 local currentvel = self.object:getvelocity()
247 local vel = vector.subtract(pos, player_pos)
248 vel = vector.normalize(vel)
249 local distance = vector.distance(pos,player_pos)
250 distance = (1-distance)*10
251 vel = vector.multiply(vel,distance)
252 local acceleration = vector.new(vel.x-currentvel.x,0,vel.z-currentvel.z)
255 if self.axis == "x" then
256 self.object:add_velocity(vector.new(acceleration.x,0,0))
257 elseif self.axis == "z" then
258 self.object:add_velocity(vector.new(0,0,acceleration.z))
260 self.object:add_velocity(acceleration)
263 - acceleration = vector.multiply(acceleration, -1)
264 - object:add_player_velocity(acceleration)