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