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