1 <img src="https://github.com/oilboi/Crafter/blob/master/menu/header.png">
3 > Designed for Minetest 5.3.0-DEV
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>
14 ## If you want to run this on a server you must add this to your server minetest.conf:
17 enable_client_modding = true
18 csm_restriction_flags = 0
19 enable_mod_channels = true
20 secure.http_mods = skins
21 max_objects_per_block = 4096
22 max_packets_per_iteration = 10096
27 ## This game is in early alpha and uses a lot of experimental features in the engine
31 # ALPHA STATE CHANGELOG
33 > <a href="https://github.com/oilboi/Crafter/blob/master/old_changelog.md">Old Version Changelogs</a>
37 > Multiplayer Polishing Update
38 - Fixed only one player being able to run on a server
39 - Fixed only one person being able to teleport in the same server step
40 - Players now use the same damage mechaninism as mobs
41 - Fixed wrong variable for durability assigned to all swords
42 - Fix bug in experience
43 - Fully implemented bows and arrows
44 - Tuned the bow and arrows even further
45 - Snowmen now drop a carrot, coal, stick, or snowball
47 - Tuned a lot of things
49 - Added in Krock's awesome Colored Names mod for csm chat
51 - Fixed global mob handling
52 - Added in better fire
53 - Overhauled weather effects
54 - Added in clientside modchannel lockout to check if server sending message
56 - Overhauled client mod version checking
57 - Overhauled mob pathfinding AI
59 - Fixed Crafter Client from crashing if joining a non-crafter server
60 - Heavily optimized network usage with player mechanics to client mod
61 - Updated player_api for next step in optimization
62 - ElCeejo remodeled and fixed snowman head tracking. Thanks!
74 - breaker (mines whatever is in front of it)
75 - dispenser (shoots out first item in inventory, or shoots item into pipe)
76 - piston in general (if node is falling and piston is pointing up then FLING IT, if detects falling node entity FLING IT)
97 > #1 idea: weakness items, items that damage the mob more than diamond swords
100 - you can put a pumpkin on it's head to make it survive when it's not snowing out
101 - drops snowballs, coal, or carrot
104 - sheep can be punched to drop wool without damage
105 - you can dye a sheep with colored dye and it will change color, then will drop the color you dyed it
109 - disable pig aggression
110 - make porkchop look nicer
114 - make the default player model whited out
115 - ghosts can pass through any nodes
117 - will follow you groaning about "diamonds", "need food", and "join us"
118 - they will fling you up in the air or punch you
119 - ghosts can drag you down into nodes and suffocate you
120 - spawn with cave sounds
125 - gets built out of nodes in the area
126 - will probabaly destroy you
127 - drops all nodes that it's made of when killed
136 - enchanting/upgrading
137 - magic (wands, spells, etc)
138 - better combat ( sweep hit enemies, falling while hitting deals more damage )
139 - Enchanting food - gives buffs
140 - LATE effects https://forum.minetest.net/viewtopic.php?t=20724
148 ### mechanics (mechanical tools and machines)
149 - compressor (compresses nodes down)
150 - auto miner (digs whatever is in front of it)
151 - decompressor (opposite of compressor
159 - pipes should be able to move objects quickly
164 - corn and corn stalks
167 - costumes (somehow?)
169 - make grass and leaves orange during the month of October
170 - (Use a simple date check and override nodes)
175 - Soul cake, make with cake and soul
179 - add fertilizer (pig drops bone randomly)
180 - fertilizer is made out of bone -
181 - fertilizer can make tall grass grow on regular grass
182 - bread - 3 bread in a row
183 - make sandwich with bread and cooked porkchop
184 - fertilizer used on saplings randomly make tree grow (make sapling growth a function)
189 - player casts out a better lure if on a boat
197 > These don't seem to fit into any theme so list them all here
199 - rope and tnt arrows
200 - vehicles (car, powered minecarts, trains)
209 > These ideas are all over the place but are good for future updates
211 - make pistons able to push and pull any node that does not use meta or inv
212 - make pistons able to push and pull deactivated pistons
213 - upgrade minecart physics even more
214 - make torches abm that checks if player in area
215 - make furnace abm that checks if player in area
216 - make tnt hurt player
218 - fix tool rightclick torch placement to replace buildable to nodes
219 - if placed last node put another stack into hand
220 - have falling node hurt player?
221 - add a function to set a velocity goal to entities and then implement it with all entities
222 - ^make a value if below then stop?
223 - colored chat messages
224 - check if everyone is in bed before going to next night
225 - also lock player in bed until they get out or daytime
226 - create a function to check if a node or group is below
227 - ^ set meta for player so that all mods can use it without calculating it
228 - ^ over and over again (saves cpu cycles)
229 - cars buildable in crafting table
230 - require gas pumps refine oil
231 - drive next to gas pump and car will fill with gas
232 - maybe have pump be rightclickable and then manually fill with gass using nozel
233 - minecart car train? - off rail use
234 - automatic step height for off rail use
235 - make cars follow each other
236 - oil which spawns underground in pools
237 - powered minecart car (engine car)
239 - player controls engine car
240 - make entities push against players
246 ## Possible Applications
248 > causes object to magnetize towards player or other objects and stop after an inner radius
249 > use for better item magnet?
251 if object:is_player() and object:get_player_name() ~= self.rider then
252 local player_pos = object:getpos()
256 local currentvel = self.object:getvelocity()
257 local vel = vector.subtract(pos, player_pos)
258 vel = vector.normalize(vel)
259 local distance = vector.distance(pos,player_pos)
260 distance = (1-distance)*10
261 vel = vector.multiply(vel,distance)
262 local acceleration = vector.new(vel.x-currentvel.x,0,vel.z-currentvel.z)
265 if self.axis == "x" then
266 self.object:add_velocity(vector.new(acceleration.x,0,0))
267 elseif self.axis == "z" then
268 self.object:add_velocity(vector.new(0,0,acceleration.z))
270 self.object:add_velocity(acceleration)
273 - acceleration = vector.multiply(acceleration, -1)
274 - object:add_player_velocity(acceleration)