mirror of
				https://github.com/minetest-mods/skinsdb.git
				synced 2025-10-31 11:35:21 +01:00 
			
		
		
		
	Update
This commit is contained in:
		
							
								
								
									
										9
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								README
									
									
									
									
									
								
							| @@ -8,12 +8,11 @@ https://github.com/minetest-technic/unified_inventory | ||||
|  | ||||
| This is the "u_skindb" branch, it is ment to download the skins from addi's skin database (http://minetest.fensta.bplaced.net). | ||||
|  | ||||
| To re-download the latest skins you have 2 ways: | ||||
| 	1, if you have blender) Run the script "update_from_db.py" OR "update_from_db2.py" | ||||
| 	and then "./generate_previews.sh" | ||||
| To re-download the latest skins you may want to run: | ||||
|  "./update_from_db.py" OR | ||||
|  "./update_from_db2.py" | ||||
|  script, then "./generate_previews.sh" before using the mod. | ||||
|  | ||||
| 	2, if you are lazy) Run the script "update_from_db_hacky.py" | ||||
| 	and then make sure, you have set "u_skins.used_hacky" to "true" in "./u_skins/init.lua" | ||||
|  | ||||
| Credits: | ||||
| MirceaKitsune (WTFPL) + bundled script by Zeg9 (WTFPL too): | ||||
|   | ||||
| @@ -1,48 +0,0 @@ | ||||
| #!/bin/sh | ||||
| # This script is used to generate the previews needed by the mod | ||||
| # It requires blender with the latest python API (2.6x is tested) | ||||
| # A script that works with older blenders and, maybe, without python, is available in older commits. | ||||
| # This script can also use pngcrush and imagemagick to reduce output size, | ||||
| #   please enable them if you want to push to the git repository of the mod. | ||||
| # Pngcrush output will be written to .previews/pngcrush_output | ||||
| # Warning: any file in .previews/ and u_skins/textures might be deleted without asking. | ||||
| PNGCRUSH=true | ||||
| IMAGEMAGICK=true | ||||
| cd .previews | ||||
| rm ../u_skins/textures/*_preview*.png # Remove all previous previews | ||||
| blender -b skin_previews.blend --python-text "Generate previews" > /dev/null | ||||
| if $IMAGEMAGICK | ||||
| 	then echo "Stripping metadata from generated files..." | ||||
| 	else echo "Moving files..." | ||||
| fi | ||||
| rm -rf output # remove my output | ||||
| mkdir -p output | ||||
| for i in blender_out/character_*_00.png; | ||||
| do | ||||
| 	out_name=$(basename $i | sed -e 's/_00.png//g') | ||||
| 	out_file=output/"$out_name"_preview.png | ||||
| 	if $IMAGEMAGICK | ||||
| 	then | ||||
| 		convert -strip $i $out_file | ||||
| 	else | ||||
| 		mv $i $out_file | ||||
| 	fi | ||||
| done | ||||
| for i in blender_out/character_*_01.png; | ||||
| do | ||||
| 	out_name=$(basename $i | sed -e 's/_01.png//g') | ||||
| 	out_file=output/"$out_name"_preview_back.png | ||||
| 	if $IMAGEMAGICK | ||||
| 	then | ||||
| 		convert -strip $i $out_file | ||||
| 	else | ||||
| 		mv $i $out_file | ||||
| 	fi | ||||
| done | ||||
| if $PNGCRUSH | ||||
| 	then | ||||
| 		echo "Running pngcrush..." | ||||
| 		pngcrush -d ../u_skins/textures/ output/*_preview*.png 2> pngcrush_output | ||||
| 	else mv output/*_preview*.png ../u_skins/textures/ | ||||
| fi | ||||
| echo "Done !" | ||||
							
								
								
									
										59
									
								
								set_meta.sh
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								set_meta.sh
									
									
									
									
									
								
							| @@ -1,59 +0,0 @@ | ||||
| #!/bin/bash | ||||
| SPRITES=$(find -regextype sed -regex '.*/player_[0-9]\{1,\}.png' | sort -V) | ||||
| MODELS=$(find -regextype sed -regex '.*/character_[0-9]\{1,\}.png' | sort -V) | ||||
| function ask_for_meta { | ||||
| 	convert $2 -scale 100x200 /tmp/skins_set_meta | ||||
| 	SNAME=$(basename $1) | ||||
| 	SNAME=${SNAME%.*} | ||||
| 	METAFILE=u_skins/meta/$SNAME.txt | ||||
| 	FORCE=$3 | ||||
| 	if $FORCE || ! [ -f $METAFILE ] | ||||
| 	then | ||||
| 		echo $METAFILE | ||||
| 		YADOUT=$(yad --form --image=/tmp/skins_set_meta --field $SNAME:LBL --field=Name --field=Author --field=Description --field=Comment) | ||||
| 		if [ -z "$YADOUT" ]; then exit; fi # canceled | ||||
| 		OIFS="$IFS" | ||||
| 		IFS='|' | ||||
| 		read -a VALUES <<< "$YADOUT" | ||||
| 		IFS="$OIFS" | ||||
| 		NAME=${VALUES[1]} | ||||
| 		AUTHOR=${VALUES[2]} | ||||
| 		DESCRIPTION=${VALUES[3]} | ||||
| 		COMMENT=${VALUES[4]} | ||||
| 		if [ -n "$NAME" ] && [ -n "$AUTHOR" ] | ||||
| 		then | ||||
| 			echo -n > $METAFILE # clear it | ||||
| 			echo 'name = "'$NAME'",' >> $METAFILE | ||||
| 			echo 'author = "'$AUTHOR'",' >> $METAFILE | ||||
| 			# only write description and comment if they are specified | ||||
| 			if [ -n "$DESCRIPTION" ] | ||||
| 			then | ||||
| 				echo 'description = "'$DESCRIPTION'",' >> $METAFILE | ||||
| 			fi | ||||
| 			if [ -n "$COMMENT" ] | ||||
| 			then | ||||
| 				echo 'comment = "'$COMMENT'",' >> $METAFILE | ||||
| 			fi | ||||
| 			echo "Saved !" | ||||
| 		fi | ||||
| 	fi | ||||
| } | ||||
| if [ -z $1 ] | ||||
| then | ||||
| 	for i in $SPRITES | ||||
| 	do | ||||
| 		ask_for_meta $i $i false | ||||
| 	done | ||||
| 	for i in $MODELS | ||||
| 	do | ||||
| 		ask_for_meta $i ${i%.*}_preview.png false | ||||
| 	done | ||||
| else | ||||
| 	if [ -f ${1%.*}_preview.png ] | ||||
| 	then | ||||
| 		ask_for_meta $1 ${1%.*}_preview.png true | ||||
| 	else | ||||
| 		ask_for_meta $1 $1 true | ||||
| 	fi | ||||
| fi | ||||
| rm /tmp/skins_set_meta | ||||
| @@ -1,2 +1,2 @@ | ||||
| unified_inventory? | ||||
| unified_inventory | ||||
| default | ||||
|   | ||||
							
								
								
									
										196
									
								
								u_skins/init.lua
									
									
									
									
									
								
							
							
						
						
									
										196
									
								
								u_skins/init.lua
									
									
									
									
									
								
							| @@ -3,82 +3,72 @@ | ||||
