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