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