]> git.lizzy.rs Git - Crafter.git/blob - README.md
Fix readme spacing
[Crafter.git] / README.md
1 <img src="https://github.com/oilboi/Crafter/blob/master/menu/header.png">
2
3 > Designed for Minetest 5.3.0-DEV
4
5 >Built using textures from <a href="https://forum.minetest.net/viewtopic.php?t=16407">Mineclone 2</a> 
6
7 ---
8
9 ## Be sure to install the clientside mod for this game mode: <a href="https://github.com/oilboi/crafter_client">Download here</a>
10
11
12
13
14 ## If you want to run this on a server you must add this to your server minetest.conf:
15
16 ```
17 enable_client_modding = true
18 csm_restriction_flags = 0
19 enable_mod_channels = true
20 ```
21
22
23
24 ## This game is in early alpha and uses a lot of experimental features in the engine
25
26 ---
27
28 # ALPHA STATE CHANGELOG
29
30 > <a href="https://github.com/oilboi/Crafter/blob/master/old_changelog.md">Old Version Changelogs</a>
31
32 ## 0.03
33 > It's A Real Game! Update
34 - make grass spread
35 - water buckets
36 - buckets water farmland
37 - pickaxe required to mine stone based nodes
38 - Crafting bench
39 - Farming with hoes, grass drops seeds, bread, etc
40 - simplify mobs ai
41 - running out of a node when placing tries to replace it with another of the same item in inventory
42 - crafting bench
43 - add in default furnace
44 - add backgrounds to all gui elements
45 - make furnaces drop all items on destroy instead of not allowing you to mine them
46 - added glass - smelt sand
47 - added boat 
48 - rightclicking with tool places torch
49 - add chest
50 - make chest drop all items when you mine them
51 - add in redstone:
52 - torch, repeater, comparator, inverter, piston, player detector,light,
53 - redstone ore - drops 4,5 redstone dust, turns on when punched
54 - pressure plate, detects players (output max), detects items (output based on number of items)
55 - fix item size based on number of items in stack to fixed size
56 - add hoppers
57 - Add TooManyItems
58 - add function to check which nodes drop the item
59 - fix hoppers not activating furnace
60 - make pigs head turn smoothly
61 - Add in fences, walls, windows
62 - Overhaul doors
63 - Add credits screen
64 - Add stairs
65 - Add slabs
66 - 2 Music tracks (day and morning)
67 - Add snow
68 - Fix bed placement
69 - Add snow and snowballs
70 - Make snow falling node
71 - Add creative mode
72 - Add trap chest and sticky piston
73 - Added Et QtFunny font info
74 - Added footers and books
75 - Added rain 
76 - Added Book sounds
77 - Changed TNT sound
78 - Overhauled eating
79 - Add in client weather handling
80 - Add in client movement handling
81 - Made sapling fuel
82 - Fix bed bed, boat, book, sapling, wood, minecart, rail, redstone, and boat placement
83 - Add sounds to redstone dust
84 - make redstone dust an attached node
85 - Fixed treecaptitator not cutting down part of tree when lever is powering one of it's nodes
86 - Added command for users with "server" privelage to control weather
87 - Added craft recipe to shears
88 - Moved to Minetest Engine Version 5.3.0 - DEV
89 - Added slimes
90 - Added mob criticals and client effects
91 - Added stream and river sound effect to client
92 - Moved underground cave noises to client
93 - Add line_of_sight so mobs can't hit you through walls
94 - Add nether prototype
95 - Fix water animation and add default Minetest water texture
96 - Tweak mob direct chase AI
97 - Add rain sound effect
98 - Updated nether prototype
99 - Added lava
100 - Added ichor weather
101 - Added nether portal node and fire
102 - Added in flint and steel, flint, and gravel and enabled dirt and gravel spawning
103 - Made nether portal function
104 - Beds and water explode in the nether
105 - Added better nether portal effect
106 - Make mobs less noisy
107 - Add buckets in
108 - Make buckets use special raycast function
109 - Fix clientside global counters to after statements
110 - Made snow, grass, and torches floodable
111 - Made lava spawn in blobs underground
112 - Added nether ores
113 - Make nether ores randomly explode when mined
114 - Added glowstone and glowstone dust
115 - Rubenwardy fixed error 23
116 - Added in raycast TNT
117 - Merge Treer's group changes
118 - Make TNT cannons possible
119 - Add in Aether prototype dimension (21000-31000 on Y axis)
120 - Added in the early prototype of the VOID (made of bedrock for now)
121 - Treer fixed water spawning in other dimensions
122 - Make it so you can place down beds in the nether and void, but they explode when you try to sleep in them
123 - Made TNT even more efficient, stopped dropping of bedrock and obsidian
124 - Added sugarcane, sugar, and paper
125 - Books are now made out of paper and wood
126 - Made sugarcane grow near water
127 - Organized TooManyItems
128 - Added in 3D player model
129 - Added sneak animation to player model
130 ---
131
132
133 # IDEAS:
134
135
136
137 ## REDSTONE:
138 - breaker (mines whatever is in front of it)
139 - dispenser (shoots out first item in inventory, or shoots item into pipe)
140 - sticky piston (pulls node in front of it)
141 - piston in general (if node is falling and piston is pointing up then FLING IT, if detects falling node entity FLING IT)
142
143
144 ---
145
146
147 ## MOBS:
148
149 > #1 idea, - make mobs pathfind
150
151
152 ### sheep
153 - sheep can be punched to drop wool without damage
154 - you can dye a sheep with colored dye and it will change color, then will drop the color you dyed it
155
156
157 ### pig
158 - disable pig aggression
159 - make porkchop look nicer
160
161
162 ### ghosts
163 - make the default player model whited out
164 - ghosts can pass through any nodes
165 - ghosts fly around
166 - will follow you groaning about "diamonds", "need food", and "join us"
167 - they will fling you up in the air or punch you
168 - ghosts can drag you down into nodes and suffocate you
169 - spawn with cave sounds
170 - drop soul
171
172
173 ### node monster
174 - gets built out of nodes in the area
175 - will probabaly destroy you
176 - drops all nodes that it's made of when killed
177
178
179 ### Exploder
180 - sneaks up on you and then explodes
181 - drops gun powder
182
183
184 ---
185
186
187 ## Game Mechanics:
188 - xp (edit the node drops code to check if node has tag for xp)
189 - brewing
190 - enchanting/upgrading
191 - magic (wands, spells, etc)
192 - better combat ( sweep hit enemies, falling while hitting deals more damage )
193
194
195 ---
196
197
198 ## New Themes
199
200 ### mechanics (mechanical tools and machines)
201 - compressor (compresses nodes down)
202 - auto miner (digs whatever is in front of it)
203 - decompressor (opposite of compressor
204
205
206 ### automation 
207 - pipes
208 - pumps
209 - fluid  transfer
210 - fluid storage
211 - pipes should be able to move objects quickly
212
213
214 ### HALLOWEEN!
215 - lava acts like water in the nether but lava in the other worlds
216 - pumpkins
217 - Jack O'Lanterns
218 - corn and corn stalks
219 - decorations
220 - cobwebs
221 - costumes (somehow?)
222 - candy
223 - make grass and leaves orange during the month of October
224 - (Use a simple date check and override nodes)
225 - Gravestones
226 - Graveyards
227 - Candles
228 - candy apples
229 - Soul cake, make with cake and soul
230
231
232 ### Farming
233 - add fertilizer (pig drops bone randomly) 
234 - fertilizer is made out of bone - 
235 - fertilizer can make tall grass grow on regular grass
236 - bread - 3 bread in a row
237 - make sandwich with bread and cooked porkchop
238 - fertilizer used on saplings randomly make tree grow (make sapling growth a function)
239
240
241 ### Fishing
242 - have a rod that you can cast into water
243 - bobber entity which goes under water when fish on line
244
245
246 ---
247
248
249 ## New Items
250
251 > These don't seem to fit into any theme so list them all here
252
253 - sugar and sugar cane (grow near water on sand)
254 - rope and tnt arrows
255 - vehicles (car, powered minecarts, trains)
256 - hitscan flintlocks
257 - bows
258
259
260 ---
261
262
263 ## Ideas
264
265 > These ideas are all over the place but are good for future updates
266
267 - make pistons able to push and pull any node that does not use meta or inv
268 - make pistons able to push and pull deactivated pistons
269 - upgrade minecart physics even more 
270 - make torches abm that checks if player in area
271 - make furnace abm that checks if player in area
272 - 3d character
273 - make tnt hurt player
274 - rewrite minecart
275 - fix tool rightclick torch placement to replace buildable to nodes
276 - if placed last node put another stack into hand
277 - have falling node hurt player?
278 - add a function to set a velocity goal to entities and then implement it with all entities
279 - ^make a value if below then stop?
280 - colored chat messages
281 - check if everyone is in bed before going to next night
282 - also lock player in bed until they get out or daytime
283 - create a function to check if a node or group is below
284 - ^ set meta for player so that all mods can use it without calculating it
285 - ^ over and over again (saves cpu cycles)
286 - cars buildable in crafting table
287 - require gas pumps refine oil
288 - drive next to gas pump and car will fill with gas
289 - maybe have pump be rightclickable and then manually fill with gass using nozel
290 - minecart car train? - off rail use
291 - automatic step height for off rail use
292 - make cars follow each other
293 - oil which spawns underground in pools
294 - powered minecart car (engine car)
295 - chest minecart car
296 - player controls engine car
297 - make entities push against players
298
299
300 ---
301
302
303 ## Possible Applications
304
305 > causes object to magnetize towards player or other objects and stop after an inner radius
306 > use for better item magnet?
307 ```
308 if object:is_player() and object:get_player_name() ~= self.rider then
309       local player_pos = object:getpos()
310       pos.y = 0
311       player_pos.y = 0
312       
313       local currentvel = self.object:getvelocity()
314       local vel = vector.subtract(pos, player_pos)
315       vel = vector.normalize(vel)
316       local distance = vector.distance(pos,player_pos)
317       distance = (1-distance)*10
318       vel = vector.multiply(vel,distance)
319       local acceleration = vector.new(vel.x-currentvel.x,0,vel.z-currentvel.z)
320       
321       
322       if self.axis == "x"      then
323             self.object:add_velocity(vector.new(acceleration.x,0,0))
324       elseif self.axis == "z" then
325             self.object:add_velocity(vector.new(0,0,acceleration.z))
326       else
327             self.object:add_velocity(acceleration)
328       end
329       
330       - acceleration = vector.multiply(acceleration, -1)
331       - object:add_player_velocity(acceleration)
332 end
333 ```