| -- Copyright (c) 2012 cornernote, Dean Montgomery | ||||
| -- License: GPLv3 | ||||
| u_skins = {} | ||||
| u_skins.type = { SPRITE=0, MODEL=1 } | ||||
| u_skins.modpath = minetest.get_modpath("u_skins") | ||||
| u_skins.file = minetest.get_worldpath().."/u_skins.mt" | ||||
| u_skins.pages = {} | ||||
| u_skins.u_skins = {} | ||||
| u_skins.used_hacky = false -- set to true if used hacky way to update skins | ||||
| u_skins.file_save = false | ||||
|  | ||||
| u_skins.get_type = function(texture) | ||||
| 	if not texture then return end | ||||
| 	if string.sub(texture,0,string.len("character")) == "character" then | ||||
| 		return u_skins.type.MODEL | ||||
| u_skins.is_skin = function(texture) | ||||
| 	if not texture then | ||||
| 		return false | ||||
| 	end | ||||
| 	if string.sub(texture,0,string.len("player")) == "player" then | ||||
| 		return u_skins.type.SPRITE | ||||
| 	if not u_skins.meta[texture] then | ||||
| 		return false | ||||
| 	end | ||||
| 	return true | ||||
| end | ||||
|  | ||||
| u_skins.modpath = minetest.get_modpath("u_skins") | ||||
| dofile(u_skins.modpath.."/skinlist.lua") | ||||
| dofile(u_skins.modpath.."/meta.lua") | ||||
| dofile(u_skins.modpath.."/players.lua") | ||||
|  | ||||
|  | ||||
| u_skins.update_player_skin = function(player) | ||||
| 	name = player:get_player_name() | ||||
| 	if u_skins.get_type(u_skins.u_skins[name]) == u_skins.type.SPRITE then | ||||
| 		player:set_properties({ | ||||
| 			visual = "upright_sprite", | ||||
| 			textures = {u_skins.u_skins[name]..".png",u_skins.u_skins[name].."_back.png"}, | ||||
| 			visual_size = {x=1, y=2}, | ||||
| 		}) | ||||
| 	elseif u_skins.get_type(u_skins.u_skins[name]) == u_skins.type.MODEL then | ||||
| 		player:set_properties({ | ||||
| 			visual = "mesh", | ||||
| 			mesh = "character.x", | ||||
| 			textures = {u_skins.u_skins[name]..".png"}, | ||||
| 			visual_size = {x=1, y=1}, | ||||
| 		}) | ||||
| 	local name = player:get_player_name() | ||||
| 	if not u_skins.is_skin(u_skins.u_skins[name]) then | ||||
| 		u_skins.u_skins[name] = "character_1" | ||||
| 	end | ||||
| 	u_skins.save() | ||||
| 	player:set_properties({ | ||||
| 		visual = "mesh", | ||||
| 		mesh = "character.x", | ||||
| 		textures = {u_skins.u_skins[name]..".png"}, | ||||
| 		visual_size = {x=1, y=1}, | ||||
| 	}) | ||||
| 	u_skins.file_save = true | ||||
| end | ||||
|  | ||||
| -- Display Current Skin | ||||
| unified_inventory.register_page("u_skins", { | ||||
| 	get_formspec = function(player) | ||||
| 		name = player:get_player_name() | ||||
| 		local formspec = "background[0.06,0.99;7.92,7.52;ui_misc_form.png]" | ||||
| 		if u_skins.get_type(u_skins.u_skins[name]) == u_skins.type.MODEL then | ||||
| 			formspec = formspec.."image[0,.75;1,2;"..u_skins.u_skins[name].."_preview.png]" | ||||
| 			if not u_skins.used_hacky then | ||||
| 				-- player back view | ||||
| 				formspec = formspec.."image[1,.75;1,2;"..u_skins.u_skins[name].."_preview_back.png]" | ||||
| 			end | ||||
| 			formspec = formspec.."label[6,.5;Raw texture:]" | ||||
| 				.."image[6,1;2,1;"..u_skins.u_skins[name]..".png]" | ||||
| 			 | ||||
| 		else | ||||
| 			formspec = formspec | ||||
| 				.. "image[0,.75;1,2;"..u_skins.u_skins[name]..".png]" | ||||
| 				.. "image[1,.75;1,2;"..u_skins.u_skins[name].."_back.png]" | ||||
| 		local name = player:get_player_name() | ||||
| 		if not u_skins.is_skin(u_skins.u_skins[name]) then | ||||
| 			u_skins.u_skins[name] = "character_1" | ||||
| 		end | ||||
| 		 | ||||
| 		local formspec = ("background[0.06,0.99;7.92,7.52;ui_misc_form.png]" | ||||
| 			.."image[0,.75;1,2;"..u_skins.u_skins[name].."_preview.png]" | ||||
| 			.."label[6,.5;Raw texture:]" | ||||
| 			.."image[6,1;2,1;"..u_skins.u_skins[name]..".png]") | ||||
| 				 | ||||
| 		local meta = u_skins.meta[u_skins.u_skins[name]] | ||||
| 		if meta then | ||||
| 			if meta.name then | ||||
| 				formspec = formspec .. "label[2,.5;Name: "..meta.name.."]" | ||||
| 			if meta.name ~= "" then | ||||
| 				formspec = formspec.."label[2,.5;Name: "..minetest.formspec_escape(meta.name).."]" | ||||
| 			end | ||||
| 			if meta.author then | ||||
| 				formspec = formspec .. "label[2,1;Author: "..meta.author.."]" | ||||
| 			if meta.author ~= "" then | ||||
| 				formspec = formspec.."label[2,1;Author: "..minetest.formspec_escape(meta.author).."]" | ||||
| 			end | ||||
| 			if meta.description then | ||||
| 				formspec = formspec .. "label[2,1.5;"..meta.description.."]" | ||||
| 			if meta.license ~= "" then | ||||
| 				formspec = formspec.."label[2,1.5;License: "..minetest.formspec_escape(meta.license).."]" | ||||
| 			end | ||||
| 			if meta.comment then | ||||
| 				formspec = formspec .. 'label[2,2;"'..meta.comment..'"]' | ||||
| 			if meta.description ~= "" then --what's that?? | ||||
| 				formspec = formspec.."label[2,2;Description: "..minetest.formspec_escape(meta.description).."]" | ||||
| 			end | ||||
| 		end | ||||
|  | ||||
| 		formspec = formspec .. "button[.75,3;6.5,.5;u_skins_page_0;Change]" | ||||
| 		local page = 0 | ||||
| 		if u_skins.pages[name] then | ||||
| 			page = u_skins.pages[name] | ||||
| 		end | ||||
| 		formspec = formspec .. "button[.75,3;6.5,.5;u_skins_page$"..page..";Change]" | ||||
| 		return {formspec=formspec} | ||||
| 	end, | ||||
| }) | ||||
| @@ -89,67 +79,79 @@ unified_inventory.register_button("u_skins", { | ||||
| }) | ||||
|  | ||||
| -- Create all of the skin-picker pages. | ||||
| for x = 0, math.floor(#u_skins.list/16+1) do | ||||
| 	unified_inventory.register_page("u_skins_page_"..x, { | ||||
| 		get_formspec = function(player) | ||||
| 			page = u_skins.pages[player:get_player_name()] | ||||
| 			if page == nil then page = 0 end | ||||
| 			local formspec = "background[0.06,0.99;7.92,7.52;ui_misc_form.png]" | ||||
| 			local index = 0 | ||||
| 			local skip = 0 -- Skip u_skins, used for pages | ||||
| 			-- skin thumbnails | ||||
| 			for i, skin in ipairs(u_skins.list) do | ||||
| 				if skip < page*16 then skip = skip + 1 else | ||||
| 					if index < 16 then | ||||
| 						formspec = formspec .. "image_button["..(index%8)..","..((math.floor(index/8))*2)..";1,2;"..skin | ||||
| 						if u_skins.get_type(skin) == u_skins.type.MODEL then | ||||
| 							formspec = formspec .. "_preview" | ||||
| 						end | ||||
| 						formspec = formspec .. ".png;u_skins_set_"..i..";]" | ||||
| 					end | ||||
| 					index = index +1 | ||||
| 				end | ||||
|  | ||||
| u_skins.generate_pages = function(texture) | ||||
| 	local page = 0 | ||||
| 	local pages = {} | ||||
| 	for i, skin in ipairs(u_skins.list) do | ||||
| 		local p_index = (i - 1) % 16 | ||||
| 		if p_index == 0 then | ||||
| 			page = page + 1 | ||||
| 			pages[page] = {} | ||||
| 		end | ||||
| 		pages[page][p_index + 1] = {i, skin} | ||||
| 	end | ||||
| 	local total_pages = page | ||||
| 	page = 1 | ||||
| 	for page, arr in ipairs(pages) do | ||||
| 		local formspec = "background[0.06,0.99;7.92,7.52;ui_misc_form.png]" | ||||
| 		local y = -0.1 | ||||
| 		for i, skin in ipairs(arr) do | ||||
| 			local x = (i - 1) % 8 | ||||
| 			if i > 1 and x == 0 then | ||||
| 				y = 1.8 | ||||
| 			end | ||||
| 			-- prev next page buttons | ||||
| 			if page > 0 then | ||||
| 				formspec = formspec .. "button[0,4;1,.5;u_skins_page_"..(page-1)..";<<]" | ||||
| 			else | ||||
| 				formspec = formspec .. "button[0,4;1,.5;u_skins_page_"..page..";<<]" | ||||
| 			formspec = (formspec.."image_button["..x..","..y..";1,2;" | ||||
| 				..skin[2].."_preview.png;u_skins_set$"..skin[1]..";]") | ||||
| 		end | ||||
| 		local page_prev = page - 2 | ||||
| 		local page_next = page | ||||
| 		if page_prev < 0 then | ||||
| 			page_prev = total_pages - 1 | ||||
| 		end | ||||
| 		if page_next >= total_pages then | ||||
| 			page_next = 0 | ||||
| 		end | ||||
| 		formspec = (formspec | ||||
| 			.."button[0,3.8;1,.5;u_skins_page$"..page_prev..";<<]" | ||||
| 			.."button[.75,3.8;6.5,.5;u_skins_null;Page "..page.."/"..total_pages.."]" | ||||
| 			.."button[7,3.8;1,.5;u_skins_page$"..page_next..";>>]") | ||||
| 		 | ||||
| 		unified_inventory.register_page("u_skins_page$"..(page - 1), { | ||||
| 			get_formspec = function(player) | ||||
| 				return {formspec=formspec} | ||||
| 			end | ||||
| 			formspec = formspec .. "button[.75,4;6.5,.5;u_skins_page_"..page..";Page "..(page+1).."/"..math.floor(#u_skins.list/16+1).."]" -- a button is used so text is centered | ||||
| 			if index > 16 then | ||||
| 				formspec = formspec .. "button[7,4;1,.5;u_skins_page_"..(page+1)..";>>]" | ||||
| 			else | ||||
| 				formspec = formspec .. "button[7,4;1,.5;u_skins_page_"..page..";>>]" | ||||
| 			end | ||||
| 			return {formspec=formspec} | ||||
| 		end, | ||||
| 	}) | ||||
| 		}) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| -- click button handlers | ||||
| minetest.register_on_player_receive_fields(function(player,formname,fields) | ||||
| minetest.register_on_player_receive_fields(function(player, formname, fields) | ||||
| 	if fields.u_skins then | ||||
| 		unified_inventory.set_inventory_formspec(player,"craft") | ||||
| 		unified_inventory.set_inventory_formspec(player, "craft") | ||||
| 		return | ||||
| 	end | ||||
| 	for field, _ in pairs(fields) do | ||||
| 		if string.sub(field,0,string.len("u_skins_set_")) == "u_skins_set_" then | ||||
| 			u_skins.u_skins[player:get_player_name()] = u_skins.list[tonumber(string.sub(field,string.len("u_skins_set_")+1))] | ||||
| 		local current = string.split(field, "$", 2) | ||||
| 		if current[1] == "u_skins_set" then | ||||
| 			u_skins.u_skins[player:get_player_name()] = u_skins.list[tonumber(current[2])] | ||||
| 			u_skins.update_player_skin(player) | ||||
| 			unified_inventory.set_inventory_formspec(player,"u_skins") | ||||
| 		end | ||||
| 		if string.sub(field,0,string.len("u_skins_page_")) == "u_skins_page_" then | ||||
| 			u_skins.pages[player:get_player_name()] = tonumber(string.sub(field,string.len("u_skins_page_")+1)) | ||||
| 			unified_inventory.set_inventory_formspec(player,"u_skins_page_"..u_skins.pages[player:get_player_name()]) | ||||
| 			unified_inventory.set_inventory_formspec(player, "u_skins") | ||||
| 		elseif current[1] == "u_skins_page" then | ||||
| 			u_skins.pages[player:get_player_name()] = current[2] | ||||
| 			unified_inventory.set_inventory_formspec(player, "u_skins_page$"..current[2]) | ||||
| 		end | ||||
| 	end | ||||
| end) | ||||
|  | ||||
| -- set defaults | ||||
| -- Change skin on join - reset if invalid | ||||
| minetest.register_on_joinplayer(function(player) | ||||
| 	if not u_skins.u_skins[player:get_player_name()] then | ||||
| 		u_skins.u_skins[player:get_player_name()] = "character_1" | ||||
| 	local player_name = player:get_player_name() | ||||
| 	if not u_skins.is_skin(u_skins.u_skins[player_name]) then | ||||
| 		u_skins.u_skins[player_name] = "character_1" | ||||
| 	end | ||||
| 	u_skins.update_player_skin(player) | ||||
| end) | ||||
|  | ||||
| u_skins.generate_pages() | ||||
| u_skins.load_players() | ||||
| @@ -1,15 +0,0 @@ | ||||
| u_skins.meta = {} | ||||
| for _, i in ipairs(u_skins.list) do | ||||
| 	u_skins.meta[i] = {} | ||||
| 	local f = io.open(u_skins.modpath.."/meta/"..i..".txt") | ||||
| 	local data = nil | ||||
| 	if f then | ||||
| 		data = minetest.deserialize("return {"..f:read('*all').."}") | ||||
| 		f:close() | ||||
| 	end | ||||
| 	data = data or {} | ||||
| 	u_skins.meta[i].name = data.name or "" | ||||
| 	u_skins.meta[i].author = data.author or "" | ||||
| 	u_skins.meta[i].description = data.description or nil | ||||
| 	u_skins.meta[i].comment = data.comment or nil | ||||
| end | ||||
| @@ -1,3 +1,3 @@ | ||||
| name = "Sam 0", | ||||
| author = "Jordach", | ||||
| comment = "CC BY-SA 3.0", | ||||
| Sam 0 | ||||
| Jordach | ||||
| CC BY-SA 3.0 | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Tuxedo Sam", | ||||
| author = "Jordach", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Ladyvioletkitty", | ||||
| author = "lordphoenixmh", | ||||
| comment = "CC BY 4.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "4°district", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Chop", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Franklin", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Trevor", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Bart Simpson", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Creeper", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "War Machine", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Gangnam Style", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Sonic The Hedgehog", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Semmett9", | ||||
| author = "Infinatum", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Charizard", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Scarlet Spider-man", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Ferdi Napoli", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Finn The Adventured", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Jake", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Ferdi Napoli Reserve", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Joker", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Bleau Steve", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Deadpool Bleau", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Seth Rollins", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "John", | ||||
| author = "Evergreen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Daffy Duck", | ||||
| author = "LuxAtheris", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "DareDevil", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Clone", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Banana Guy", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Rubber", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Gothic Sam", | ||||
| author = "GingerHunter797", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Tails", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Aguia Explorer", | ||||
| author = "Davizinho", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Toad", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "oOChainLynxOo", | ||||
| author = "oOChainLynxOo", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "rotor112", | ||||
| author = "rotor112", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "amazing spiderman", | ||||
| author = "mateus", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "black spiderman", | ||||
| author = "mateus", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Sam Mese Tee", | ||||
| author = "oOChainLynxOo", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Jesus", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Wires", | ||||
| author = "Geopbyte", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Vector", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Fire Mario", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "skin minecraft", | ||||
| author = "lestouem", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "santa", | ||||
| author = "https://dl.dropbox.com/s/cs0vhq8kkzpcvre/santa.zip?dl=1", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "PenguinDad", | ||||
| author = "PenguinDad", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Older Man Sam", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Army", | ||||
| author = "Ragnar", | ||||
| comment = "CC BY-NC-SA 4.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "New Ferdi Napoli Skin", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Mcc457", | ||||
| author = "Ferdi Napoli", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Jan", | ||||
| author = "Jan", | ||||
| comment = "CC BY 4.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "PilzAdam", | ||||
| author = "PilzAdam", | ||||
| comment = "CC BY 4.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Renan123", | ||||
| author = "sou o melhor", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "PenguinDad with Cape", | ||||
| author = "PenguinDad", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Adarqet", | ||||
| author = "Adarqet", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Adarqet(Cape)", | ||||
| author = "Adarqet", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "wither", | ||||
| author = "mario alberto", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "G-Robo v5000", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Cywalk Sam", | ||||
| author = "w_laenger", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "rantathe", | ||||
| author = "ranta", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "ranta mk 2", | ||||
| author = "ranta", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "jojoa1997", | ||||
| author = "jojoa1997", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Zenohelds default player", | ||||
| author = "sdzen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Sdzen", | ||||
| author = "sdzen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "horrible spring sdzen", | ||||
| author = "sdzen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +1,3 @@ | ||||
| name = "Sam I", | ||||
| author = "Jordach", | ||||
| comment = "CC BY-SA 3.0", | ||||
| Sam I | ||||
| Jordach | ||||
| CC BY-SA 3.0 | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "B", | ||||
| author = "sdzen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Demon Farmer Sam (ray8888 server)", | ||||
| author = "sdzen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Tree", | ||||
| author = "Evergreen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Interstella 5555 guitarist", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Brett Favre", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Summer Sam", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Female Sam II", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Space Sam", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Tree", | ||||
| author = "Evergreen", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "steel man", | ||||
| author = "rotor112", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Sam II", | ||||
| author = "Jordach", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "philipbenr", | ||||
| author = "philipbenr", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "vf", | ||||
| author = "vf", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Summer", | ||||
| author = "lizzie", | ||||
| comment = "CC BY-NC-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "jojoa1997 2", | ||||
| author = "jojoa1997", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "warrior", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "NERD", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "pj time", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "adventure", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "marthon", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "DASHING", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "Zeg9", | ||||
| author = "Zeg9", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "ALTNINJA", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "NK", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "BORN", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "DJSTEREO", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "aaaaaaaaaahh", | ||||
| author = "DJOZZY", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "villiantest", | ||||
| author = "marshrover", | ||||
| comment = "CC BY-SA 3.0", | ||||
| @@ -1,3 +0,0 @@ | ||||
| name = "villiantest II", | ||||
| author = "marshrover", | ||||
| comment = "CC BY-SA 3.0", | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user