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