]> git.lizzy.rs Git - Crafter.git/blob - README.md
Update README.md
[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.04
33 > Endless Horizons Update
34
35 - Added in prototype for new mechanics built ontop of the engine
36 - Added cactus
37 - Make cactus hurt player when they touch it using touch_hurt group
38 - Added aether portals
39 - Make flying pigs drop 1-6 gold
40 - Make mobs use builtin minetest.throw_item function (custom)
41 - Double flying pigs sight radius
42 - Add hurt_inside group
43 - Add lava and fire to hurt_inside group
44 - Make mobs get damaged in fire and lava
45 - Add prototype mining lazer
46 - Add prototype gravity gun
47 - Added ice
48 - Make players get suffocated inside solid nodes
49 - Ice now breaks into water
50 - Ice spawns when snowing, replaces water under air
51 - Players sneaking hide nametag
52 - Updated main menu texture to have better brightness/contrast
53 - Turned mobs into API
54 - Added creepig
55 - Flying Pig now throws TNT at player
56 - Redid fishing mechanics
57 - Redid bows and arrows
58 - Added collision detection to mobs
59 - Add fall damage to mobs
60 ---
61
62
63 # IDEAS:
64
65
66
67 ## REDSTONE:
68 - breaker (mines whatever is in front of it)
69 - dispenser (shoots out first item in inventory, or shoots item into pipe)
70 - piston in general (if node is falling and piston is pointing up then FLING IT, if detects falling node entity FLING IT)
71
72
73 ---
74
75
76 ## MOBS:
77
78 > #1 idea, - make mobs pathfind
79
80
81 ### sheep
82 - sheep can be punched to drop wool without damage
83 - you can dye a sheep with colored dye and it will change color, then will drop the color you dyed it
84
85
86 ### pig
87 - disable pig aggression
88 - make porkchop look nicer
89
90
91 ### ghosts
92 - make the default player model whited out
93 - ghosts can pass through any nodes
94 - ghosts fly around
95 - will follow you groaning about "diamonds", "need food", and "join us"
96 - they will fling you up in the air or punch you
97 - ghosts can drag you down into nodes and suffocate you
98 - spawn with cave sounds
99 - drop soul
100
101
102 ### node monster
103 - gets built out of nodes in the area
104 - will probabaly destroy you
105 - drops all nodes that it's made of when killed
106
107
108 ### Exploder
109 - sneaks up on you and then explodes
110 - drops gun powder
111
112
113 ---
114
115
116 ## Game Mechanics:
117 - xp (edit the node drops code to check if node has tag for xp)
118 - brewing
119 - enchanting/upgrading
120 - magic (wands, spells, etc)
121 - better combat ( sweep hit enemies, falling while hitting deals more damage )
122
123
124 ---
125
126
127 ## New Themes
128
129 ### mechanics (mechanical tools and machines)
130 - compressor (compresses nodes down)
131 - auto miner (digs whatever is in front of it)
132 - decompressor (opposite of compressor
133
134
135 ### automation 
136 - pipes
137 - pumps
138 - fluid  transfer
139 - fluid storage
140 - pipes should be able to move objects quickly
141
142
143 ### HALLOWEEN!
144 - lava acts like water in the nether but lava in the other worlds
145 - pumpkins
146 - Jack O'Lanterns
147 - corn and corn stalks
148 - decorations
149 - cobwebs
150 - costumes (somehow?)
151 - candy
152 - make grass and leaves orange during the month of October
153 - (Use a simple date check and override nodes)
154 - Gravestones
155 - Graveyards
156 - Candles
157 - candy apples
158 - Soul cake, make with cake and soul
159
160
161 ### Farming
162 - add fertilizer (pig drops bone randomly) 
163 - fertilizer is made out of bone - 
164 - fertilizer can make tall grass grow on regular grass
165 - bread - 3 bread in a row
166 - make sandwich with bread and cooked porkchop
167 - fertilizer used on saplings randomly make tree grow (make sapling growth a function)
168
169
170 ### Fishing
171 - have a rod that you can cast into water
172 - bobber entity which goes under water when fish on line
173
174
175 ---
176
177
178 ## New Items
179
180 > These don't seem to fit into any theme so list them all here
181
182 - sugar and sugar cane (grow near water on sand)
183 - rope and tnt arrows
184 - vehicles (car, powered minecarts, trains)
185 - hitscan flintlocks
186 - bows
187
188
189 ---
190
191
192 ## Ideas
193
194 > These ideas are all over the place but are good for future updates
195
196 - make pistons able to push and pull any node that does not use meta or inv
197 - make pistons able to push and pull deactivated pistons
198 - upgrade minecart physics even more 
199 - make torches abm that checks if player in area
200 - make furnace abm that checks if player in area
201 - 3d character
202 - make tnt hurt player
203 - rewrite minecart
204 - fix tool rightclick torch placement to replace buildable to nodes
205 - if placed last node put another stack into hand
206 - have falling node hurt player?
207 - add a function to set a velocity goal to entities and then implement it with all entities
208 - ^make a value if below then stop?
209 - colored chat messages
210 - check if everyone is in bed before going to next night
211 - also lock player in bed until they get out or daytime
212 - create a function to check if a node or group is below
213 - ^ set meta for player so that all mods can use it without calculating it
214 - ^ over and over again (saves cpu cycles)
215 - cars buildable in crafting table
216 - require gas pumps refine oil
217 - drive next to gas pump and car will fill with gas
218 - maybe have pump be rightclickable and then manually fill with gass using nozel
219 - minecart car train? - off rail use
220 - automatic step height for off rail use
221 - make cars follow each other
222 - oil which spawns underground in pools
223 - powered minecart car (engine car)
224 - chest minecart car
225 - player controls engine car
226 - make entities push against players
227
228
229 ---
230
231
232 ## Possible Applications
233
234 > causes object to magnetize towards player or other objects and stop after an inner radius
235 > use for better item magnet?
236 ```
237 if object:is_player() and object:get_player_name() ~= self.rider then
238       local player_pos = object:getpos()
239       pos.y = 0
240       player_pos.y = 0
241       
242       local currentvel = self.object:getvelocity()
243       local vel = vector.subtract(pos, player_pos)
244       vel = vector.normalize(vel)
245       local distance = vector.distance(pos,player_pos)
246       distance = (1-distance)*10
247       vel = vector.multiply(vel,distance)
248       local acceleration = vector.new(vel.x-currentvel.x,0,vel.z-currentvel.z)
249       
250       
251       if self.axis == "x"      then
252             self.object:add_velocity(vector.new(acceleration.x,0,0))
253       elseif self.axis == "z" then
254             self.object:add_velocity(vector.new(0,0,acceleration.z))
255       else
256             self.object:add_velocity(acceleration)
257       end
258       
259       - acceleration = vector.multiply(acceleration, -1)
260       - object:add_player_velocity(acceleration)
261 end
262 ```