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